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);
}