2021-08-16
Arduino, Electronics
Lチカ with digispark(arduino互換) on mac osx10.11
HiLetgo Digispark Kickstarter ATTINY85 Digispark 超小型Arduino互換 1コ 220円 http://amzn.asia/eCgtpDH を購入したのでLチカしました.
amazonではHiLetgoという中国の会社が取り扱っているみたいですが, モノとしてはdigistumpというところのdigisparkというものらしいです. ATtiny85 http://www.microchip.com/wwwproducts/en/ATtiny85 というものをつかってるそうで, 回路は公開されているそうなので, 他の会社が安くコピー品を出しているという状況のようです.
基本的にはArduino likeに開発ができるようでこの小ささは魅力です. (8pino:https://www.switch-science.com/catalog/2108/ の方が小さそうですが, こちらは販売店が見つからなかったので...)
arduino IDEが使えますが, 初めての使用には少し準備が必要だったり, 勝手が違うところがあったので記録として書かせていただきます.
大まかには
- arduino IDEにdigispark用のアドオン(?)をインストールする必要がある
- USB3.0だとダメかも? USB2.0の延長ケーブルを噛ませて使用するとうまく書き込めました
- compile後, hardに書き込むときは, 「hardwareを抜いた状態で待機」 > 「hardwareに書き込みボタンを押す」 > 「最大60秒のhardware認識待ち状態になる」 > 「hardwareを差す」 > 「書き込みができる」 > 「完了」という流れ.
です.
参考
こちらを参考にさせていただきました. http://digistump.com/wiki/digispark/tutorials/connecting http://shokai.org/blog/archives/8665 https://github.com/digistump/DigistumpArduino/issues/41
環境
- mac osx 10.11.6 elcapitan
- MacBook Pro (Retina 13-inch、Early 2015)
- digispark: http://amzn.asia/eCgtpDH
- aruduino IDE 1.6.5(1.6.5+を推奨しているみたいですが, 他のver.でも大丈夫そうです. addonのインストールは1.6.1でやりました)
準備
addonのインストール
http://digistump.com/wiki/digispark/tutorials/connecting
を参考に
file > preference > Additional Boards Manager URLsに
http://digistump.com/package_digistump_index.jsonを追加して,
Digistump AVR Boardsをinstallする
arduino IDEの設定
ツール>ボードをDigispark (Default - 16.5mhz)に設定するポートは未指定の状態にする書込装置はAVRISP mkIIに設定する(aruduino unoのときから変わってない)
書き込み
PCによってはUSB3.0だとダメかもしれません. 私(mac)は右側のUSBポートにUSB2.0の延長ケーブルを噛ませて使用するとうまく書き込めました.
書き込み手順:
検証でcode自体が通るものであることを確認しておく- hardwareを抜いた状態で待機
マイコンボードに書き込むボタンを押す- 最大60秒のhardware認識待ち状態になる
- hardwareを差す
- 書き込みができる
- 完了!! です.
codes & results
http://shokai.org/blog/archives/8665 の方のものを参考にしたdigispark自体についているLEDを点灯するcodes 2つと, 自分よく試す, pinで外のLEDを光らせるcodeです.
digispark自体のLEDのLチカ(blink)
bool led_stat = false;
void setup(){ pinMode(0, true); pinMode(1, true);}
void loop(){ digitalWrite(0, led_stat); digitalWrite(1, !led_stat); led_stat = !led_stat; delay(500);}
digispark自体のLEDのLチカ(fade)
void setup(){}
void loop(){ for(char i = 0; i < 26; i++){ analogWrite(0, i*10); analogWrite(1, i*10); delay(20); } for(char i = 25; i > 0; i--){ analogWrite(0, i*10); analogWrite(1, i*10); delay(20); }}
外部LEDのLチカ
const int ledPin = 2;
void setup() { pinMode(ledPin, OUTPUT);}
void loop(){ digitalWrite(ledPin, HIGH); delay(1000); digitalWrite(ledPin, LOW); delay(1000);}
