↑Arduino化したATtiny85がLEDの点滅用スケッチを実行
「書き込み装置を使って書き込む」
ATtiny85にブートローダーを書き込みArduino化ができましたので、次はスケッチ(プログラム)の書き込みと実行です。
スケッチの書き込みと実行
●要点
要点は、ATtiny85はArduinoと違ってUSBポートがなく直接パソコンに接続ができないので、ブートローダーの書き込み同様スケッチも書き込み装置を使うことになる点です。ちなみに、私の場合はArduinoを書き込み装置として使う方法ではブートローダーの書き込みに失敗していますので、スケッチも書き込み専用のUSBaspを使うこととします。
ちなみに、スケッチの書き込みはArduinoの通常のスケッチの書き込みと異なり、[スケッチ]から「書き込み装置を使って書き込む」を実行することとなります。USBaspという書き込み装置を使うわけですが、ブートローダーの書き込みでは[ツール]から[書き込み装置]を指定し、[ブートローダを書き込む]をクリックだったので、少々紛らわしいことに注意を要します。
話は以上に尽きるのですが、一応スクリーンショットも伏して手順をメモします。
●USBaspを使ったスケッチの書き込み
USBaspとパソコン、ATtiny85との接続はブートローダーの書き込み時と全くかわりません。そのまま使うことを前提に話を進めます。必要な場合は前号を参照ください。
書き込むスケッチは、ATtiny85がArduinoのとして動くかどうかを確かめるためですから、当然ながらLチカになります。参考にしたサイトにならい、Arduino IDEに参考例として含まれるBlinkを流用し外部LEDの点灯用に修正します。ATtiny85にはArduinoのようにLEDを内蔵していませんから。
LEDは、後でATtiny85の3ピンにつなぎ、適当な抵抗を付けることにします。
それでは、スケッチの参考例から目的のスケッチを開くことにします。
Arduino IDEのウインドウ画面上部のメニューから[ファイル]をクリック、開いたドロップダウンメニューの中の[スケッチ例]をクリックし、次に開いた「付属のスケッチ例」のリストにある[01.Basics]をクリックして、あらたなリストから[Blink]を選びます。
開いた「Blink」のエディット画面で、スケッチに修正を加えます。28行目の「pinmode(LED_BUILTIN、OUTPUT);」と33行目の「digitalWrite(LED_BUILTIN, HIGH);」、35行目の「digitalWrite(LED_BUILTIN, LOW);」のいずれも「LED_BUILTIN」の部分を「4」に書き換えます。
スケッチが修正できたら、上部のメニューの[スケッチ]をクリックし、次いで「書き込み装置を使って書き込む」を選択します(通常、Arduinoでスケッチを書き込む方法とは異なっていることに注意!)。
すると、コンパイルと書き込みが行われ、問題がなければ「完了」が表示されます。
上はWindows、下にUbuntuの場合のスクリーンショットも参考に掲載します。Arduino IDEのバージョンの違いでしょうか、少し違いがあります。
●LEDの点灯
スケッチを書き込んだATtiny85を取り出し、その3ピンにLEDをつないで適当な抵抗も付けて給電できるようにしてやります。
電気が流れると、無事LEDが点滅しだしました。
点滅のパターンを変えたスケッチに修正して改めてATtiny85に書き込み直したところ、新たな点滅パターンで点滅しだしましたからフロックではありません。Windows11、Ubuntu22.04LTSのいずれで書き込んだものでも光ってくれました。
Attiny85 を使って何を作ろうか、楽しみになってきました。
●ブートローダーがなくてもスケッチが実行できる!
さて、前回冒頭でふれたブートローダーがなくてもスケッチが実行できるかについて、ATtiny85で試してみました。
ATtiny85にブートローダーがインストールされていなくても、スケッチを書き込み実行することは可能です。LEDの点滅を実行させてみて確認できました。
ただし、ブートローダーをインストールしてある場合と較べて点滅の間隔は長く、あるサイトで見かけたように「ブートローダーを書き込んでいない場合は不安定」なのかもしれません。
《主な参考サイト》
《物品購入先》










