AVR ATtiny13aマイコンをArduinoIDEで使う方法について紹介します。
前提条件
前回の記事で紹介したようにAVR TINYシリーズはプログラムの書き込みに書き込み機(プログラマ)が必要です。本記事では書き込み機の準備から解説します。前提条件は以下のようになっています。
- 書き込み機としてProMicro互換機を使用
- ArduinoIDEのバージョンは1.8.16
- 開発PCはWindows11
- とりあえず動作確認のためのLチカまで
ArduinoであればProMicroでなくてもOKですが、書き込み時の設定が微妙に違いますのでご注意ください。
書き込み機(プログラマ)の準備
ProMicroへのArduinoISPプログラムの書き込み
まずはProMicroへの書き込み環境の整備が必要です。ProMicro以外のArduinoを使用している場合や、すでに設定済みの場合は必要ありません。
[ファイル]-[環境設定]-[追加ボードマネージャのURL]で以下のアドレスを追加します。(先頭の!は含めません)
! https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
[ツール]-[ボード]-[ボードマネージャ]でSparkFun AVR Boardsをインストールします。
[ツール]-[ボード]-[SparkFun AVR Boards]-[SparkFun Pro Micro]を選択。
[ツール]-[プロセッサ]で使用するProMicroの動作電圧/周波数を設定してください。
ATmega32U4 3.3V 8MHz
ATmega32U4 5V 16MHz
どちらかを選択。promicro互換品の場合は5V 16Mhzであることが多いはずです。が、ここで間違ってしまうとproMicroのシリアルポートがPCから認識されなくなるので絶対によく確認してください。
[ファイル]-[スケッチ例]-[ArduinoISP]-[ArduinoISP]で書き込み機のスケッチを開いてください。
[スケッチ]-[マイコンボードに書き込む]でOKです。
書き込み機とtiny13aの接続
以下のように接続します。電源(+/GND)以外に通信のためのMOSI,MISO,SCLとリセットを接続します。データシートをよく読んで接続してください。
ProMicro(書き込み機) | ATtiny13a/85 | |
---|---|---|
電源(+) | VCC | 8番ピン/VCC |
GND | GND | 4番ピンGND |
RESET | GPIO10 | 1番ピン/RESET |
MOSI | GPIO16/MOSI | 5番ピン/PB0/MOSI |
MISO | GPIO14/MISO | 6番ピン/PB1/MISO |
SCL | GPIO15/SCLK | 7番ピン/PB2/SCK |
tiny13aのためのArduinoIDEの設定
動作確認用スケッチ例
スケッチ自体の書き方は通常のArduinoと特別な違いはありません。
#define LED 0 void setup() { pinMode(LED, OUTPUT); } void loop() { digitalWrite(LED, HIGH); delay(1000); digitalWrite(LED, LOW); delay(2000); }
書き込み設定
[ファイル]-[環境設定]-[追加ボードマネージャのURL]で以下のアドレスを追加。
[ツール]-[ボード]-[ボードマネージャ]からbitDuino13をインストール。
[ツール]-[ボード]-[bitDuino13]-[ATtiny13(bitDuino13)]でボードを選択。
[ツール]-[ボード]-[書き込み装置]-[Arduino as ISP(ATmega32u4)]で書き込み装置を指定。
ProMicroもしくはその互換機やArduinoLeonardoなど搭載マイコンがmega32u4の場合はArduino as ISP(ATmega32u4)
mega328を搭載したその他多くのArduino(もしくはその互換機)の場合はArduino as ISPを選択してください。
また、プログラマのCOMポートを選択、Clockはデフォルト設定になっているはずの9.6MHzであることを確認してください。
[スケッチ]-[書き込み装置を使って書き込む]でOK。tiny13aの5番ピン(PB0)に抵抗とLEDを直列に接続すればLチカ完成です。
まとめとおまけ
以上がArduinoIDE環境でtiny13aを使用するための手順です。tiny13aは最近は使用している人が少ないためか情報が少ないです。Arduinoではなくてもメーカーが配布しているAVRStudioでもC言語を使ってプログラムが可能ですが、慣れてしまったArduinoIDEで開発したいですよね。
下記はArduinoではないAVRマイコンプログラミングについての書籍です。主にC言語が使われているのでArduinoIDE環境へのコピペはできませんが、PWMのためのレジスタ設定などが書かれているのでAVRマイコンを理解するにはとても良いです。
試しながら学ぶAVR入門―マイコンの基礎と電子工作とWindowsアプリケー (Skill up my computerシリーズ)
次回はtiny85の予定。
コメント