Mac
Arduino
Digispark

Lチカ with digispark(arduino互換) on mac osx10.11

More than 1 year has passed since last update.

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)

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

https://youtu.be/mt00UEgmMPw

digispark自体のLEDのLチカ(fade)

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

https://youtu.be/rUTGhtFgdqQ

外部LEDのLチカ

外部LEDのLチカ.
const int ledPin = 2; 

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

void loop(){
 digitalWrite(ledPin, HIGH);
 delay(1000);
 digitalWrite(ledPin, LOW);
 delay(1000);
}

IMG_4491.jpg

https://youtu.be/ZXsrJFSoGlY