ラベル Arduino の投稿を表示しています。 すべての投稿を表示
ラベル Arduino の投稿を表示しています。 すべての投稿を表示

2025年3月16日日曜日

Emoji Robot

The robot is for educational purpose and is programmed without language.  Main components are Arduino Nano, OLED display, ultrasound distance sensor, reflective photo sensors, IR receiver, speaker, motor driver and geared motors.



 

 

 

 

 

 

 

The program is entered using an IR remote control shown below.  Regular TV remote controls can also be used after teaching its IR codes.




 

 

 

 

 

Below is a program of zigzag motion.  Small arrows are robot movement, and the big arrow at the end is the instruction to go back to the beginning.  Each motion continues 0.8 seconds (takt time).

 

 

 

 

 

 

Here is the video.



Below is a program of line following.  The first triangle instructs the robot to keep moving (as opposed to 0.8 sec takt time).  There are 4 blocks (if, else if, else if, and else). 







And here is the video.

 



2021年6月16日水曜日

壁に張り付くロボットの試作

 プログラミング教室でデモをするときに、ホワイトボードに張り付いて動くロボットがあると便利だろうと考え、JK Soft・ランニングエレクトロニクスさんの「うぉーるぼっと」をまねて、Arduino Nanoで動くロボットを作ってみました。

全体像です。メイン基板は別のプロジェクトで作ったもの、N20ギヤモーターとタイヤはうぉーるぼっとBLEのものを流用しています。タイヤの直径は約43mm、摩擦を増やすために液体ゴムを塗ってあります。


裏側です。電池はリチウム電池2個を直列に接続。中央のネオジウム磁石は直径20mm、厚さ3mmで、真ん中に穴があいているものです。2つのキャスターもどきは、アルミのくるみボタンにプラスチックねじを接着して使っています。

 

横からの写真です。磁石はタイヤに隠れていますが、磁石と壁との距離は2.5mm程度にしています。


動画です。冷蔵庫に張り付けてテストしています。




 

 

 

 

 





2021年6月12日土曜日

Arduino Nano でミニロボット


Arduino Nanoを利用したミニロボットです。 鎌ケ谷市中央公民館でのデジタルワークショップ(2021年8月8日)で使いました。

 


全体像です。台車は9V電池のケース、車輪とDCギヤモータは「ちっちゃいものくらぶ」で調達しました。


KiCADで設計して作った基板です。Seeed Fusion PCBで製造してもらいました。モータードライバとして、秋月のTC78H653またはDRV8835が使えるようになっています。

 

部品を実装した裏側です。白い球形のプラスチックはスペーサーです。(2021/8/7 アップデート)


 

回路図です。(2021/8/7 アップデート)

 

 

細い線のライントレースができるようにしてみました。


カーナビの赤外線リモコンで操縦してみました。


ソースコードは、後日アップロード予定です。



2017年11月8日水曜日

DRV8835を使った2輪倒立ロボの小改良

昨年作ったDRV8835利用の2輪倒立ロボの、その後の改良です。

赤外線受信素子を搭載し、テレビのリモコンで操縦できるようにしました。手持ちの東芝RegzaとLAPIOという液晶TVのリモコンのコードをデコードするようにしてあります。


モーターのPWM音が低周波でうるさいので、周波数を上げました。
このため、今まではモータードライバ用にProMiniの4,5,6,7番ピンを使っていましたが、8,9,10,11番ピンに変更し、
TCCR1B = TCCR1B & B11111000 | B00000001;
でPWM周波数を変更しています。


モーターからのノイズ対策を強化しました。それでもモーターに大電流がながれるとProMiniがリセットされてしまうことがあります。回路図です。



2017年4月27日木曜日

棒テンプ時計の精度アップの試み


メーカーフェア東京2017で展示しました


棒テンプ時計というのは、下の写真のように、時計上部にある、水平に回転するテンプの往復周期に基づいて時を刻む時計です。動力源はおもりです。摩擦や、加工精度、温度、湿度などの影響で一日に十分から数十分の誤差が生じ、それが累積していくので、実用には耐えるとは言えません。



今回は、この棒テンプに取り付けて、慣性モーメントを増減させることにより、テンプの往復周期を一定に保つ仕掛けを作ってみました。まずは全体像です。電源は単四Ni-MHを2本です。



本体正面です。左の黒い基板が地磁気センサー、中央が液晶、下にあるのがねじ付きステップモーターです。黒い球状のものがおもり(釣り用のもの)で、これが左右に移動します。


次に背面です。小さい緑色の基板がモータードライバ、見えにくいですがピンク色の基板がGR-KURUMI、右の黒い基板が磁気センサーです。



時計に本装置を取り付けた状態です。写真では地磁気センサーの代わりにジャイロセンサーがついています。どちらでも可能ですが、磁気センサーのほうが消費電力が小さいようです。



動作原理は、地磁気センサーでテンプの回転を検出し、その周期をリアルタイムクロックで計測します。誤差がある程度以上大きくなった場合に、ステップモーターで小さなおもりを左右に動かし、テンプの慣性モーメントを調整して、誤差を解消します。一週間程度動かして、誤差は+/-約1分程度で十分に実用になります。現状では、電池の寿命が約1ヶ月ですが、さらに低消費電力化を検討中です。

紹介ビデオです。


回路図です。



ソースコードはこちら(別ウィンドウで開きます)

ジャイロセンサーバージョンはこちら

最終更新 2017/8/7


2016年5月7日土曜日

DRV8835で2輪倒立ロボをつくってみました

全体の写真です。白いプラスチックの半円は、転倒したときのダメージ軽減用。



裏側です。電池は単三型Ni-MHを4本。タミヤのダブルギヤボックスをギヤ比114.7:1で使っています。タイヤ径は約55mm。


Arduino ProMini 3.3Vの互換品がeBayで250円くらい。ただし、シリアルのピン配列が純正品と逆でした。



ジャイロ加速度センサーのMPU6050を載せたGY521というモジュール。eBayで200円くらい。Amazonでも買えます。このモジュールには3.3Vを作るためのレギュレーターが載っていますが、入力電圧範囲が3-5Vらしいので、ProMiniから3.3Vを供給しています。I2C通信です。



モータードライバのDRV8835。小さなチップにフルブリッジが2回路搭載されているので、これ1個でDCモーター2個ドライブできます。モーター用電源とロジック電源が分かれているのも使いやすい。モードピンをHIGHにして、ENABLEピンにPWMを、PHASEピンに回転方向を入れています。



距離センサーはGP2Y0A21YK。電源は電池から直結。出力は0から3.3Vの範囲に収まります。距離(mm)の計算はかなりいい加減ですが、95000をanalogRead()の値で割って30を引いています。



ライントレース用センサーは、ヴィストンで安売りしていた反射型赤外線センサーを少し改造。ProMiniから3.3Vを供給し、analogRead()で読み込んでいます。



ライントレースの動画です。


2017年11月5日
その後追加した赤外線リモコンによる操縦機能も入っています。

2017年11月8日