Arduino IDE で ATtiny45 [Arduino]
ちっちゃなATtiny45ですが、Arduino IDEでスケッチをかいて動かすことができるようなので試してみました。
ArduinoISPを使う
http://www.geocities.jp/arduino_diecimila/use/attiny.html
ここに書いてあるとおりです。
・ATmega/ATtiny記述ファイルアーカイブ (hardware.zip)
展開して、[File]-->[Preferences] の Skechbook location のフォルダにコピー
・拡張版avrdude.confファイル (avrdude_conf.zip)
展開して
Windowsの場合 arduino-002x\hardware\tools\avr\etc\
Linuxの場合 arduino-002x/hardware/tools/
に上書き
こんな感じで Board が増えていればOK
Duemilanove に ISPライターになるためのスケッチを描き込みます。
ISPライターシールドを載せて、ISPケーブルをつないで、クリップでATtiny45をはさみます。
つづいて、ATtiny45 の fuse の設定です。
avrdude-GUI YCIT版 を使います。
Fuse は Lo 0x62, Hi 0xDF, Ex 0xFF と出ますが、、
Engbedded AVR Fuse Calculator
http://www.engbedded.com/fusecalc
このサイトで調べてみます。すると、内部クロックは8MHzなのですが、8分周されてしまっているので、
チェックをはずすと、Fuse は Lo 0xE2, Hi 0xDF, Ex 0xFF とすればいいことがわかります。
その Fuse を書き込みます。
早速サンプルスケッチを描き込んでみてもいいのですが、LEDチカチカではおもしろくないので、昨日の虹色イルミネーションを書き込んでみたいと思います。
ただATtiny45はPWMが2つしかないようなので、スケッチで擬似PWMとしてみました。
ピン割付表を確認して digitalWrite のピン番号とLEDのピンを合わせます。
書き込みはBoard を 「ATtiny45 / Int.8MHz」 にして
アップロードします。
エラーがでますが、
大丈夫らしい。
ATtiny45 をブレッドボードに載せて、こんな感じで回路をつくります。
電源をつなぐと、、
虹色になりました。
ArduinoISPを使う
http://www.geocities.jp/arduino_diecimila/use/attiny.html
ここに書いてあるとおりです。
・ATmega/ATtiny記述ファイルアーカイブ (hardware.zip)
展開して、[File]-->[Preferences] の Skechbook location のフォルダにコピー
・拡張版avrdude.confファイル (avrdude_conf.zip)
展開して
Windowsの場合 arduino-002x\hardware\tools\avr\etc\
Linuxの場合 arduino-002x/hardware/tools/
に上書き
こんな感じで Board が増えていればOK
Duemilanove に ISPライターになるためのスケッチを描き込みます。
ISPライターシールドを載せて、ISPケーブルをつないで、クリップでATtiny45をはさみます。
つづいて、ATtiny45 の fuse の設定です。
avrdude-GUI YCIT版 を使います。
Fuse は Lo 0x62, Hi 0xDF, Ex 0xFF と出ますが、、
Engbedded AVR Fuse Calculator
http://www.engbedded.com/fusecalc
このサイトで調べてみます。すると、内部クロックは8MHzなのですが、8分周されてしまっているので、
チェックをはずすと、Fuse は Lo 0xE2, Hi 0xDF, Ex 0xFF とすればいいことがわかります。
その Fuse を書き込みます。
早速サンプルスケッチを描き込んでみてもいいのですが、LEDチカチカではおもしろくないので、昨日の虹色イルミネーションを書き込んでみたいと思います。
ただATtiny45はPWMが2つしかないようなので、スケッチで擬似PWMとしてみました。
ピン割付表を確認して digitalWrite のピン番号とLEDのピンを合わせます。
// Full Color LED で 虹色イルミネーション #define GET_RAINBOW(TONE,COLOR) (max( min( 510 - abs( ( (TONE) + 510 * (COLOR) ) % 1530 - 510 ), 255 ), 0 )) // TONE(色調) 0-1529, COLOR(RGBの選択) 0-2 void setup() { pinMode( 0, OUTPUT); pinMode( 1, OUTPUT); pinMode( 2, OUTPUT); } void loop() { int r, g, b, t, i, d; for(t=0; t<1530; t++) { r = GET_RAINBOW(t,0); g = GET_RAINBOW(t,1); b = GET_RAINBOW(t,2); for(d=0; d<10; d++) { // 擬似PWMの繰り返し回数(delayに相当) // 擬似PWM digitalWrite( 0, HIGH ); digitalWrite( 1, HIGH ); digitalWrite( 2, HIGH ); for(i=0; i<256; i++) { if( i == b ) digitalWrite( 0, LOW ); if( i == g ) digitalWrite( 1, LOW ); if( i == r ) digitalWrite( 2, LOW ); } } } }
書き込みはBoard を 「ATtiny45 / Int.8MHz」 にして
アップロードします。
エラーがでますが、
大丈夫らしい。
ATtiny45 をブレッドボードに載せて、こんな感じで回路をつくります。
電源をつなぐと、、
虹色になりました。