あやの
NゲージをベースとしたDCCについての日記を 書いています。 ある程度貯まりましたら、鉄道模型のDCCのまとめサイトに まとめています。 借りている容量が最大に達しましたので、移転します。 ★移転先:http://maison-dcc.sblo.jp/
中々うまくいかなくて、かなり時間が掛かってしまいました。
Arduinoのloop()内で呼ばれるButtonState()というステートマシン内でボタンの
シングルクリック・ダブルクリック・長押しを認識させるプログラムです。
なかなかスマートに書けなかったのですが、検出する方式は、パルスを検出させて、
その次のパルスまでの時間を計って、シングルクリックなのか、ダブルクリックなのか
長押しなのかを検出しています。
こんなの半分くらいの行でかけるぜーという方がおりましたら、
そのスケッチくださいw
他のloop()処理が止まらない様に、ButtonState()内に留まらせない様に作るのがミソですw
スケッチはこちら
Arduinoのloop()内で呼ばれるButtonState()というステートマシン内でボタンの
シングルクリック・ダブルクリック・長押しを認識させるプログラムです。
なかなかスマートに書けなかったのですが、検出する方式は、パルスを検出させて、
その次のパルスまでの時間を計って、シングルクリックなのか、ダブルクリックなのか
長押しなのかを検出しています。
こんなの半分くらいの行でかけるぜーという方がおりましたら、
そのスケッチくださいw
他のloop()処理が止まらない様に、ButtonState()内に留まらせない様に作るのがミソですw
スケッチはこちら
PR
Smile Function Decoderを使って、アナログ入力も使えるかなと、
いろいろ試していましたが、うまく取り込めません。
最後の力を振り絞りw
Decoder Development boardにATtiny85を実装した変換基板を取り付けて、
じっくり検証してみました。
A/D変換値を見ないとどうにもできないので、SoftwareSerialを導入。
以下のような、ATtiny85のA/D変換値を取り込んで、シリアルポートに吐き出すスケッチを
使用しました。
※秋月の TTL/RS232C USBケーブル を使いました。
結線をいろいろ変えて試してみたところ、
結果的に、A/D変換値が読み取れたのは、O3:PB3:ATtiny85の2番pinだけでした。
ちなみに、他のpinのA/Dした結果についてですが、
O1:PB0(5pin)は1023のみ
O2:PB1(6pin)は0のみ
O4:PB4(3pin)は1のみ
という結果でした。
詳しく調べてないのですが、O3:PB3(2pin)で読めるからいいやということでw
いろいろ試していましたが、うまく取り込めません。
最後の力を振り絞りw
Decoder Development boardにATtiny85を実装した変換基板を取り付けて、
じっくり検証してみました。
A/D変換値を見ないとどうにもできないので、SoftwareSerialを導入。
以下のような、ATtiny85のA/D変換値を取り込んで、シリアルポートに吐き出すスケッチを
使用しました。
※秋月の TTL/RS232C USBケーブル を使いました。
結線をいろいろ変えて試してみたところ、
結果的に、A/D変換値が読み取れたのは、O3:PB3:ATtiny85の2番pinだけでした。
ちなみに、他のpinのA/Dした結果についてですが、
O1:PB0(5pin)は1023のみ
O2:PB1(6pin)は0のみ
O4:PB4(3pin)は1のみ
という結果でした。
詳しく調べてないのですが、O3:PB3(2pin)で読めるからいいやということでw
SmileWriterのFTDI版を作ってみる
Mac で、Smile Writer が使える様にする、希望のFTDI版のSmile Writer ができました!
(赤いやつね)
結局!
Windows7をParalles Desktopで動かしているのですが、OS X El Capitanにアップデートすると、
Parallesのデバイスドライバ周りがおかしくなってしまうようです。
Paralles Desktopをバージョンアップするか・・・orz
Arduino で ATtiny85 を使うのですが、ResetピンもI/Oとして使えるのでは、
という推測で調べていましたが、結果は無理っぽい。
http://forum.arduino.cc/index.php?topic=178971.0
ISP書き込み時にReset端子を使うので、I/Oピンとして使用できない。
HiVoltage書き込みが可能な、AVR Dragon が必要。
または、HVprog2 でも、良さそうです。
でも、SmileWriterが使えないので、Arduino で ATtiny85 を使う場合は、出力ポートは4本まで・・・
残念。
という推測で調べていましたが、結果は無理っぽい。
http://forum.arduino.cc/index.php?topic=178971.0
ISP書き込み時にReset端子を使うので、I/Oピンとして使用できない。
HiVoltage書き込みが可能な、AVR Dragon が必要。
または、HVprog2 でも、良さそうです。
でも、SmileWriterが使えないので、Arduino で ATtiny85 を使う場合は、出力ポートは4本まで・・・
残念。
ブログ内検索
カテゴリー
最新記事
(12/31)
(12/31)
(12/29)
(12/23)
(12/18)
リンク
プロフィール
HN:
あやのすけ
性別:
非公開