Changes between Version 3 and Version 4 of epics/bbb/debian/thermometer/attiny


Ignore:
Timestamp:
12/12/17 13:34:35 (7 years ago)
Author:
Tetsuya Michikawa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/bbb/debian/thermometer/attiny

    v3 v4  
    3232== ファームウェア ==
    3333
     34ファームウェアは arduino を使って作成するので、開発環境を構築。
     35
     36=== Arduino ===
     37
     38[https://www.arduino.cc/ arduinoの本家]から開発環境(Arduino IDE)をダウンロードしてインストール。[[br]]
     39ダウンロードは、[https://www.arduino.cc/en/Main/Software ここ]から、自分の環境に合わせたものを持ってくる。[[br]]
     402017/12/12現在、最新版は 1.8.5。今回は Windows Installer を使った。
     41
     42
     43=== Board Manager ===
     44
     45最近は色々なマイコンがarduinoで開発できるようになっていて、対応するボードマネージャーを使えば、環境構築を自動でやってくれる。いい時代になったもんだ、、、[[br]]
     46今回使うCPUは Atmel ATTiny85、書き込みは Arduino ISP で行う。
     47
     48実際の環境設定は以下のサイトが詳しいので、それを参照。
     49
     50[http://make.kosakalab.com/make/electronic-work/arduino-ide-dev/ Arduino IDE で ATtiny 他の開発]
     51
     52CPUの開発環境は以下のページを参照。
     53
     54[http://make.kosakalab.com/make/electronic-work/arduino-ide/attiny-dev/ Arduino IDE に ATtiny45/85/2313 他の開発環境を組み込む]
     55
     56CPUへの書き込みを行う Arduino ISP は、Arduino UNO R3をArdunio書き込み装置にして使用する。(ややこしいですが)
     57
     58[https://www.arduino.cc/en/Tutorial/ArduinoISP Using an Arduino as an AVR ISP (In-System Programmer)]
     59
     60これを使えばAVRライターがなくても、arduino対応のCPU設定が簡単にできる。
     61
     62
     63=== 開発環境テスト ===
     64
     65開発環境が動作するかをチェックする。[[br]]
     66
     67[http://make.kosakalab.com/make/electronic-work/arduino-ide/test_arduinoisp/ 【 Arduino IDE 】ArduinoISP 使い方・書き込みテスト]を参考に行うが、多少違っていた(古い?)ので相違点を記載する。[[br]]
     68
     69{{{
     70ArduinoISP -> Arduino as ISP(ATTinyCore)
     71}}}
     72
     73設定は画像のようにする。シリアルポートの設定は、ArduinoISPがつながっているものを選択。
     74
     75[[Image(arduino_isp.png,400)]]
     76
     77テスト用のソースは、
     78
     79{{{
     80#define PIN 3
     81#define DTIME 500
     82
     83void setup() {
     84  pinMode(PIN, OUTPUT);
     85}
     86
     87void loop() {
     88  digitalWrite(PIN, HIGH);
     89  delay(DTIME);
     90  digitalWrite(PIN, LOW);
     91  delay(DTIME);
     92}
     93}}}
     94
     95これをArduinoISPに以下の様につないで書き込み。
     96
     97[[Image(http://make.kosakalab.com/arduino/use/45_85.gif)]]
     98
     99書き込みが完了すると、LEDが2秒間隔ぐらいで点滅する。[[br]]
     100点滅しなかったり、書き込み時にエラーが表示された場合には、設定か回路が間違っているのでチェックする。
     101
     102本来このプログラムだとは0.5秒間隔で点滅するが、クロックに対するカウンタが合っていないのでこのようになる。[[br]]
     103これを合わせるために、メニューから"ツール -> ブートローダーを書き込む"を実行し、再度テストプログラムを書き込むと、今度は0.5秒毎に点滅するようになる。
     104
     105