Arduinoとコンデンサマイクで遊びたくなった
調べていくと、オールインワンで安いセンサーがあるなぁ。
これなら簡単そうだ。
rover.ebay.com
FutabaサーボS3003で遊んでみるかー
20年くらい前に、大学の同級生と秋葉原へ行った時買った
サーボモータ全く使わずに放置されておりました。
Arduinoからだと簡単制御できるようなので勿体ないので
使っていかないと。
Webにはいっぱい情報があるし、簡単に扱えそうですね。
注意としてはサーボを動かすのは外部の電源に繋がないといけないようですね。
Servo (Futaba s3003) not working
9Vの電池に7805で5Vに変換してサーボの電源としました。
IDEのスケッチに入っているServoを少し改造して
動かすことができました。簡単でした。すごいなぁArduino。
あちこち例を見ているとArduinoの電源をサーボに供給しているのも
散見されるけども。まぁいいかぁ。これで。
20年前になんのためにサーボモータを買ったのか思い出せない。
メダカの餌やりだったかな??
SD1306でグラフを描写する機能を実装しました
こちらのライブラリを改造して
github.com
無理やり感がありますがなんとかできました。
github.com
これはさすがにpullreq通る代物ではありません。
本当は、ライブラリを利用するライブラリを作りたかったけれど
元のライブラリはそもそもプログラム領域(ROM)に定義したパターンを表示というコンセプト
で作られているので、無理でした。
変数領域(RAM)を表示するようにしてなんとか表示するようにしています。
(Arduinoでは貴重なRAMを消費してしまう)
まぁ、そんな感じですが。とりあえず完成。
使い方
domainは値の範囲を設定。
BYTE_SIZEでグラフの高さを設定します。1,2,3,4バイト。
データの長さは8の倍数で64まで設定できます。
domainという考え方はD3.jsにありましたね。
パクっております、はい。
BYTE_SIZEが4でデータが100だとつまり
32個の液晶が縦に光る感じです。
int data[] = { 10, 10, 20, 30, 30, 50, 60, 70, 90, 100, 80, 95, 70, 60, 50, 40, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, 10, 10, 20, 30, 30, 10, 10, 10, }; lcd.clear(); lcd.setByteSize(BYTE_SIZE_4); lcd.setDomain(0,100); lcd.setCursor(10, 1); lcd.drawGraph(data, DATA_LENGTH_64); delay(1000);
日経平均予想Botが休日もつぶやいてしまっていました
開場日の朝だけ株価予想してつぶやいてほしいのですが
祝日にもつぶやいていました。
原因はexitではなくてsys.exit()を使うと良い感じです。
import datetime import jholiday today = datetime.date.today() holiday = jholiday.holiday_name(date=today) if holiday or today.weekday() ==6 or today.weekday() == 0: exit if today.month == 1 and (today.day==1 or today.day==2): exit if today.month == 12 and today.day==31: exit
import sys import datetime import jholiday today = datetime.date.today() holiday = jholiday.holiday_name(date=today) if holiday or today.weekday() ==6 or today.weekday() == 0: sys.exit() if today.month == 1 and (today.day==1 or today.day==2): sys.exit() if today.month == 12 and today.day==31: sys.exit()
Arduinoもくもく会に参加しました
ちょうど、LCDのグラフ化ライブラリを書こうと思っていたので
よかったです。なんといっても21cafeさんはwifiが使えるし!
おしゃれだし。飲食できるし。
前行った時と違う場所なのかな、移転したのかな。
すごくわかりやすい場所になっていました?!方向音痴の私も迷いません。
そんな感じで、もくもくしていました。Arduinoのライブラリ開発は
初物ですし、頭悪い私には敷居が高いC++ですし。でも
他のライブラリのソースを見ながらなんとか進めていきました。
なんとか、コンパイルエラーが出ないところまでいきました。
結局液晶表示確認まではいきませんが、めどはついてきたと思う。
後半は、ワイワイ披露会になりました。やはりハードは目に見えるので
見ていて楽しいですね。会話も弾みます。
ラジコンは、UI部品が揃っているというのがすごいですね。便利ですね。
筋肉モデルには興味を覚えました。(安価という点が二重丸。)
ソラコムさんも、こうまじかで見るとなるほどと思うし。
牛のいじめを検知する話とか聞けたり。
そんな感じで楽しいひと時でした。またお願いします。
液晶(SSD1306)が届いたので試してみた
ライブラリ
I2Cの液晶SSD1306が届きました。
使用したライブラリは、以下です。
このライブラリのMicroLCDを使いました。
何もトラブルなく、簡単に、表示までできました。
github.com
グラフ化したい
せっかくなのでグラフ化もしてみたいと思って、
ごにょごにょ調べてみたけれど。
以下のようなライブラリみたいなものを発見。
LiquidCrystal.hというヘッダを参照しているようで何か違うようだ。
LiquidCrystalという別の液晶用のライブラリもあるようだ。
いや、こちらの方がむしろスタンダードなライブラリみたいな感じです。
Arduino Playground - LCDBitmap Library
MultiLCDベースでグラフ化できないか?
LCDBitmapのグラフ機能をMultiLCDで動くようにしたいなぁ。
ASUS タブレット充電できなくなる
1年少し使った。ASUSのAndroidタブレットのUSBタイプCのコネクタ部分が劣化して
充電できなくなる事象が発生。前回もNexus7で同じ症状になってしまったので
ノジマの5年保証に入っていたおかげで、無料で直してもらえました。
丁寧に使っているつもりですが、充電した状態で
ケーブルに足をかけたりして本体に負荷をかけてしまったりするので。
AliExpressでUSBタイ プCをマグネット接続に変える端子が売っていたので
買ってみた。届いたら試してみよう。