「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ
CALENDAR
2017年9月
日
月
火
水
木
金
土
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
前月
翌月
Entry Archive
2024年11月
2024年10月
2024年09月
2024年08月
2024年07月
2024年06月
2024年05月
2024年04月
2024年03月
2024年02月
2024年01月
2023年12月
2023年11月
2023年10月
2023年09月
2023年08月
2023年07月
2023年06月
2023年05月
2023年04月
2023年03月
2023年02月
2023年01月
2022年12月
2022年11月
2022年10月
2022年09月
2022年08月
2022年07月
2022年06月
2022年05月
2022年04月
2022年03月
2022年02月
2022年01月
2021年12月
2021年11月
2021年10月
2021年09月
2021年08月
2021年07月
2021年06月
2021年05月
2021年04月
2021年03月
2021年02月
2021年01月
2020年12月
2020年11月
2020年10月
2020年09月
2020年08月
2020年07月
2020年06月
2020年05月
2020年04月
2020年03月
2020年02月
2020年01月
2019年12月
2019年11月
2019年10月
2019年09月
2019年08月
2019年07月
2019年06月
2019年05月
2019年04月
2019年03月
2019年02月
2019年01月
2018年12月
2018年11月
2018年10月
2018年09月
2018年08月
2018年07月
2018年06月
2018年05月
2018年04月
2018年03月
2018年02月
2018年01月
2017年12月
2017年11月
2017年10月
2017年09月
2017年08月
2017年07月
2017年06月
2017年05月
2017年04月
2017年03月
2017年02月
2017年01月
2016年12月
2016年11月
2016年10月
2016年09月
2016年08月
2016年07月
2016年06月
2016年05月
2016年04月
2016年03月
2016年02月
2016年01月
2015年12月
2015年11月
2015年10月
2015年09月
2015年08月
2015年07月
2015年06月
2015年05月
2015年04月
2015年03月
2015年02月
2015年01月
2014年12月
2014年11月
2014年10月
2014年09月
2014年08月
2014年07月
2014年06月
2014年05月
2014年04月
2014年03月
2014年02月
2014年01月
2013年12月
2013年11月
2013年10月
2013年09月
2013年08月
2013年07月
2013年06月
2013年05月
2013年04月
2013年03月
2013年02月
2013年01月
2012年12月
2012年11月
2012年10月
2012年09月
2012年08月
2012年07月
2012年06月
2012年05月
2012年04月
2012年03月
2012年02月
2012年01月
2011年12月
2011年11月
2011年10月
2011年09月
2011年08月
2011年07月
2011年06月
2011年05月
2011年04月
2011年03月
2011年02月
2011年01月
2010年12月
2010年11月
2010年10月
2010年09月
2010年08月
2010年07月
2010年06月
2010年05月
2010年04月
2010年03月
2010年02月
2010年01月
2009年12月
2009年11月
2009年10月
2009年09月
2009年08月
2009年07月
2009年06月
2009年05月
2009年04月
2009年03月
2009年02月
2009年01月
2008年12月
2008年11月
2008年10月
2008年09月
2008年08月
2008年07月
2008年06月
2008年05月
2008年04月
2008年03月
2008年02月
2008年01月
2007年12月
2007年11月
Recent Entry
こないだのロボット
ロボット行ってきた
こないだのくれじークライマー全国大会2024予選
マウス修理した
訃報
ミカド行ってきた
LANケーブル交換した
MFT2024行ってきた
こないだのロボット
ロボット行ってきた
Recent Comment
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
JYRUSSやってきたメモ
フルタニアン/
JYRUSSやってきたメモ
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan/
こないだのロボット
フルタニアン/
こないだのロボット
nekosan0/
レジ袋ホルダーを考える
フルタニアン/
レジ袋ホルダーを考える
Category
ノンジャンル
(2850)
PIC
(47)
AVR
(341)
Arduino
(446)
Raspberry Pi
(193)
mbed
(41)
ARM
(30)
ESP32
(15)
Android
(10)
OPアンプ
(125)
VHDL
(57)
PSoC
(4)
アナログ回路
(110)
クルマ
(127)
rails
(51)
本
(42)
導電塗料
(3)
Fritzing
(41)
Edison
(2)
FFT
(34)
写真
(158)
MIDI
(24)
その他日記
(11)
Python
(57)
3Dプリンタ
(124)
Bookmark
最初はgoo
goo blogトップ
スタッフブログ
My Profile
ブログID
nekosan0
自己紹介
Search
このブログ内で
ウェブ全て
DigiSpark来た
Arduino
/
2017年09月23日
Fritzing書籍について、簡単な紹介を追加。
http://picavr.uunyan.com/my_books.html
Fritzingでパーツを作りたいんだけど、SVGファイル
とか色々弄るのはよくわかんないんだよなぁ、という
方は、ぜひ眺めてみてください。
さて、来たよ、来た来た。こないだAliexで頼んでた
DigiSparkが届いた。待ってたよ!!
https://ja.aliexpress.com/item/1pcs-Digispark-kickstarter-development-board-ATTINY85-module-for-Arduino-usb/32584084654.html
早速、モバブーに繋いでみる。
ブートローダがちゃんと動いているっぽい。LEDが点滅。
ちなみに、上のLEDがパワー用、下のLEDがLEDチカチカ用。
さっそく、Arduino-IDEの環境を整理することに。
ちょっと調べてみた感じでは、IDEの設定画面で
jsonファイルを読み込みするように設定すると、DigiSpark
がボード一覧に載るらしいんだけど、Arduino-IDEを起動
してみると、設定画面にそれらしい項目が無い。
どうやら、IDEのバージョンが古いから、そういう画面が
まだ実装されてなかったみたい。以前の、
http://brown.ap.teacup.com/nekosan0/3043.html
このときにも触れたけど、ちょっと新しい環境では
コンパイルがちゃんと通らなくなっちゃってたので、
バージョンアップを先延ばししてたんだよな。
で、腹を決めて、あらためて新しいIDEをインストール
してみる。インストールといっても、例によって
zip版のほうをダウンロードして、解凍するだけ。
複数環境切り替えて使えるように。
最新版をダウンロードしたら、1.8.4になってた。
その前が、1.6.0だから、完全にウラシマ状態。
テキスト編集エリアの操作性も、ぐっと改善されてるのね。
以前は、最上段とか、最下段のあたりをマウスクリック
すると、なぜか勝手にスクロールしちゃう使いにくさが
あったけど、あの辺とかすっかり改善されてる。
で、設定画面開いて、DigiSparkの設定。
http://homemadegarbage.0t0.jp/digispark-1
http://digistump.com/wiki/digispark/tutorials/connecting
このあたりを参考にしました。
これらのページに従って操作すると、インストール作業が
しばらく動いて、ボード一覧に
Digispark(Default - 16.5mhz)
っていうのが増えてるので、それをチョイス。
comポートは実装していないので、選ばなくてもよし。
んで、IDEのファイルメニュー「ファイル」→「スケッチ例」
に、DigiSparkのサンプルがたくさん登録されているので、
その中から、「Digispark_Examples」→「Start」と選ぶと、
いわゆるLEDチカチカのサンプルスケッチが開く。
このスケッチでは、D0、D1を使ってLEDを交合に光らせる
っていう内容になっているんだけど、どうやらこれは、
ファームウェアのバージョン(?)によって、
LEDが実装されているコネクタが異なるらしい。
いつものようにコンパイルして、正常にコンパイルが
できると、60秒以内にDigiSparkを繋ぐように表示される
ので、USBコネクタにプスッと。
初回は、DigiSparkのドライバが入って無いので、
ドライバを入れる必要あり。ドライバは、
http://qiita.com/mt08/items/df4ed8c659b205d1fa1e
ここを参考にして入れてみた。
ドライバが入ったら、あらためて書き込んでみる。
サンプルスケッチをちょこっと修正して、実験して
みると、今日届いたやつは、D1のほうにLEDが付いてた
みたい。
つづけて、PWMでLEDホワンホワンをやってみる。
簡単にサクッと光る。いいねぇ。いいねぇ。
じゃぁ、ってんで、シリアルモニタみたいなデバッグ環境
どうするの?と思って調べてみる。
一つには、ソフトウェアシリアルを使って、USBシリアル
変換ケーブルとかで繋ぐって方法があるみたい。
しかも、驚いたことに、TX/RXをそれぞれ確保するんでは
なくて、1ピンだけで送受信を切り替えて通信するらしい。
https://digistump.com/wiki/digispark/tutorials/debugging
ここにその配線が描かれてる。斬新な回路だなぁ。
もう一つは、DigiUSBっていうライブラリを使って、
HIDデバイスとして通信する方法。シリアル通信と
似たような機能で通信できて、かつ、USBケーブルだけ
で通信できるもの。
ただし、シリアルポートじゃなくて、HID通信なので、
標準のシリアルモニタでは通信できない。
なので、自前で通信プログラムを書くか、これ用の
モニタプログラムをもらってきて使うかする必要あり。
http://iot-dev.blogspot.jp/2016/09/digisparkpc.html
ここで触れられている
https://github.com/digistump/DigisparkExamplePrograms
このページで、モニタプログラムのソースとmakefile
が公開されているので、cygwinでmakeしてみた。
…なんかUSB関係のヘッダファイルが見つからないとかで
エラーになる。makeが通らない。
MinGWじゃないと駄目なのかな?と思って、MinGWを
入れてみる。makeをする。
…やっぱり同じエラーになっちゃう。
なにかをインストールしないと、コンパイルに必要な
ファイルがそろわないのかな?と思って、色々もがいて
みたものの、上手くいかなかった。
けど、色々調べてみると、さっきのgithubのページの、
https://github.com/digistump/DigisparkExamplePrograms
「Clone or download」っていう緑のボタンクリックして、
アーカイブ一式ダウンロードすると、階層の深いところ
に、コンパイル済みのexeファイルが入っているので、
それが使えるみたい。monitor.exeっていうファイル。
http://kghr.blog.fc2.com/blog-entry-89.html
ここに書いてあった。
で、これを使うスケッチをDigiSparkに書き込んでから、
このモニタプログラムを実行すると…
「No DigiUSB Device Detected」
って出てきちゃう。最初原因が分からず、色々と
調べまくったんだけど、なんとなく、ドライバが
ちゃんとあたって無いんじゃね?と思って、改めて
ドライバを入れなおす。
http://denshibu.blog.fc2.com/blog-entry-80.html
ここに書かれている。64ビット版なので、DPinst64.exe。
さて、あらためてモニタのプログラムを動かしてみる。
できた。このドライバでいいみたい。
(上記でインストールしたドライバではだめだった
のかなぁ?それとも両方必要ってことなのかなぁ?)
DigiUSBを使うスケッチを書き込んだDigiSparkを
USBコネクタに差し込んで認識させてから、モニタの
プログラムを実行すると、DigiSparkから送られてくる
文字列が、画面に表示されるという寸法。この辺は、
Arduinoのシリアルモニタとだいたい同じ。
ただ、なんか表示が少し遅いなぁ。少しもたつく感じ。
処理速度が遅いのかな?
DigiSpark基板側は、LEDが規則正しく光っている
ってところを見ると、ドライバか、このモニタプログラム
のどちらかで、処理がもたついているって考えるのが
ただしそう。
あと、USBコネクタに突っ込んでから、モニタプログラム
を起動するまでの通信内容の扱いが、ちょっと微妙だな。
その範囲の通信は、微妙にバッファリングされている
風なんだけど、読み出す(表示されれる)順序が
少しおかしい感じがする。
ある程度処理が進んで、バッファが掃けた後は、およそ
正しい表示が出てくるみたい。
なんにしても、Arduino-IDEのシリアルモニタに比べて、
機能が乏しいので、あくまでデバッグ用のちょっとした
通信に使うっていう感じになるなぁ。
とりあえず、DigiSparkが動くことが分かって、最低限
のデバッグ環境は手に入ったので、ちょっとずつ使って
行こう。
まずは、例のLEDホワンホワンの蝋燭だな。
http://brown.ap.teacup.com/nekosan0/2186.html
PWM出力は使えることが分かったんだけど、これ、
ハードウェアPWMなのか、それともソフトウェアPWM
なのかが判ってない。うわさによると、ハードウェア
PWMは1こだけで、残りはソフトウエアPWMらしいん
だよな。まぁ、PWMっぽくホワンホワンとしてくれれば
どっちでもいいんだけど。
あとは、HIDデバイスとして、キーボードとかの
エミュレーションしたりもできるらしいので、
そんなのも試したいところ。
それにしても、こんな色々遊べそうなものが100円
そこそこで手に入っちゃうのは、いいねぇ。
コネクタ、どうするかなぁ?Arduinoみたいに、ピンソケット
生やすのがいいのか、ピンヘッダ生やすのがいいのか…
複数買ったので、バリエーションあってもいいよな。
あと、HIDデバイスをゴニョゴニョするためのプログラム
が自由に書けるといいなぁ。面白そうなデバイス作れそう。
それにしても、せっかくMinGW入れたのに、コンパイルが
通らないの、ちょっと残念だな。コンパイル通ったら、
そのプログラムをゴニョゴニョして、DigiSparkと通信
するプログラムを書いてみたりしようと思ってた
のに。
https://www.youtube.com/watch?v=Jl9nAfqZKOQ
コジコジさんの、ジャンクショップで買ってきたドラム
マニアコントローラを改造して、MIDI化するっていう
お話。面白い。
中身とか制御方法とかは、まぁ、想像ができる範囲
だったんだけど、実際に加工して、スケッチ書いて、
演奏までやってみるのが面白かった。
やっぱ、PCにUSB-MIDで繋ぐと、レイテンシが大きい
のかな。PC繋いで鳴らしてるときは、すごい遅い。
もう、0.5秒くらいはある感じで、とても楽器として
成立して無い。
でも、音源繋いで(?)演奏してる様子をみるかぎり、
レイテンシは感じられないからなぁ。やっぱ、
音源次第なんだろうなぁ。
そういえば、以前、ArduinoをMIDIマスターに、PCを
MIDI音源に使ってみたときに、やっぱりPC音源では
すごいレイテンシが有って困った記憶があるけど、
やっぱ、PCをMIDI音源として使っちゃうのは、ちょっと
無理があるみたいだな。
コメント (
0
)
goo ブログ
ブログの作成・編集
gooおすすめリンク
おすすめブログ
【コメント募集中】スタッフの気になったニュース
@goo_blog
【お知らせ】
ブログを読むだけ。毎月の訪問日数に応じてポイント進呈
【コメント募集中】goo blogスタッフの気になったニュース
gooブロガーの今日のひとこと
訪問者数に応じてdポイント最大1,000pt当たる!