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


Ignore:
Timestamp:
12/12/17 17:17:30 (6 years ago)
Author:
michkawa
Comment:

--

Legend:

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

    v4 v5  
    103103これを合わせるために、メニューから"ツール -> ブートローダーを書き込む"を実行し、再度テストプログラムを書き込むと、今度は0.5秒毎に点滅するようになる。 
    104104 
     105== 測定用ファームウェア == 
    105106 
     107=== TinyWireM === 
     108 
     109今回は ATTiny85 + ADT7410なので、前回と同じようにADT7410のサンプルソースを[https://github.com/adafruit/TinyWireM TinyWireM]に対応させる方法で作成する。[[br]] 
     110前回と違うのは、TinyWireMが"ライブラリマネージャー"でインストールできるようになっている点。[[br]] 
     111ライブラリマネージャーは、メニューから"スケッチ -> ライブラリをインクルード -> ライブラリを管理"で表示されるダイアログで"tinywire"で検索すると表示される。 
     112 
     113[[Image(arduino_lib.png,400)]] 
     114 
     115これをインストール。 
     116 
     117=== ADT7410 === 
     118 
     119ADT7410用のライブラリもライブラリマネージャーでインストールできるが、使われているのがATMega用のWire(I2C)ライブラリなので、そのままでは使用できない。[[br]] 
     120なので、これを基にWireをTinyWireMに変更したライブラリを作成した。[[br]] 
     121 
     122元のライブラリは[https://github.com/FaBoPlatform/FaBoTemperature-ADT7410-Library FaBoPlatform/FaBoTemperature-ADT7410-Library][[br]] 
     123作成したライブラリファイルは[attachment:ADT7410-TinyWire-Library.zip ADT7410-TinyWire-Library.zip]として置いておくので、必要ならダウンロードして使用すること。 
     124 
     125=== Firmware === 
     126 
     127Firmwareは、以前作成したものとほぼ同じ。[[br]] 
     128 
     129{{{ 
     130#include <TinyWireM.h> 
     131#include <USI_TWI_Master.h> 
     132#include <SoftwareSerial.h> 
     133#include <ADT7410_TinyWireM.h> 
     134 
     135ADT7410_TinyWireM ADT7410; 
     136SoftwareSerial SwSerial(3, 4); // RX, TX 
     137 
     138void setup() { 
     139  SwSerial.begin(9600); 
     140  ADT7410.begin(); 
     141} 
     142 
     143void loop() { 
     144  float temp = ADT7410.readTemperature(); 
     145  SwSerial.print("T:"); 
     146  SwSerial.print(temp, 4); 
     147  SwSerial.print("\r\n"); 
     148  delay(5000); 
     149} 
     150}}} 
     151 
     1525秒毎にセンサから読み取ったデータを温度に変換し、文字列としてUSBシリアルに出力する。[[br]] 
     153以前のソースコードでは、メモリの使用量の問題でprintを使わずに自前でfloatを出力していたが、新しいバージョンではほとんど変わらなかったので、ソースコードを簡素化した。