SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

zoom用のオーディオデバイス

最近zoomのミーティングや配信をすることが多くなってきたので、新機材を導入。

f:id:shiro0922:20200706130953j:plain

●USBマイクロホン MM-MCU03BK(サンワサプライ
www.sanwa.co.jp

●USBスピーカー MM-SPU8BK(サンワサプライ
www.sanwa.co.jp

どちらもUSBケーブルでPCにつなぐと、zoomからオーディオデバイスとして認識されます。
PC内部のサウンドボードを使わないので雑音が少なく音質が良いのと、マイクとスピーカーをPCから離して好きな位置に置けるので音のループやハウリングが防げます。
手軽な値段でzoomのオーディオ環境が改善できて、お勧めです(^_^)

OLEDジャンプゲーム

OLED(有機EL)の画面で遊ぶジャンプゲームです。
動画はこちら。

【IchigoJam】OLEDジャンプゲーム

f:id:shiro0922:20200703125814j:plain
OLED名札(NameDakeDakeCapName)で遊ぶ想定で作りました。

f:id:shiro0922:20200703131113j:plain
通常のIchigoJamでも、CN5ソケットにOLEDを差せば遊べます。
akizukidenshi.com

プログラム

IchigoDakeのボタンを押すとキャラクターがジャンプします。右からスクロールして来る地面の穴を飛び越えてください。
穴に落ちるとゲームオーバーです。ボタンを押すとリプレイします。

10 '*Jump OLED
20 GSB @INIT:CLS:Y=6
30 LC 0,7:FOR I=0 TO 15:?CHR$(1);:NEXT
40 LC 0,Y:?CHR$(251):GSB @OLED:WAIT 30
50 @LOOP
60 IF !J && BTN() BEEP:J=1:V=-3
70 IF J Y=Y+V:V=V+1:J=(Y<6)
80 SCROLL 28
90 LC 0,Y:?CHR$(251)
100 LC 15,7:?CHR$(RND(10)>0)
110 S=S+1:LC 0,0:?S
120 GSB @OLED:WAIT 3
130 IF SCR(0,7) || J GOTO @LOOP
140 LC 0,Y:?" ":?CHR$(251):GSB @OLED
150 BEEP 30,30:WAIT 60
160 IF !BTN() CONT
170 IF BTN() CONT
180 RUN
190 @INIT
200 let[0],#4000,33,#227F,#700,#B5F0,#1840,#230B,#21B,#18C9,#4694,#2410
210 let[11],#7803,#DB,#18D2,#2708,#2300,#2507,#5D56,#40FE,#415B,#3D01
220 let[21],#D2FA,#700B,#3101,#3F01,#D1F4,#3001,#4662,#3C01,#D1EC,#BDF0
230 let[90],#D5AE,#8D80,#2014,#A100,#DAC8,#8112,#D9CF,#DBF1,#A440,#AFA6
240 ifi2cw(60,#800,1,#8B4,20)?"E"
250 video3:copy#A00,#800,62:clv
260 @OLED
270 for[98]=0to7:i=usr(#A08,#900+[98]*16)|i2cw(60,#A01,1,#B00,128):next:rtn

OLED表示ルーチン(190~270行)は、国野亘さんのプログラムを使わせていただいています。
bokunimo.net

SanadaDakeCar

DakeJacket互換のロボットカー基板「SanadaDakeCar」を作りました。IchigoDakeをさして、BASICプログラムで走ります。

【IchigoJam】SanadaDakeCar

f:id:shiro0922:20200626152227j:plain

f:id:shiro0922:20200627092646j:plain
SanadaDakeCarは基本的にDakeJacket互換機です。IchigoDakeを差すとIchigoJam相当になります。
SanadaDakeCarにキーボードやモニタを付けてプログラミングすることもできますが、別途IchigoDyhookなどでIchigoDakeにプログラムを入れて、そのIchigoDakeをSanadaDakeCarへ差しこんだ方がやりやすいでしょう。

f:id:shiro0922:20200626152122j:plain
前輪はボールキャスター、後輪はサーボモーター駆動です。三輪車です。
過去に後輪がギアボックスのロボットカーを子ども向け教室で作ったことがあるのですが、子どもたちがギアボックス工作にものすごく苦労していました。
それを踏まえて、SanadaDakeCarはローテーションサーボ直結の車輪にしてみました。走行距離などがきっちり決められる利点もあります。

f:id:shiro0922:20200626151351j:plain
車体前面の左右に路面センサー(フォトリフレクタ)を付けると、ライントレースができます。

f:id:shiro0922:20200626152829j:plain
車体前面にセンサーやサーボモーター用のオプション端子があります。
かにロボコン機体にも使うことを想定していますが、実際にどこまでできるか…?

f:id:shiro0922:20200626152841j:plain
車体後部にもモータードライバICとモーターのパッドがあります。

基板データ

f:id:shiro0922:20200627120052p:plain

f:id:shiro0922:20200627120114p:plain

*基板サイズは170×75mmです。サイズが大きいので製作費が割高になります。ご注意ください。
*この基板ガーバーデータは、CC BYライセンスとします。どうぞご利用ください。

(C) 2020 Shiro Saito (https://www.ichigojaman.jp)

プログラム

ライントレース

10 'Line Trace
20 OUT 3,0:OUT 4,0
30 @LOOP
40 PWM 3,155:PWM 4,145
50 IF IN(1) PWM 3,150:PWM 4,125
60 IF IN(4) PWM 4,150:PWM 3,175
70 WAIT 3
80 GOTO @LOOP

PWM3:左車輪サーボ。150で停止(誤差あり)、+αで前進、-αで後退
PWM4:右車輪サーボ。150で停止(誤差あり)、-αで前進、+αで後退
IN1:左路面センサー。1で路面黒、0で路面白
IN4:右路面センサー。1で路面黒、0で路面白