Mira&Luna's nursery lab

旅乙女と発明娘の子供部屋

ATtiny44を使えるようにする。

Mira


Arduinoを使って、ちっちゃいコンピュータ「ATtiny44🍰」にプログラムを書き込む🍓


🍰 ATtiny44

上の画像が「ATtiny44🍰」というマイクロコントローラ(コンピュータ)。
あだ名はシフォン
プログラムを書き込めば、プログラム通りに電子パーツを制御することができちゃう。だからこの子をブレインとしたいろいろなガジェットを作れちゃう。わくわく。

私は去年の秋頃に秋月電子通商さんで買ったんだけど、今は秋月さんでは在庫切れみたい。価格は110円。ダイソーの商品と一緒🛒なコンピュータ。すごい。やすい。えらい🌹

スペックは以下。

🍪 コアサイズ:8bit
🍪 Clock:20MHz
🍪 プログラムメモリ:4kB
🍪 EEPROM:256B
🍪 RAM:256B
🍪 ピンの数:14本(Arduinoマイコン「みつは(ATmega328)」の半分)

メモリが4kBあるのがいいわね。大きさは"みつは"の半分。みつは姉妹の可愛い妹といったところね。

☕ みつはたち

ATtiny44"シフォン"🍰 のテーマソング
Snail's House(Ujico*)さんの「Chiffon」↓

www.youtube.com



🍰 シフォンにプログラムを書き込む手順

. ArduinoArduino IDEを手に入れる。
. "ATTinyCore"をArduinoIDEにインストールする。
. ArduinoにArduinoISPを書き込む。
. 配線をする。
. ブートローダをシフォンに書き込む。
. プログラムをシフォンに書き込む。

              と、いう手順で書き込みをします。


. ArduinoとArduinoIDEを手に入れる。

🐪アマゾンのリンクです。  🐫電子工作パーツが付いた互換機キット
       

ArduinoIDE(開発環境)は公式から無料でダウンロードします。
リンク→「Arduino公式ページ

参考📚→ 
www.youtube.com


. "ATTinyCore"をArduino IDEにインストールする。

Arduino IDEでシフォン(ATtiny44)を扱えるようにするため、ATtiny44の開発環境パッケージをArduino IDEにインストールします。

パッケージの名前は「ATTinyCore」。作者はSpence Kondeさん。
Thank you for your great project. →GitHubの<ATtinyCoreのページ

ATTinycoreのページに行くと、READMEの中に「Installation」というところがあります。ここに入ると ↓ 下のURLが置かれています。
     http://drazzy.com/package_drazzy.com_index.json

以下の手順でATtiny44(とたくさんのTinyシリーズ)をIDEのボードに加えます。

 上のURLをコピーします。
 Arduino IDE を開き、「ファイル」→「環境設定」と進み、
  「追加のボードマネージャのURL」にコピーを貼って「OK」を押します。
 「ツール」→「ボード」→「ボードマネージャ」と進み、
  SpenceKondeさんの「ATTinycore」を見つけてインストールします。
 一度 Arduino IDE を閉じ、開き直します。

これで ATtinyシリーズがボードに加わります。


. ArduinoにArduinoISPを書き込む。
ArduinoにArduinoISPというスケッチを書き込むと、Arduinoマイコンにプログラムを書き込む「書込み装置」に変身します。方法は以下。

 Arduino IDE を起動します。「ファイル」→「スケッチ例」→「11. ArduinoISP」と進み、「ArduinoISP」というスケッチを開きます。
その「ArduinoISP」スケッチを Arduino に書き込みます。

これで Arduino が書込み装置に変身しました。


Tea Time ☕

                        Mira & Luna's nursery lab


. 配線をする。

この配線図のように配線をします。コンデンサは10μF程度(向きに注意。白いマイナス帯がGND)。


. ブートローダをシフォンに書き込む。

これでほとんどの準備はできました。プログラムを書き込む前にブートローダというものを書き込んで、ヒューズ設定を行います。
Arduino IDE を開いて、「ツール」→「ボード」→「ATTinyCore」→「ATtiny24/44/84(a)(No bootloader)」を選びます。
そしてまた「ツール」を開くとボードが「ATtiny24/44/84(a)(No bootloader)」になっているはず。
「Chip」を「ATtiny44(a)」にします。
「Clock」は「8MHz(internal)」がおすすめ。("external"は外付け発振器が必要。)
「書込装置」を「Arduino as ISP(ATTinyCore)」にします。

そして「ブートローダを書き込む」でブートローダを書き込みます。
ブートローダを書き込まずにプログラムを書き込むこともできるけど、動作速度が遅くなるなどして正常に動作しないことがあるの。
もし書き込みエラーが出たら、「配線を見直す」「「ツール」の選択肢を見直す」「気を取り直して明後日またやり直してみる」というようなことを試してみてくださいね。

🍰 シフォンへのプログラム(ブートローダ)の書き込み


. プログラムをシフォンに書き込む。

いよいよプログラムを書き込みます。
たとえばこんな"Lチカ"プログラムとか🍅

void setup() {
  pinMode(4, OUTPUT);
}

void loop() {
  for(int i=0;0<5;i++){
  digitalWrite(4, HIGH); 
  delay(100); 
  digitalWrite(4, LOW); 
  delay(1000);        
  if(i==6)break; 
  }
  for(int j=0;0<5;j++){
  digitalWrite(4, HIGH);
  delay(1000);
  digitalWrite(4, LOW);
  delay(100);   
  if(j==6)break;      
  }
}

Arduino IDEの「ツール」のボードを「ATtiny24/44/84(a)(No bootloader)」から「ATtiny44/84(a)(Optiboot)」に替えます。そしてその他の設定を、ブートローダを書き込んだ時の設定にします。
これで準備完了。あとは「マイコンボードに書き込む」ボタンを押すだけ。

(上のプログラムは、4番ピンとGNDの間に330Ωの抵抗器とLEDを直列につなぐと動作します。4番ピンは前述の配線図の、シフォン上側の、右から2番目のピン。紫色の配線がされているピンです。)

🍰 シフォン(ATtiny44)でLチカできた🎉

おめでとう!
みつは(ATmega328)姉妹にシフォン(ATtiny44)が加わりました🍰


<他のみつは姉妹の取り扱い方>
miraluna.hatenablog.com


🌼  🌼  🌼  🌼  🌼  🌼  🌼  🌼  🌼  🌼  🌼  🌼

Arduino技術🦄 ArduinoISPには確認ランプ機能があった😲 書き込みシールドを作るなら、LEDも実装しましょ🍓

Mira

🍵Arduino便利小話🍵
書込み装置ArduinoISPの状態をLEDで知る。

電子工作の主人公と言っても過言ではくらい電子工作には欠かせないマイクロコントローラ(マイクロコンピュータマイコン)。LEDを点灯させたり、ブザーを鳴らしたり、モーターを動かしたり、いろんなパーツを制御するちっちゃなコンピュータ。そのマイコンを動かすためには、どんなふうにパーツを制御するのかを書いたプログラムをマイコンの中に書き込まなくちゃいけないよね。そこでパソコンとマイコンをつないでプログラムの書き込みをするための「書込み装置」が必要になります。

🍡 マイクロコンピュータマイコン)たち

書込み装置といっても、特別すごい装置を用意するわけではなくて、Arduinoを書込み装置に変身させます。

Arduinoには「ArduinoISP」というスケッチ(Arduinoのプログラム)が"スケッチ例"としてすでに用意されていて、そのスケッチをArduinoに書き込めば、Arduinoが"マイコンにプログラムを書き込むための書込み装置"になります。書込み装置の名前は「ArduinoISP」です。

このArduinoISPを使って、今までにもいくつかのマイコンにプログラムを書き込んできました。
🍅プログラムの書き込み方法は、↓ こちら🍅
miraluna.hatenablog.com
miraluna.hatenablog.com
miraluna.hatenablog.com


この記事では、「ArduinoISP」の知られざる(!?)便利な使い方を紹介します。
以前に書いた記事「AT90S2313(虹子🌈)」を使おうとして失敗したときのエラーをまとめました🍭のコメント欄で「Far side of the moon」さんに教えてもらったものです。
ありがとうございます。

Arduinoのスケッチ例にある「ArduinoISP」のスケッチを見てみると、冒頭部分にはArduinoISPの説明がコメントとして書かれています。その中の33行目から36行目には次のように書かれています。

33 // Put an LED (with resistor) on the following pins:
34 // 9: Heartbeat - shows the programmer is running
35 // 8: Error - Lights up if something goes wrong (use red if that makes sense)
36 // 7: Programming - In communication with the slave

意味は

33 //次のピンにLED(抵抗付き)を配置します。
34 // 9:ハートビート-プログラマーが実行中であることを示します
35 // 8:エラー-問題が発生した場合に点灯します(意味がある場合は赤を使用してください)
36 // 7:プログラミング-スレーブと通信中

書込み装置になったArduinoの9,8,7のピンに(300Ωくらいの抵抗器を直列につないで)LEDをつなぐと、それぞれが確認ランプの役割になって、ArduinoISPの状態が分かるようになります。便利ですね。

🍰 LEDをつないだところ

7ピンの「プログラミング」というのは「書き込み中」という意味で、スレーブというのはここでは書き込み先のマイコンのことね。
じわ~っと明るくなったり暗くなったりする「ハートビート」でLEDを光らせたいときなんかは、プログラムを書かなくてもArduinoISPのプログラムですぐにできちゃいます💗💛💗💛

🔥 エラーが出ると、オレンジLEDが光る。 💻 書き込み中は緑のLEDが光る。

💻 マイコンにスケッチ書き込み中

実際どんなふうにLEDが光るのか、短い動画にしたのでぜひ見ていってくださいませ。
🍅ArduinoISPにLEDをつないだ動画🍅

www.youtube.com

ArduinoISPからマイコンにプログラムを書き込むためには配線が必要なんだけど、配線の手間を省くためにシールド(あらかじめ配線をした基板)を作る人も多いと思う。せっかくシールドを作るなら、LEDも配置しておくと便利ね。私も今度LED付きの新しいシールド作ろう🍓


ミラでした。
Mira


<電子工作・Arduino界隈>
🚗 電子工作スターターキット 🔥 はんだごて(温度調整) 📚 まんが『ハルロック』
             

ATtiny13で動かす"Simon Game"のプレイ動画🍓

f:id:miraluna:20210920081120j:plain:w200 Mira


瞳子(とうこ)」ことATtiny13Aを使った「Simon Game」って、こういうゲーム🎮
プレイ動画を作ってみました🍦🐰

             <Simon Game>
f:id:miraluna:20191219175458j:plain


Simon game(サイモンゲーム)は手軽にできる記憶ゲーム。LEDがランダムで光るから、それと同じ色のボタンを押す。うまくいくと光るLEDが一つずつ増えていくの。さあ、いくつ覚えられるかな? っていうゲーム。

このプロジェクトを作ったのはチェコのVojtakさん。Děkuji, Mr.Vojtak.
Hackadayというポータルサイトで「1KByteチャレンジ」の企画で作った作品らしいです。1KByteチャレンジというのは、ATtiny13Aのような1KByteのマイコンに収まるプログラムのコンテストみたいなものだと思います。
Vojtakさんのページ ↓
hackaday.io


ナーサリーラボでも以前に作り方を紹介したんだけど、TinyJoypad自作Arduboyみたいに液晶画面があるわけじゃないから、どんなゲームか伝わりにくかったと思うの。
<作り方紹介の記事>
🍓ATtiny13で動かすSimonGameの作り方<前編>🍓
🍓ATtiny13で動かすSimonGameの作り方<後編>🍓
※ATtiny13Aの現在の価格は、タイトルのように50円ではありません🍘

そこで今回、いつものようにカタリにゲームで遊んでもらって、その様子を動画にしました。これでサイモンゲームがどんなゲームなのか分かってもらえるに違いないわ。

🐤ところで、動画の中でカタリの持っているその持ち方、私がイメージしていたのと上下逆なんだけどな。
まぁ、どっちでもいいんだけどね🐈


Simon Game プレイ動画

www.youtube.com


シンプルな回路だし安いパーツだけで作れるから、電子工作・はんだ付けの入門にぴったり。
はんだごてを片手に、一緒に楽しい電子工作しませんか?
作製・紹介はミラでした。(∂, ∂🎀/Byebye
f:id:miraluna:20180105114819j:plain:w200 Mira



<電子工作入門グッズ>
🐤はんだごて    🐤Arduino     🐤耐熱マット    🐤はんだ