SSブログ

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/
    に上書き

attinyboard.png
こんな感じで Board が増えていればOK

Duemilanove に ISPライターになるためのスケッチを描き込みます。
attinyisp.png

ISPライターシールドを載せて、ISPケーブルをつないで、クリップでATtiny45をはさみます。
attiny45isp.jpg

つづいて、ATtiny45 の fuse の設定です。
avrdude-GUI YCIT版 を使います。
attiny45fuse1.png
Fuse は Lo 0x62, Hi 0xDF, Ex 0xFF と出ますが、、

Engbedded AVR Fuse Calculator
http://www.engbedded.com/fusecalc

このサイトで調べてみます。すると、内部クロックは8MHzなのですが、8分周されてしまっているので、
attiny45fuse2.png
チェックをはずすと、Fuse は Lo 0xE2, Hi 0xDF, Ex 0xFF とすればいいことがわかります。

その Fuse を書き込みます。
attiny45fuse3.png

早速サンプルスケッチを描き込んでみてもいいのですが、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」 にして
attiny45board.png
アップロードします。
エラーがでますが、
attiny45error.png
大丈夫らしい。

ATtiny45 をブレッドボードに載せて、こんな感じで回路をつくります。
attiny45rgb1.jpg
電源をつなぐと、、
attiny45rgb2.jpg
虹色になりました。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。