SSブログ
前の10件 | -

4連8x8ドットマトリックスLEDで遊ぶ [Arduino]

quadmatrix-1.jpg

だいぶ前に購入した4連8x8ドットマトリックスLED。
74HC595のようにshiftOutでデータをどんどん送りだすだけだと思っていたらそうではなかった。
MAX7219という7seg(+ドットで計8個の)LEDを8連にしたものを操作するICを8x8ドットマトリックスLEDに応用しているみたい。

Webを調べていると、基本的にはライブラリーを使うらしい。

GitHub - MajicDesigns_MD_MAX72XX LED Matrix Library
https://github.com/MajicDesigns/MD_MAX72XX
GitHub - MajicDesigns_MD_Parola Library for modular scrolling LED matrix text displays
https://github.com/MajicDesigns/MD_Parola

しかし一度立ち止まって考えてみたい。
4連8x8ドットマトリックスLEDでやることって何なのか。
 ・文字の表示(ニュースみたいに文字が流れるもの)
 ・文字の表示(時計とか点滅する文字とか全書き換えするもの)
くらいではないのか?
前者の「文字が流れるもの」ならば1byte=8ドットを1ラインとしてデータを流していく感じ。
後者の「全書き換えするもの」でも高々32byteで大したデータ量でもないため32ライン分一括で流すという感じでなんとかなりそう。
ライブラリのような大げさなものを使わず、簡単なソースで行けるような感じにしたいということで仕上げてみました。

参考:
MAX7219 データシート
和:https://pdfserv.maximintegrated.com/jp/ds/1339J.pdf
英:https://www.analog.com/media/en/technical-documentation/data-sheets/MAX7219-MAX7221.pdf
8x8 LED Matrix - Using Arduino _ LEDs and Multiple
https://forum.arduino.cc/t/8x8-led-matrix/274527/11



拙いソースです。
// Quadruple Matrix LED Driven by MAX7219
uint8_t CLK = 13;       // to MAX7219 CLOCK
uint8_t CS  = 10;       // to MAX7219 LOAD(~CS)
uint8_t DAT = 11;       // to MAX7219 DIN
uint8_t POS =  0;       // display start position of array
uint8_t LINE[32] = {    // line image in scroll
  0b00111100, 0b00000010, 0b00000000, 0b01000000, 0b00111100, 0b00000000, 0b00001000, 0b00010000,
  0b00100001, 0b01010010, 0b10001100, 0b00000000, 0b01000000, 0b10001110, 0b10000000, 0b10000000,
  0b01001110, 0b00000000, 0b00001000, 0b01111110, 0b00010000, 0b00111000, 0b00000100, 0b00011000,
  0b00000000, 0b01000100, 0b10011110, 0b10000100, 0b10011100, 0b10100100, 0b01011010, 0b00000000};

void setup() {
  pinMode( CLK, OUTPUT );
  pinMode( CS , OUTPUT );
  pinMode( DAT, OUTPUT );
  ledOut( 0x0F00, 0x0F00, 0x0F00, 0x0F00 );     // Display Test(0xXF): Normal Operation (0)
  ledOut( 0x0B07, 0x0B07, 0x0B07, 0x0B07 );     // Scan Limit  (0xXB): Display all digits (7)
  ledOut( 0x0A01, 0x0A01, 0x0A01, 0x0A01 );     // Intensity   (0xXA): Luminance (0-F)
  ledOut( 0x0900, 0x0900, 0x0900, 0x0900 );     // Decode Mode (0xX9): No decode (00)
  ledOut( 0x0C01, 0x0C01, 0x0C01, 0x0C01 );     // Shutdown    (0xXC): Normal Operation (0)
}

void loop() {
  refreshLED();
  delay(200);
  ++POS %= 32;
}

void ledOut( uint16_t d0, uint16_t d1, uint16_t d2, uint16_t d3 ) {
  uint16_t d[]={ d0, d1, d2, d3 };
  digitalWrite( CS, LOW );
  for(uint8_t n=0; n<4; n++) {
    shiftOut( DAT, CLK, MSBFIRST, d[n]>>8 );
    shiftOut( DAT, CLK, MSBFIRST, d[n]    );
  }
  digitalWrite( CS, HIGH );
}

void refreshLED() {
  uint8_t d[4];
  for(uint8_t m=0; m<8; m++) {            // matrix LED data line
    for(uint8_t b=0; b<8; b++) {          // bit
      for(uint8_t n=0; n<4; n++) {        // Number of LEDs
        d[n] = d[n]<<1 | LINE[(b+n*8+POS)%32]>>m & 1;
      }
    }
    ledOut( (m+1<<8)+d[0], (m+1<<8)+d[1], (m+1<<8)+d[2], (m+1<<8)+d[3] );
  }
}


quadmatrix-2.jpg

表示データをパソコン側で用意できると便利になりそう。

タグ:Matrix LED
nice!(0)  コメント(0) 

8ピンATtiny(13/25/45/85)で遊ぶ基板をつくってみた。 [Arduino]

8ピンのATtinyで遊ぶ。
(従来の13/25/45/85を対象でATtiny202/402とかは除きます。)

これまでdigisparkを通じてATtiny85とはお世話になってきましたが、digisparkであるが故の問題点というか、便利さの裏返しがあります。

・ブレッドボードで使いづらいので1ラインにピンがすべてならんでほしい
・USBはいまどきのType-Cがいい
・全ピンふつうに使いたい

最後の「全ピンふつうに使いたい」については、「USB機能を捨てる(電源だけUSB)」ことになりますが、USB機能を維持したものを自作するのはちょっと大変そうだったので、「USB機能を捨てる(電源だけUSB)」、「書き込みはISP」とすることで設計していきました。

ユニバーサル基板ではUSB Type-Cのレセプタクルはまず扱えないし、CADでの基板自作もしてみたかったのでチャレンジ。
pcb8tiny.png
・KiCadで設計した。
・Type-CはConfiguration Channel(CC)に5.1kΩの抵抗をつけ正式な対応。(たぶん)
・せっかくなのでチップ部品を使用。
・エッチングは手間と機材がいるのでやらないで、外部発注。

●Cadソフト
いろいろあったけど、KiCadというのがよさそう。
EAGLEというのもあったけど、ユーザー登録したくなかったのでやめた。
最初はとっつきにくかったけど、1週間もしないうちに基板作成や、フットプリントの作成までできるようになっちゃった。
以下のサイトが非常にためになった。

KiCadで雑に基板を作るチュートリアル Ver6.x 予習版
https://speakerdeck.com/tokitahiroshi/kicaddeza-niji-ban-wozuo-rutiyutoriaru-ver6-dot-x-yu-xi-ban

KiCAD6.0入門 回路図・プリント基板を作成し、JLCPCBに発注する(KiCAD操作概要編) - YouTube
https://www.youtube.com/watch?v=6mEAS3d31Ns

他にも説明サイトはあるのだけど、バージョンが違うと見た目も違うので、現在のバージョン6.0ということでありがたい。さらに分かりやすかった。
行き詰ったら再度確認すると、ちゃんと自分がちゃんと読んでいなかっただけというくらい。
慣れは必要だけど、なんとなく設計できた。

●Type-Cレセプタクル
Type-A/Type-Cのケーブルからの電源供給だと問題なくても、電源供給側がType-Cの場合、Configuration Channel(CC)に5.1kΩの抵抗がないと、電源を供給してくれません。
賢いタイプの電源を使用する際はこの抵抗が必要です。

●発注
どこに頼んでいいのかよくわからなかったけど、安くて速そうなところでJLCPCBというところに注文した。

PCB Prototype & PCB Fabrication Manufacturer - JLCPCB
https://jlcpcb.com/

Kicad JLCPCB で検索して、JLCPCBに適した設定で書き出し、 ユーザー登録して、いろいろ入力して、データ転送して、お金を払って、届くのを待つ。
問題なく届き、問題なくできていた。

●はんだ付け
ヘッダピンの他に、USB Type-Cのレセプタクル、ノイズ除去のキャパシタ、Configuration Channel(CC)の抵抗。
USB Type-Cのレセプタクルは大変かと思ったけどなんとか。フラックスをいっぱい塗って、ブリッジしたら吸い取り線でとったりして、最後に切断したType-Cケーブルをさしてショートやはんだ不良がないか確認。
チップ部品も1608サイズの5.1kΩの取り付けが意外と大変だったけど、なんとかなりました。
pcb8tiny-1.jpg
●メインの8ピンATtiny
SOIC(1.27mmピッチ)のATtiny85が売ってない、あるいは売っていても非常に高価。
半導体不足のせいなのか、新シリーズ(202/402)への移行のせいなのか。
とりあえず、余っていたSOIC版ATtiny13Aを載せた。

反省点
・やっぱり、1ラインだけなのでグラグラする。
pcb8tiny-2.jpg
nice!(0)  コメント(0) 

3.5mmジャックとプラグ [パーツ]

うちのSONYのテレビにはRCAコネクタが付いていません。
4極 (TRRS;Tip Ring Ring Sleeve)ケーブルが別途必要。
bravia_rca.png
ヘルプガイド BD_DVDレコーダーをつなぐ
https://helpguide.sony.net/tv/hjp1/v1/ja/04-02_01.html

音声・マイクの4極には「CTIA」(iPhoneなど現在の主流?)と「OMTP」など一応規格はある様子。
TRRSの順で、、
・Audio(L)-Audio(R)-GND-Mic  CTIA
・Audio(L)-Audio(R)-Mic-GND  OMTP

音声・ビデオの4極はカオスのようで決まったものがないみたい。
trrs_lvgr.pngTRRSの順で、、
・Audio(L)-Video-GND-Audio(R)  □[ VCR ]=
     SONY(BRAVIA)、Panasonic(VIERA, Strada)、SHARP(AQUOS)、JVC(Everio)
・Audio(L)-Audio(R)-GND-Video  □[CTIA?]=
     Pioneer(carrozzeria)、ALPINE、Raspberry Pi、TCL??
・Audio(L)-Audio(R)-Video-GND  □■[OMTP?]=
     海外製品?
     (Bearmax・AVOX)?
・Audio(R)-Audio(L)-GND-Video  □■[____]=
     iPod Video? TCL??
・Video-Audio(L)-Audio(R)-GND  ■[____]=
     海外製品?SAMSUNG TV??
     (REALLIFE JAPAN(AiVN)・VERSOS・TMY・arwin・HYFIDO・GREEN HOUSE)?
・Video-Audio(L)-Audio(R)-GND(long) (15mmではなく18mm) [____]=
     TOSHIBA/Hisense(REGZA)?     

PanCakeシールド作成では、RCAコネクタをユニバーサル基板に取り付けるのに苦労しました。
3.5mmジャックならユニバーサル基板にも乗っかるいいのがあったので代用しようと思ったのだけど。

φ3.5mm ステレオジャック 基板用 ブレッドボード対応 スイッチ付 黒 _ PJ-317-B
https://eleshop.jp/shop/g/gJ25311/

こんなものを作って接続テストしてみました。
trrs_testplug.jpg

SONY形式で行くなら、ちょうどAudio(R)は使わないので捨ててこんな感じ。
trs_jack1.jpg

別のジャックだと根本が金属で TRRSの最後のRとSがショートしてしまうけど、SONY形式なら使わないAudio(R)とGNDがショートするだけなので問題なさそう。
trs_jack2.jpg


nice!(0)  コメント(0) 

IchigoCakeの説明書を小冊子に印刷する。 [ツール]

IchigoCakeの説明書をこんな感じで印刷して小冊子にしてみました。
ij_book.jpg
最近というほど最近ではないですが、近ごろは多くのプリンタが両面印刷できるようです。

PDFは標準だとMicrosoft Edgeで開いてしまうのですが、Adobe Acrobat Readerで開くと印刷時に以下のダイアログが出るので、
ij_pdf_setting.png
・ページサイズ処理で「小冊子」を選択
・小冊子の印刷方法「両面で印刷」
・綴じ方「左」(漫画や国語の教科書なら右)
とします。

「中綴じホチキス」というものがあればいいのですが、うちにはないので、ホチキスを180度開いて、段ボールなどの柔らかいものの上で針を打ち、自分で針先を折り曲げて完成。

IchigoCake
http://ichigocake.shizentai.jp/
IchigoCake for ゲームクリエイター - IchigoJam
http://ichigocake.shizentai.jp/IchigoCake_jam.pdf
IchigoCake for ゲームクリエイター - IchigoLatte
http://ichigocake.shizentai.jp/IchigoCake_latte.pdf


マックス MAX ホチキス ホッチキス タテヨコ ホッチくる 15枚とじ ブルー HD-10V/B

マックス MAX ホチキス ホッチキス タテヨコ ホッチくる 15枚とじ ブルー HD-10V/B

  • 出版社/メーカー: マックス(MAX)
  • 発売日: 2003/08/25
  • メディア: オフィス用品

タグ:IchigoCake PDF
nice!(0)  コメント(0) 

Arduinoで「りんごをさっちゃん」スケッチ編 [Arduino]

「IchigoJam」は「こどもパソコン」ということで、サンプルプログラムの「りんごをさっちゃん」をArduino用に書き直すのは容易なことだと考えていました。
しかしサンプルプログラムにはコメントが1行目の「LINGO WO SACCHAN」しかなく、変数もBASIC版だと1文字しかなく、小学生がこのプログラムをみて勉強するのは厳しくないか?と思いました。
ということで、プログラムを読み解きながら、コメントをふんだんに付けてみました。
そのまえに、PanCakeを使うにあたってのとりあえず思いついた注意点をまとめてみます。

・PanCakeが起動するまで少し待つ
  起動前にシリアルデータを送っても処理してもらえない
  とりあえず1000ミリ秒待てば間違いなさそう(たぶん、もう少し短くてもいい)

・Arduinoのほうが高速
  IchigoJamはBASICでインタープリター
  Arduinoはコンパイルしたスケッチ
  サンプルプログラムの移植そのままだと速すぎる

・PanCakeに送る数値は2桁の16進数で
  数値データを2桁の16進数(2文字)にして送る
  sprintfで書式を作り数値を代入した文字列をつくり、それを送信するとか
char buf[96];
sprintf(buf, "PANCAKE SPRITE MOVE 00 %02X %02X", bx, 35);
Serial.println(buf);

  かなり適当なマクロを作るとか
// Convert to 2-digit hexadecimal number
#define F02X(d)  ((String)"0123456789ABCDEF"[(d)>>4 & 0x0f] \
                 +(String)"0123456789ABCDEF"[(d)    & 0x0f] ) 
    あるいは、
#define F02X(d)  (String((d)/16,HEX)+String((d)%16,HEX))

・数値は整数
  javascriptでは割り算の答えは(割り切れなければ)小数で出てくるけど、IchigoLatteではC言語の整数型と同様に小数点以下切り捨ての整数で返ってくる

こんな感じ。
lws.jpg

// LINGO WO SACCHAN for Arduino + PanCake
#define F02X(d)  ((String)"0123456789ABCDEF"[(d)>>4 & 0x0f] \
                 +(String)"0123456789ABCDEF"[(d)    & 0x0f] )   // 2-digit hexadecimal number form
uint8_t sx, f;                      // SACCHAN position, direciton (flip)
uint8_t bx;                         // bascket position
uint8_t rx, ry, rr;                 // apple position(x, y), rotation
uint8_t score, speed;

void setup() {
  pinMode(11, INPUT_PULLUP);        // SW [Left]
  pinMode(12, INPUT_PULLUP);        // SW [Right]
  sx = 36;  f = 0;  bx = sx + 7;    // initialize SACCHAN and bascket position, direciton (flip)
  rx = random(72); ry = 0; rr = 0;  // initialize apple position(x, y), rotation
  score = 0;  speed = 1;            // initialize score and speed
  delay(3000);                      // Wait for Pancake to stabilize
  Serial.begin(115200);             // initialize serial communications at 115200 bps
  Serial.println(F("PANCAKE RESET"));
  Serial.println(F("PANCAKE MUSIC SCORE 00 00 81 $C>C<EG"));
  Serial.println(F("PANCAKE MUSIC SCORE 01 00 80 RRRRR$RRRRRRRRCCDE~~~~EFED~~~~DEDC~~~~"));
  Serial.println(F("PANCAKE MUSIC PLAY 01"));
  Serial.println(F("PANCAKE SPRITE START 01"));
  Serial.println(F("PANCAKE SPRITE CREATE 00 5D"));   // 00:bascket (5D)
  Serial.println(F("PANCAKE SPRITE CREATE 01 1F"));   // 01:apple   (1F)
  Serial.println(F("PANCAKE SPRITE CREATE 02 0B"));   // 02:SACCHAN (0B)
  Serial.println(F("PANCAKE SPRITE CREATE 03 A6"));   // 03:number 0(A6)
  Serial.println(F("PANCAKE SPRITE MOVE 03 00 00"));  //    (tens place)
  Serial.println(F("PANCAKE SPRITE CREATE 04 A6"));   // 04:number 0
  Serial.println(F("PANCAKE SPRITE MOVE 04 08 00"));  //    (ones place)
}

void loop() {
  Serial.println("PANCAKE SPRITE MOVE 00 " + F02X(bx) + " 23" );    // 0x23=35(horizon)
  Serial.println("PANCAKE SPRITE FLIP 00 " + F02X(f)          );
  Serial.println("PANCAKE SPRITE MOVE 02 " + F02X(sx) + " 23" );
  Serial.println("PANCAKE SPRITE FLIP 02 " + F02X(f)          );
  Serial.println("PANCAKE SPRITE MOVE 01 " + F02X(rx) + " " + F02X(ry) );
  Serial.println("PANCAKE SPRITE ROTATE 01 " + F02X(rr)       );
  Serial.println("PANCAKE SPRITE CREATE 03 " + F02X(0xa6 + score / 10) );
  Serial.println("PANCAKE SPRITE CREATE 04 " + F02X(0xa6 + score % 10) );
  rr = (rr + 1) % 4;                // rotate apple
  ry = ry + random(speed + 1);      // falling apple
  if(35 < ry) {                     // When the apple reaches the horizon
    if((bx-4<rx)*(rx<bx+4)) {       // If the apple is in the basket ..
      score++;
      Serial.println(F("PANCAKE MUSIC SCORE 03 01 22 >>CE>C"));
    }
    if((sx-4<rx)*(rx<sx+4)) {       // If the apple hits SACCHAN ..
      Serial.println(F("PANCAKE SPRITE CREATE 02 08"));
      Serial.println(F("PANCAKE MUSIC PLAY 00"));
      Serial.println(F("PANCAKE MUSIC SCORE 03 01 40 <F~ED~<B>C~~~"));
      setup();                      // game over and restart
      return;
    }
    rx = random(72);  ry = 0;       // next apple
    speed = (score + 10) / 10;      // Speed up
  }
  delay(100);
  if( digitalRead(11) == LOW ) {  sx--; f=1;  bx=sx-7;  }   // move left
  if( digitalRead(12) == LOW ) {  sx++; f=0;  bx=sx+7;  }   // move right
}




PanCake
http://pancake.shizentai.jp/

IchigoCake
http://ichigocake.shizentai.jp/
タグ:pancake
nice!(0)  コメント(0) 

Arduinoで「りんごをさっちゃん」ハードウェア編 [Arduino]

PanCake Shieldをつかって、IchigoJam+Pancake (または IchigoCake)のサンプルプログラムである「りんごをさっちゃん」をArduinoに移植してみようと思います。
PanCake Shieldへのデータ入力選択ジャンパーピンをUno上のUSB-serial変換器からの入力ではなく、ATmega328からの入力に切り替えます。
pancake_s_jumper2.jpg
これで、スケッチからPanCakeを操作できます。

ゲームの操作については、IchigoJamはもともとPS/2キーボードをつなぐ前提で作られているのでキーボードでの操作ができますが、Arduinoにはそれがないのでコントローラーが必要です。
中古のゲーム機用コントローラーを使うかとも思ったのですが、ジャンク箱を探すと子供が学校で使った理科実験のおもちゃのコントローラーがありました。左右の操作に加えてもう1つボダンがついているというもの。分解すると意外と複雑だったのですが、必要なのはスイッチ3つ分だけなので、内部の配線をしなおして単純なスイッチにしてしまいました。
d11-13sw.jpg

電流と電磁石 フットサル・ロボ II
https://www.daiwa-e.com/contents/seihin/seihin_r5-01_main.php

Arduino Unoの11番,12番,13番,GNDのならびでスイッチにしてみたのですが、これが大失敗!
11番を右ボタン、12番を左ボダン、13番をやり直しボタンに割り当てましたが、13番はLEDにつながっていることをすっかり忘れていました。
pinMode(13, INPUT_PULLUP) にしても、LEDがつながっているためスイッチの状態に関わらず常にLOWになってしまいスイッチとしては使えませんでした。
ただ「りんごをさっちゃん」には必要ないのでとりあえずこのままで。
タグ:pancake
nice!(0)  コメント(0) 

PanCakeのフォークとナイフ [Arduino]

パンケーキの両脇のフォークとナイフがうまく表示されていなかったけど、キャプチャデバイスがしょぼいからかなと思ってました。
しかし画面が全然でないときもあったりしたので、もしかしたらはんだづけ不良かも、、。
基板の裏面を見てもよくわからなかったのですが、とりあえずはんだを盛ってみました。
すると、フォークとナイフがちゃんと出るようになりました。
しょぼかったのはキャプチャデバイスではなく、自分のはんだづけ技術でした。

pancake_s_i00.png
 ↓ ↓ ↓
pancake_s_i00_2.png
タグ:ビデオ pancake
nice!(0)  コメント(0) 

PanCake Shield にデータを送る [Arduino]

Arduino Uno のUSB-シリアル変換から、直接 PanCake を操作してみます。
pancake_s_jumper.jpg
こんなふうにジャンパーピンをつなぐと、シリアルモニターからの文字列を直接送ることができます。
pancake_s_serial.png
改行コードは「LF」で、通信速度は「115200 bps」。
例えば「PANCAKE IMAGE 01」と送ると、、
pancake_s_i00.png
 ↓
pancake_s_i01.png
となります。
タグ:pancake ビデオ
nice!(0)  コメント(0) 

PanCake Shield を作ってみた。 [Arduino]

Arduinoをつかってビデオ信号を作るのは、

TVout Library
https://playground.arduino.cc/Main/TVout/

というものを使うのがいいようだけど、古いもののよう。
そこで、こどもパソコン「IchigoJam」のアドオンボードというか、マルチメディアボードの「PanCake」というものがありまして、

PanCake
http://pancake.shizentai.jp/

これが、シリアル通信により制御できるとのこと。
じゃあ、Arduinoでも制御できそうということでやってみた。

とりあえず、「PanCake」を購入。
 ・プリント基板キット
 ・組み立て済 完成品
 ・ブレッドボードキット
とあるのですが、完成品だとArduinoとPanCakeとをつなぐ簡単なシールドが必要。ブレッドボード版だと完全にシールドを自作しないといけない。迷っていたので、どちらにもいくことができるプリント基板キットを購入。

PanCakeプリント基板キット(サウンドグラフィックボード) 組立キット(モジュール) 秋月電子通商-電子部品・ネット通販
https://akizukidenshi.com/catalog/g/gK-09686/

ディスコンマークが付いていて、在庫限りで取扱い終了、、。
でも、頑張ると決めたので、シールドつくることにした。

pancakeshield_1a.png
PasSのパーツもいくつか作ってみた。
信号レベルが3.3Vなので、2.2KΩと3.3kΩで分圧しています。

pancakeshield_2.jpg
スペースが少ないのでICソケットの下にも抵抗を配置。

pancakeshield_4.jpg
USB type-Bのコネクタとぎりぎり接しない感じ。(ねんのため絶縁テープで保護を。)
RCAコネクタの固定が難儀でした。

pancakeshield_3.jpg
完成!

いきなりテレビにつないでテレビが壊れたらいやなので、USBビデオキャプチャユニットを使用。
pancakeshield_5.png
バージョン1.0だと思っていたけど、バージョン1.2だった。

nice!(0)  コメント(0) 

久しぶりにATtiny13Aを使う。 [Arduino]

ちょっとATtiny13Aを使ってみようとしたが一筋縄ではいかなかったので、メモ。
attiny13asu.jpg
以下のページのお世話になりました。

Arduino IDEでATtiny13Aに書き込む
https://www.jh4vaj.com/archives/27291


・ボードの追加
 追加のボードマネージャのURL
  https://kimio-kosaka.github.io/bitDuino13/package_bitDuino13_index.json
 ボードマネージャ
  bitduino13 をインストール

ここまでは、問題ない。

・書き込み装置が指定できない問題
 programmers.txt がない
  コピー元フォルダ:
   %PROGRAMFILES(X86)%\Arduino\hardware\arduino\avr
  コピー先フォルダ:
   %LOCALAPPDATA%\Arduino15\packages\bitDuino13\hardware\avr\1.0.1

これでOK。
avrdude.conf もコピーとありましたが、うちはコピーしなくてもいけた。

・USBaspでは書き込めない問題
 ATtiny13Aは書き込みエラーを起こしやすく、何回かやると書き込めるとあったが、何回やっても書き込めず。
 Arduino as ISP (スケッチ例にあるArduinoISPを Duemilanove/Unoなどに書きこんだもの)なら書き込めた。
 AVRASP mkII (セットアップが面倒。WinAVRインストールする羽目に。)でも書き込めた。


★ほかにもAtTiny13Aを使うボードマネージャがあった。
 MicroCore
 https://github.com/MCUdude/MicroCore

・ボードの追加
 追加のボードマネージャのURL
  https://mcudude.github.io/MicroCore/package_MCUdude_MicroCore_index.json
 ボードマネージャ
  MicroCore をインストール

programmers.txtのコピーは不要でした。
タグ:ISP ATtiny13A
nice!(0)  コメント(0) 
前の10件 | -