- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!Digispark Attiny85で遊ぶ
Attiny85というICチップを乗せた小さなボードが2つあります。
これはキーボードの入力をエミュレートできるので、よくワンキーボードとして特定のコマンド処理などを覚えさせて一発で処理できるようにしている人がいます。
アマチュア無線の世界では、モールスのキーイングをモニターする装置として使えます。
このボードのいいところはICチップへの書き込みにArduino IDEという開発環境が直接使える点にあります。
!!今日やったこと。
!Arduino IDEをインストールする
[Arduinoのサイト|https://www.arduino.cc/]に行くと各OS用のファイルがダウンロードできるようになっています。
Linuxの場合、リポジトリにファイルがあると面倒なDLはしないで直接インストールができるので、やってみたところ、なんだか様子が変でした。
バージョンが古いのかフォントが汚くサイトの説明と画面も少し異なります。
無精をしないでLinux用のイメージファイルをダウンロードしたらうまく行きました。
!スケッチをダウンロードする
スケッチとはArduinoのプログラムのことです。
[DigisparkMorseKeyboard|https://github.com/darioschmid/DigisparkMorseKeyboard/tree/master]というプログラムがgithubにあります。
最初はファイルを開いてエディタにコピーしていたのですが、検証するとライブラリが見つからないというエラーが出たので、リポジトリ自体をクローンしました。
!ボードのライブラリをインストールする
Arduino IDEにボードを指定してやらないとコンパイルができません。
メニュから該当するボードを探すのですが見当たらず、色々探してようやく見つけました。
[ここに書いてある記事|https://note.com/puerh_tea_/n/n19b72a88e6b0#eaad5d55-2080-40bd-a0d9-b3edd2be30be]はラズパイのケースなので参考にしました。
実際の処置は[こちら|http://kyoro205.blog.fc2.com/blog-entry-657.html]を使いました。ただ最初は指定されているJSONファイルをどこに書いたらよいかよくわからなくて、ライブラリの検索のところに何度も入れては失敗を繰り返していました。
結局、環境設定のところでリポジトリを追加してやる必要があることがわかりました。
!書き込みエラー発生への対処
コンパイルしたスケッチをボードに書き込む際に
[これと同じエラー|https://mickey-happygolucky.hatenablog.com/entry/2020/02/18/200140]が発生したので、エラーメッセージを頼りに探しました。
やっていることはよくわかりませんが、とりあえず事なきを得ました。
!スケッチをボードに書き込む
スケッチのコンパイルエラーは出ないのですが、ボードに書き込む際にmicronucleusのエラーが発生します。
[ここ|https://prograrts-diary.blogspot.com/2017/07/ubuntu-digispark-kickstarter.html]に対処の仕方があったので真似たら解決できました。
うまく行ったときの出力
最大6012バイトのフラッシュメモリのうち、スケッチが3992バイト(66%)を使っています。
グローバル変数は338バイトのRAMを使用しています。
Running Digispark Uploader...
Plug in device now... (will timeout in 60 seconds)
> Please plug in the device ...
> Press CTRL+C to terminate the program.
> Device is found!
connecting: 16% complete
connecting: 22% complete
connecting: 28% complete
connecting: 33% complete
> Device has firmware version 1.6
> Available space for user applications: 6012 bytes
> Suggested sleep time between sending pages: 8ms
> Whole page count: 94 page size: 64
> Erase function sleep duration: 752ms
parsing: 50% complete
> Erasing the memory ...
erasing: 55% complete
erasing: 60% complete
erasing: 65% complete
> Starting to upload ...
writing: 70% complete
writing: 75% complete
writing: 80% complete
> Starting the user app ...
running: 100% complete
>> Micronucleus done. Thank you!
!!さて動くか
コンパイルと書き込みができたようなので検証に入ります。
P0とGNDを繋ぐとKeyingしたことになるので、回路テスト用の端子をつないでCQCQを打ってみました。ただ何か認識はして文字は出てくるのですが意図した文字ではありません。
これはおそらく接点がチャピリを起こしているためで、先日ルネサスの講義で言っていたように若干のバッファを入れてやれば解決することでしょう。
これはおそらく接点がチャピリ(接点不良でガリガリ状態)を起こしているためで、先日ルネサスの講義で言っていたように若干のバッファを入れてやれば解決することでしょう。
ストレートキーにつないでやってみたら、端子を直接繋ぐよりはキレイに認識するようになりました。
!!感想
Arduinoは一度だけマルツの調布(電通大)でLチカの講習を受けたけどもそれ以降は触ったことがなく、今回、ルネサスの講座を受講してさらに書物を読んであらためて触ってみたくなった。
Attinyを使うこと自体は初めてだったが、Arduinoボードとほぼ同じように使えることがわかった。
初めてのArduinoのスケッチの利用でトラブルは多かったけども、さすがLinuxでどこかに解決方法が必ずあるものだ。ありがたい。
!!!この後やりたいこと
*キーイングに合わせてサイン波を圧電ブザを使って発生させる(いまはLチカのみ)
*ジャックを着けてキーと接続しやすくする
*キーイングの癖を分析するMorStatを真似してキーのタイミングをデータとしてPCに送れるようにする。解析はPC側の統計ソフトを使う。
ようこそ(←初めての方へのご挨拶)
40の手習いで三アマ、還暦前に一アマ取得。小型船舶と共に海特3。
いわゆるアパマン(しかも1F)で環境劣悪のため専ら自転車で移動し公園などでの運用スタイル。
夢は武蔵・多摩の丘から自作機で移動運用すること。
ハンディ機と特小を持って自転車で動ける範囲でお手軽運用。
今日もチャリン歩deハム!
コールサイン
移動運用日誌
学んだり試したりしたこと
サイト検索
更新履歴
2024/5/14
2024/5/12
2024/5/10
2024/5/9
2024/5/8
2024/5/6
2024/5/5
管理者ページ