福野泰介の一日一創 - create every day

1ピクセル カラーコピー機を作る - IoTセンサー入門 with IchigoJam

2018/08/16
#IchigoJam #maker 

いろいろ計測、解析して楽しいIoT。手軽に買えて、手軽に使えるセンサー、いろいろあります! オープンな通信プロトコル、I2Cを使ったセンサーはアナログ入力より難しいですが、SCLとSDAだけで何個も接続できて、デジタルで値を取得できて便利です。 まずは気になるセンサーを使った、写経から!

TCS34725を使ったカラーセンサーモジュールとWS2812Bを使って、色コピー機を作ってみました。(カラーセンサーモジュール at Strawberry Linux

必要な治具をつくっていきます。
右:カラーセンサーモジュールのSCL、SDAをIchigoJamのSCL(EX1)とIN3(SDA)に接続し、白色LEDを1kΩ経由でOUT2接続。
左:CN5用の5ピンを2列使えるように拡張し、WS2812Bを5Vからダイオードで0.6V降圧して、OUT1からの信号で制御!

裏面はこのような感じ。Upverterでプリント基板化してしまうと楽できそう!

続いてプログラム!

1 'color copy 2 POKE#700,240,181,114,182,64,24,80,33,9,2,1,49,9,4,4,136,1,48,128,37,1,48,3,120,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38 3 POKE#728,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,60,234,209,98,182,240,189 10 OUT2,1 25 POKE#800,#81,#C0:?I2CW(#29,#800,2) 30 POKE#800,#80,3:?I2CW(#29,#800,2) 40 POKE#800,#94:U=I2CR(#29,#800,1,#800,8) 50 ?[0],[1],[2],[3] 54 D=4 55 POKE#800,3,0,[2]>>D,[1]>>D,[3]>>D 56 U=USR(#700,#800) 70 GOTO40

2-3行: WS2812B用ドライバ(OUT1)
10行: 白色LED点灯
25行: 色計測時間を154msecに設定(TCS34725 データシートより)
30行: カラセンサー計測開始!
40行: クリア、R、G、Bをそれぞれ16bitで取得
50行: 表示
54行: 輝度調整(大きいほどに暗くなる)
55行: WS2812B点灯用設定
56行: WS2812B点灯

赤が多めにでています。

透明アクリルを上に敷くと安定して読み込めるはず。 結構精度よく値がでてくるので、バーコードなどの替わりに色を印刷したカードで識別する仕組みづくりなどもおもしろそう。 サーボやモーターで動かせば、スキャナだって作れちゃいますね!

センサーの探し方
センサ・セレクションガイド - ストロベリーリナックスカタログ)」ワクワクする実用的なセンサーが続々登場!
センサ一般 秋月電子通商-電子部品・ネット通販」いろんなセンサーがあります!
「センサー名 IchigoJam」や「センサー名 Arduino」で検索して、作例を探して、簡単に作れそうなものからチャレンジしてみましょう。

地図アプリでふりかえる、センサーとまちあるき!まちをよくするアイデアとIchigoJamプログラミングつぎのいっぽ

2018/08/12
#opendata #IchigoJam #KidsIT #shinagawa #codefor #PCN #maker 

じぶんでつくったパソコンにセンサーを搭載して、品川をまちあるき!

IchigoSensors opendata - 品川まちあるき
温度、湿度、UV、音量、速度をみちびき対応GPSで取得した位置情報と合わせて印刷して二次利用可能な国土地理院地図にマッピングするアプリ作りました。


まちあるき前、THETA、360度写真!グループに分かれ、それぞれスタッフが2名程、同行します。


パソコンはんだづけしたDay1に続く、Day2は、IchigoSensorsを持ってまちあるき!


防災ヘリポートの中央でTHETA、360度撮影。マリオギャラクシーみたいでしょ?


楽しそうな遊具には釣られて、たこさん公園の計測スタート


たこさん内部!


たんけんセットにmicroUSBケーブルをかませて、袋にモバイルバッテリーを入れる工夫


セミ発見!


セミの抜け殻ゲット!なんと、通販で買える時代!


水の近く、温度は?湿度は?


こどもが発見、みみずを食べているトカゲ、SR!


品川区役所内の発電量の電光掲示、リアルタイムオープンデータ化すると公園の日射量参考になりそう。


気がついたことは何でもメモ!品川区では標準装備という、たんけんセットが活躍


ヒヤリハット地図、いろんな地図と重ねてみるのもおもしろそう?


打ち水でどのくらい温度は下がるのか?湿度はどうなる?データと合わせてコンクールに出してみるのもいいですね。
打ち水大作戦しながわ2018|品川区


データ計測のため協力していただいた「品川区立豊葉の杜学園
最近の体育館はアリーナと呼ぶ?体育に限らない多目的感?


まちあるき終了、一時回収、IchigoROM、17人分。歩いて集めたデータがつまってます!


USBシリアルでパソコンに取り込み、早速オープンデータ化。地図を印刷してアプリづくりの参考にしてもらいます。


まちあるきの体験や、いろいろメモをもとに、誰に、どんなアプリをつくるか考えて、絵にしよう!
母親、妹にヒアリングして、ほしいというアプリを40コ集めた便利アプリ集!


夏のまちあるきで、おじいちゃんを助ける雪案内という発想!


紫外線から逃げよう、UVescape(ユーブイエスケープ)、名前もいい!


データを計測することそのものが楽しかったからそれをアプリに!?
全員全く違う、17のステキアイデア、それぞれ一人ずつ発表してもらいました!


自分でつくるアプリづくりのだいいっぽ、画面と大まかな動きをつくる技を伝授する、プログラミング講座、つぎのいっぽ!(はじめのいっぽ@Day1

CLS、LC、?(PRINT)、WAIT、GOTO、IF INKEY()=0 CONT を使いこなせるようになれば、アプリのプロトタイピング(試作)や、アニメーション、パワーポイント代わりにプレゼン資料づくりだって自由自在! (参考、シニアハッカソン 2014年

容量が足りなくなったら、LRUNでつなげばOK!IchigoROMがあれば、合計68ファイルつなげるよ。
詳しくは、IchigoJam BASIC-日本語辞書、リファレンスを見たり、いろいろ実際試してみよう!


カタカナキーでローマ字入力、自分だけのアプリづくり、いけそうかな?
IchigoJamプリント」や「はじめてのプログラミング」など、オンライン教材もいろいろ!
自分のペースで、自分の好きなものからチャレンジするのが上達の近道。
コンピューターは一番身近な外国人、仲良くなってね!


兄弟もひとり1パソコン!色違うから間違えない!64ファイル追加で保存できちゃう「IchigoROM」も二人分!


自分のパソコンIchigoJamとアプリアイデアシートとともに記念撮影!2日間のワークショップ、楽しんでもらえて何より!


IchigoSensors opendata
17人分+スタッフ所持(00)を加えた18人分のまちあるきオープンデータができました。
※オープンデータ:誰でも自由に加工して、販売することを含めて好きに使えるデータのこと(出典だけ書いてね)


リンクからデータ種ごとに色分けした地図や、表形式、CSVダウンロードが可能です。
ひとつ、言い忘れ。IchigoROMに記録した、みなさんのまちあるきデータ。IchigoJamで見ることができます!

LOAD120:GSB@ELIST

ずらずらっとデータが表示されますよ!取り込んだデータと同じものです。
実は、IchigoJamだけでもデータ解析できちゃいます。興味があったらチャレンジしてみてねっ

最後にファイル120、121、122に入っている、IchigoSensors用の長いプログラムを紹介。

'file 120 1 'GPS Logger 2 L=16:OUT4,-1 10 FOR J=1 TO 5 20 GSB@THI:GSB@TH:[8]=T:[9]=H:[10]=ANA(2) 30 M=0:FORI=0TO9:A=ABS(ANA(8)-270):M=M+(A-M)*(A>M):NEXT:[11]=M 40 CLS:?[3];".";[4];",";[5];".";[6],[7]:?[8]/10;" ";[9]/10;" ";([10]-310)/2;" ";[11] 50 GSB@LC:WAIT60:NEXT 70 R=FILE()+(LINE()+10)<<8:LRUNFILE()+1 80 LED1:GSB@EPUSH:LED0 90 GOTO10 600 @THI:U=95:LET[U],#062C,#4401,#8808,#884A,#4350,#0C00,#4770:U=#800+U*2:RTN 610 @TH:R=I2CR(#45,U,2,#700,6):[0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):T=USR(U+2,#800)-4500:[0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):H=USR(U+2,#800):RTN 800 @EPUSH:N=0:?I2CR(81,#8E6,2,#8E4,2),M:M=M+1:N=M*L*2:N=N<<8|N>>8&#FF:?I2CW(81,#8E6,2,#800,L*2):N=0:?I2CW(81,#8E6,2,#8E4,2):RTN 810 @ELIST:L=16:N=0:?I2CR(81,#8E6,2,#8E4,2),M 820 IF M FOR I=1 TO M:N=I*L*2:N=N<<8|N>>8&#FF:U=I2CR(81,#8E6,2,#800,L*2):?I;:FOR J=0 TO L-1:?",";[J];:NEXT:?:NEXT 830 RTN 840 @ECL:N=0:M=0:?I2CW(81,#8E6,2,#8E4,2):RTN 900 @LC:LET[96],640,64,#5639,#C6C,#C080,64:?I2CW(62,#8C3,5)+I2CW(62,#8C0,3,#900,16)+I2CW(62,#8C8,3,#920,16):RTN 'file 121 1 'GPS driver (R=return file | return line << 8) 300 CLS:BPS9600:UART3,2 301 K=INKEY():IF!KCONT 304 IFK!=36GOTO300 305 K=INKEY():IF!KCONT 306 IFK!=71GOTO300 308 K=INKEY():IF!KCONT 309 IFK=42UART0,0:P=#900:GOTO700 310 ?CHR$(K);:GOTO308 500 N=0 510 C=ASC(P):P=P+1:IF!CORC=44ORC=46ORC=34C=C=46:RTN 520 IFC>=48&&C<=57N=N*10+C-48 530 GOTO510 540 N=0:IFASC(P)=44RTNELSEFORI=1TOM:N=N*10+ASC(P)-48:P=P+1:NEXT:RTN 700 GSB500:M=2:GSB540:[1]=N:GSB500:[2]=N:GSB500:GSB500 711 GSB500:[3]=N:IFCGSB500:[4]=N:ELSE[4]=0 712 GSB500:GSB500:[5]=N:IFCGSB500:[6]=N:ELSE[6]=0 713 GSB500:GSB500:[7]=N:GSB500:GSB500:GSB500:GSB540:[1]=[1]+N*100:GSB500:[0]=N 800 LRUN R&amp;255,R>>8 'file 122 1 'GPS initilize (connect TXD) 10 BPS9600 20 S="PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0":GSB200:END 200 N=0:FORI=0TOLEN(S)-1:N=N^ASC(S+I):NEXT:UART3:?:?"$";STR$(S);"*";HEX$(N,2):UART0:RTN

links
- こどもも大人もコードフォーじぶんのまち! 品川区はんだづけ&センサー入門、練馬区IoT資料 - with PCN
- IoT実験ボード「IchigoSensors」プリント基板発注 - こども霞が関見学デー満員御礼!
- PCN品川
- PCN五反田
- PCN秋葉原(ロボットなど拡張キット、はんだづけスペースもあり!)

湿度が要!IchigoJam x SHT31で計算する不快指数

2018/08/10
#IchigoJam #maker 

各種センサーをIchigoJamで手軽に使える基板「IchigoSensors
温湿度センサーSHT31を使って、不快指数を計算してみました。

暑いと感じるのは、温度だけでなく湿度、今回は考慮していない風も重要なファクター。


不快指数、日本人は77を超えると不快と感じる人が出始め、85で93%が不快とのこと(Wikipediaより)。
この表によると28度の場所でも、湿度が60%以上あると不快となります。
温度だけ見てはだめですね。(RUN on IchigoJam web - 28度で不快指数を計算)

不快指数をIchigoJamで計算してみましょう。

温度は下一桁まで考慮、湿度は整数(%)で指定し、不快指数を計算します。


プログラムを改造して、同じ温度でいろいろな湿度で、不快指数を計算!
上記の表と同じ値がでています。

IchigoSensorsにSHT31を実装し、温湿度を表示。

10 GSB@TH:?T,H:WAIT12:CONT 600 @TH:U=95:LET[U],#062C,#4401,#8808,#884A,#4350,#0C00,#4770:U=#800+U*2 610 R=I2CR(#45,U,2,#700,6):[0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):T=USR(U+2,#800)-4500:[0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):H=USR(U+2,#800):RTN

続いて、不快指数を計算

10 GSB@TH 20 T=T/10:H=H/100 30 F=T-T*19/100+(T-T/100-143)*H/100+463 40 ?T/10;".";T%10;"C ";H;"%" 50 ?"Fukai Index:";F/10 60 WAIT12:GOTO10

液晶AQM1603に表示

35 CLS 55 GSB@LC 900 @LC:LET[96],640,64,#5639,#C6C,#C080,64:?I2CW(62,#8C3,5)+I2CW(62,#8C0,3,#900,16)+I2CW(62,#8C8,3,#920,16):RTN

IchigoSodaとベータファームなら、ボタンを押したら温湿度をネットへ送信!

55 IF BTN() IoT.OUT T/10*100+H:LED1:WAIT60:LED0

エアコンは、不快指数に合わせて制御すべきかも。
不快日は75以上なのに、日本人は77まで耐えられるという表記がおもしろい。
人によって耐えられる数にどれほど差があるのか!?
夏休み、自由研究のネタにもいいですね。

IchigoJam x IchigoROM x IchigoSensors でつくるGPSロガー

2018/08/09
#IchigoJam #maker 

位置情報をどんどん記録する、GPSロガー。
GPSモジュールも搭載可能なIchigoSensorsで作ってみました。
IchigoSensorsに、GPS受信キットだけを実装しても動きます。(記録にIchigoROM、表示にAQM1602Yを使用)

モバイルバッテリーと組み合わせて、スタンドアローン動作します。緯度経度速度を外でも見やすいLCD表示機能付き。


キーボード、ディスプレイをつなぐだけで、いつでもどこでもプログラムを書き換え可能!


記録は1MbitのEEPROMの自由記録領域64KBに書き込んでいきます。4095点分、記録可能(1データ16byte)。

GPSロガーのつくりかた
1. GPSモジュールの設定を変更する
シリアル送受信を止め、BPS9600に設定する

UART0,0:BPS9600

IchigoJamのTXDとGPSモジュールをジャンパーでつなぐ(IchigoSensorsの場合)
チェックサムを付けてシリアル送信するプログラムを書き込む。

200 N=0:FORI=0TOLEN(S)-1:N=N^ASC(S+I):NEXT:UART3:?:?"$";STR$(S);"*";HEX$(N,2):UART0:RTN

GPSモジュールからのメッセージ、NMEAの内GPSMCのみを1秒おきに取得するように設定する

S="PMTK314,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0":GSB200

* この設定は保存されるので、次回以降は不要

2. プログラムする

1 'GPS Logger 2 BPS9600:L=8 10 CLS:GSB300:P=#900:GSB700:GSB@EPUSH:CLS:?[3];".";[4]:?[5];".";[6],[7]:GSB@LC:WAIT3*60:CONT 'GET 1 line from GPS 300 UART3,2 301 K=INKEY():IF!KCONT 304 IFK!=36GOTO300 305 K=INKEY():IF!KCONT 306 IFK!=71GOTO300 307 ?"G"; 308 K=INKEY():IF!KCONT 309 IFK=42UART0,0:?:RTN 310 ?CHR$(K);:GOTO308 'parse 1 number 500 N=0 510 C=ASC(P):P=P+1:IF!CORC=44ORC=46ORC=34C=C=46:RTN 520 IFC>=48&&C<=57N=N*10+C-48 530 GOTO510 'parse 1 number with the beam setting 540 N=0:IFASC(P)=44RTNELSEFORI=1TOM:N=N*10+ASC(P)-48:P=P+1:NEXT:RTN 'parse GPS message 700 GSB500:M=2:GSB540:[1]=N:GSB500:[2]=N:GSB500:GSB500 711 GSB500:[3]=N:IFCGSB500:[4]=N:ELSE[4]=0 712 GSB500:GSB500:[5]=N:IFCGSB500:[6]=N:ELSE[6]=0 713 GSB500:GSB500:[7]=N:GSB500:GSB500:GSB500:GSB540:[1]=[1]+N*100:GSB500:[0]=N 720 FORI=0TO7:?I,[I]:NEXT:RTN 'EEPROM 800 @EPUSH:N=0:?I2CR(81,#8E6,2,#8E4,2),M:M=M+1:N=M*L*2:N=N<<8|N>>8&#FF:?I2CW(81,#8E6,2,#800,L*2):N=0:?I2CW(81,#8E6,2,#8E4,2):RTN 'LCD 900 @LC:LET[96],640,64,#5639,#C6C,#C080,64:?I2CW(62,#8C3,5)+I2CW(62,#8C0,3,#900,16)+I2CW(62,#8C8,3,#920,16):RTN

* 約3秒おきに記録(10行のWAITで間隔調整可能)
* EEPROMの書き込み、取り出しは「IchigoJamとIchigoROMで作る、高精度な温湿度ロガー」参照
* LCDのドライバは「ボクにもわかる IchigoJam用 I2Cキャラクタ液晶LCDの接続方法 AE-AQM0802, AE-AQM1602A, AQM1602Y」を弱改造

データは下記のように配列8つにいれて、EEPROMに書き出しています。
[0] 日付 1808 年月
[1] 時間 0920 日時
[2] 時間 3406 分秒
[3] 緯度1 3589 度分(南緯の場合マイナスにしたい)
[4] 緯度2 2732 秒
[5] 経度1 13624 度分(西経の場合マイナスにしたい)
[6] 経度2 7071 秒
[7] 速度 0 knot


ハローインターナショナル」にて、未就学児〜小1の子供とお母さん向けのプログラミング体験がありました。IchigoJamでのプログラミングとIoT体験。子供でもお母さんでもできちゃう、未来づくり!

IchigoJamでとことん計測! センサー4種と液晶搭載可能な拡張基板「IchigoSensors」到着!

2018/08/08
#KidsIT #IchigoJam #pcb #maker 

センサー満載「IchigoSensors」を使って高精度温湿度計(SHT31)!

4種のセンサー、GPS、温湿度、UV、マイクに、簡易表示用の液晶を加えた「IchigoSensors」基板できあがってきました! 全部実装すると、正確な時間、緯度経度、高度、速度、温度、湿度、UV強度、音量が取得可能です。

基板に使うものだけ実装して試せます。(下記は液晶のみ実装)

GPSとはシリアル信号でやりとりしますが、混ざってしまうと面倒なので、切り替えようと作っておいたパターン。 物理スイッチを実装するには狭すぎて失敗。替わりにピンヘッダーを立ててジャンパーで切り替えるようにします。

GPS受信機キットの電源電圧は、仕様上3.8V-12Vと書いてありますが、3.3Vで動作してくれることを期待してつくったパターン。 とりあえず3.3Vかけて測ってみると、3.1V、GPSモジュールの仕様を見ると最低3.0VなのでOK!

秋月で買ったセンサー達

ひとまず袋開け作業を済ませてしまう作戦で、1つ組み立て平均時間が17分から11分に!

使ってみたい方、「IchigoSensors - Upverter」こちらのデータから発注可能です。

IchigoJamの宇宙進出! 宇宙と気圧とデジタルリコーダーづくり

2018/07/19
#IchigoJam #space #maker 

宇宙に行ったラズパイ「Astro Pi」に続き、IchigoJamも宇宙進出!

こどもたちがプログラミングした、センサー付き観測プログラム搭載IchigoJamを気球で成層圏にいって、浮力を失うまで持っていき、洋上で回収する大作戦。 楽しみですね!

IchigoJamで宇宙を見に行こう!」いよいよ来週末!


温度センサー、気圧センサー、湿度センサーを搭載、果たしてIchigoJamはちゃんと動き続けてくれるのか!?結果が楽しみです!

試したかったことのひとつ、気圧センサーを使ったデジタルリコーダーづくり。
秋月で買った3V仕様のアナログ気圧センター「MIS-2503-015G(800円)」を使ってみました。

データシートを見ると、ちょっと変わったピン番号のナンバリングと、表記方法ですが、切り欠きを下にした時の右側3ピンに配線するだけと簡単です! 4をIchigoJamのVCC(3.3)、5をアナログ入力IN2、6をGNDにそれぞれ接続します。0.1uFのコンデンサはなくても大丈夫な様子。

MIS-2500 Series Integrated Pressure Sensor データシートより

とりあえず値を見てみましょう。

10 ?ANA(2):WAIT3:CONT

60前後の値がだだーっと出てきます。指で触ってやると増減すればきっとうまくいってます。

熱収集チューブがちょうどよかったので、センサー部分にくっつけてみました。
サウンダーを接続し、デジタルリコーダーにします。

10 A=ANA(2):?A 20 IF A>61 BEEP 50-A 30 WAIT2:GOTO 10


チューブを吹く圧力によって音の変わるデジタルリコーダー第一弾のできあがり!
ひとり一台リコーダーを持つように、ひとり一台のプログラミングできるコンピューターでマイリコーダーを作って合奏も楽しいかも。

手軽に作成できるので、夏休みの宿題にもどうぞ!

ALL ABOUT ベーマガIISP in 大阪 & メイカーズバザール大阪Vol.5 戦利品とIchigoJam Webフォント

2018/07/08
#maker #osaka #IchigoJam 

かつて多くのパソコン少年を魅了した、ベーマガこと、マイコンベーシックマガジン。
大規模オフ会的なイベント「ベーマガ | 日本 | ALL ABOUT マイコンBASICマガジンⅡSP in 大阪
3回目は大阪開催!

歴代ベーマガのアイコン、電子工作マガジン内で復刊したベーマガアイコンは何代目でしょう!?


ベーマガのレジェンドな方々!


会場、満員!出演者入場シーンは写真撮影OK!


電波新聞社の新社長、平山さんと、伝説のベーマガ編集長、大橋さん!
東京、五反田にも誕生、PCN五反田PCN大阪の森さん、共立電子の長者原さん


ラズパイでSimleBASICPi STARTER発売!小林ハカセにサインもらいましたっ


イベントといえば、Tシャツ&タオル!PCNタオル、IchigoJamタオルとか良いかも


ガチャ、完売!


なんと、ベーマガ販売も! by BEEPさん


コモドールのディスプレイに映るIchigoJamがうれしい、共立さんブース


同時開催のメイカーズバザール大阪!


全ピンの波形が見えて、結線をPCからコントロールできる次世代ブレッドボード「Programabble Breadboard
これは欲しい!


動きに合わせて球を回転させることで、無限観測できるダンゴムシ。光に合わせてどう動く!?
リアルとバーチャルの境目が曖昧になっていく感じがおもしろい。


レンダや、波動拳コマンドで100Vのスイッチを入れるマシン!電子工作力があれば、家電もおもちゃ!


琵琶湖で開催されている自律ボートロボコン「びわ湖クルーレス・ソーラーボート大会公式サイト


DJI主催、深センで開催されている、なかなか激しそうなロボコン「ROBOMASTER」のごついろぼ!


PCN上田&PCN三重&共立さん!


PCN上田、IchigoJaManブース


IchigoJam用各種基板を購入!


星型LED基板、LED Starを早速組み立て
好きな色のLEDを、好きな大きさの抵抗で光る明るさを調整して、組み立て可能


くるくるまわって、ランダムな場所で止まる、星型ルーレットのプログラムはこちら!

10 FOR W=20 TO 2 STEP -1 20 GOSUB 100 30 NEXT 40 FOR I=0 TO 30+RND(40) 50 GOSUB 100 60 NEXT 70 FOR W=2 TO 20 STEP 2 80 GOSUB 100 90 NEXT 92 IF N=0 PLAY"T400O5CEGCEG" 95 IF BTN()=0 CONT ELSE RUN 100 N=(N+1)%5:OUT 1<<N:BEEP 4,4:WAIT W:RETURN

IchigoJam フォント TrueType を、WOFFコンバーター(武蔵システム)を使って、ブログ中のIchigoJamプログラム表示をWebFont化してより見やすくバージョンアップ!

IchigoJam WebFont: IchigoJam-1.2.woff / IchigoJam-GRAPH.woff
CC BY IchigoJam http://ichigojam.net/ / BALLOON a.k.a. Fu-sen. http://15jamrecipe.jimdo.com/
WebFonts - W3C - Webフォント、ブラウザ上で使えるフォントデータ)

熱中症対策を自動化しよう! ウェアラブル扇風機 BodyFan をIchigoJamで制御する

2018/06/24
#IchigoJam #maker 

暑い日の外、注意したい熱中症。
LinkDataの豊田さん開発、襟に掛けて中から冷やす、ウェアラブル扇風機「BodyFan
温度湿度に合わせて自動的にスイッチが入ると便利かも?ということで、IchigoJamによる制御実験。

開けて見ると、上部にちょっとしたスキマ。高精度な温度計とLPC1114FDH28を小さくまとめればぎりぎり入るかも?

取り急ぎシンプルに電源スイッチを横取りして、IchigoJamのOUT1で制御するには、この位置に接続。
(モーターを制御するPWM信号線を探して、なつかしの 1/f ゆらぎ出力などにも挑戦したい)

ボタンの片側は電源電圧3.7Vでプルアップされていて、押すとGNDになる標準的なタイプ。
IchigoJamから下記命令でスイッチを押したことなる。

OUT1,0:WAIT3:OUT1,0

ただ、このままでは電源投入時に毎回押したことになってしまうのと、出力時の電圧差が気になるので、IN1へ接続し、INと0出力の切り替えが良さそう。

OUT8,0:WAIT3:OUT8,-1

えりかけ扇風機、はんだづけ時の煙回避にも便利かも。
レッツ、ウェアラブル家電ハック!

links
- えりかけ扇風機BodyFan|ヘルメットファン|熱中症対策研究所
- Amazon | えりかけ扇風機 BodyFan(服の中へ送風可能)首かけ/手持ち/日傘/ベビーカー兼用 USB充電池式 携帯扇風機 (3インチファン, 白) | Cools.jp | 携帯扇風機 通販

指先ひとつで操るコンピューター! ジェスチャーセンサー APDS-9960 on IchigoJam

2018/05/29
#IchigoJam #maker #KidsIT 

魔法のように指先一つで自在にあやつるシクミに役立つジェスチャーセンサー。

秋月電子で売っている「APDS-9960使用光学式ジェスチャーセンサモジュールキット(600円)」が意外と簡単に使えて楽しいです。


指の動きが画面に反映されているのが分かります。

プログラムはこちら

10 POKE#700,65:IF I2CW(#39,#80,#700,1) STOP 20 POKE#700,1:IF I2CW(#39,#AB,#700,1) STOP 30 U=I2CR(#39,#FC,#700,4):Y=PEEK(#701)-PEEK(#700):X=PEEK(#702)-PEEK(#703):CLS:LCX+16,Y+12:?"O";:CONT

10行、20行でジェスチャーセンサーを有効にして、30行で上下左右のセンサーの値を取得し、差分をとってXY座標として表示させています。

生のデータを見たい場合はこちら

30 U=I2CR(#39,#FC,#700,4):?PEEK(#700),PEEK(#701),PEEK(#702),PEEK(#703):CONT


いろいろ使えそうで、わくわくしますねっ

APDS-9960使用光学式ジェスチャーセンサモジュールキット」は、LEDとVCCをIchigoJamの3.3Vへ、GNDはGND、SCLはSCLまたはEX1、SDAはIN3へそれぞれつなぎます。 (単独で使用する場合、裏面JP1/JP2をはんだづけしてプルアップ抵抗を有効にしておきましょう)

IchigoJam対応ユニバーサル基板を使って、オリジナルのシールドにしたり、CN5に接続したりすると便利です。

また、このセンサー、RGBの値を返してくれる色センサーもついています。
白色LEDと合わせて使えば、色を読み取る1bitカラースキャナーが実現できます。

10 POKE#700,3:IF I2CW(#39,#80,#700,1) STOP 20 ?I2CR(#39,#94,#800,8),[0],[1],[2],[3]:CONT

RGB、各色0から1025の値が返ってきます。
センサー感度は、4倍、16倍、64倍にも設定可能

POKE#700,`01:?I2CW(#39,#8F,#700,1):' x4 POKE#700,`10:?I2CW(#39,#8F,#700,1):' x16 POKE#700,`11:?I2CW(#39,#8F,#700,1):' x64

もっと詳しく知りたくなったら、データシートやセンサーの型番で検索したいろいろな作品例と照らし合わせながらあれこれ遊んでみましょう。 センサーが自在に使えると、今まで知っているスキルとの掛け合わせでどんどんできることが増えて夢広がりますよっ。

links
- APDS-9960使用光学式ジェスチャーセンサモジュールキット: 組立キット 秋月電子通商 電子部品 ネット通販

難解アナログ回路へ挑戦、音量測定サウンドモニターボードづくり for IchigoJam

2018/05/21
#IchigoJam #maker 

電源回路の奥深さに触れたネコゴハンマシン。苦手克服のために、共立電子のIchigoJam電子工作パーツセットサウンドレベルメータ」を解析、ユニバーサル基板での実装にチャレンジ。 aitendo大型マトリックス(8x8/I2C)と組み合わせて、なんとなく音量測定サウンドモニターはできました。

音の大きさをマトリックスLEDに表示します。


サウンドレベルメーターの音量検出部分、抵抗値やコンデンサの値を変えながらオシロスコープで観察。


使う部品を決めたので、次は、組み立て。IchigoJamのピン配置がかかれたaitendoのユニバーサル基板、便利!
抵抗 10kΩ、1MΩ、4.4kΩ
コンデンサ 0.1uF x 2
トランジスタ 2SD468
コンデンサマイク WM-61A相当
長ピンソケット 1x14 x2
ユニバーサル基板 P-JAM-EXT-U by aitendo新型基板サイズも


回路図から、ユニバーサル基板での配置を考える時に便利なツール、紙と鉛筆!
使うピンは、アナログ対応のIN2、VCC、GNDの3つだけ。


部品を順番にはんだづけしていきます


できあがったサウンドモニターボードの裏面。リード線をうまいこと使うと楽できます。


IchigoJamに耳が付いたので、「LEDつけて」と大きな声でお願いすると、LEDがつけられます。

10 IF ANA(2)<400 CONT 20 LED1


動画のサウンドモニターのプログラムはこんな感じ。

1 ?I2CW(#70,#21)+I2CW(#70,#81) 2 S=" SOUND MONITOR":FORJ=0TOLEN(S)-1:C=ASC(S+J):FORI=0TO7:[I]=PEEK(C*8+I):NEXT:?I2CW(#70,0,#800,16):WAIT15:NEXT 5 S=0:N=100:FORI=1TON:S=S+ANA(2):NEXT:V=S/N:?V 10 N=10:S=0:FORI=1TON:A=ABS(ANA(2)-V):S=S+(A-S)*(A-S>0):NEXT 20 B=(1<<(S/30))-1 25 FORI=0TO6:[7-I]=[6-I]:NEXT 30 [0]=B 40 ?I2CW(#70,0,#800,16) 50 GOTO10

1行、8x8マトリクスの初期化
2行、タイトル表示 SOUND MONITOR
5行で平均をとって0位置を計測
10行、10サンプルとって最大値を求める
20行、8x8マトリクスに合うように変換
25-30行、スクロール処理
40行、表示
50行、サンプル取得へ繰り返し


秋月電子の高感度マイクアンプキットは3ピン接続だけでお手軽ですが、電源のノイズを大きく拾ってしまうので、波形のきれいな単3電池を使うなど、一工夫いります。

電源、奥深い!


シリコンバレー在住、福井好きのホワイトハッカー、あみるを囲んで福井の未来の語り合い。福井の、日本の、世界のIT力、どんどん上げていきましょー!

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像