【Arduino】を使った電子工作で野球日本代表を応援!
【Aruduino】というお手軽に電子工作ができるシステムを使って、電子工作に入門してみました
その練習として、プレミア12に便乗して「野球日本代表応援マシーン」を作りました
私は機械設計を専門としておりますが、今どき機械部品だけで動く製品なんて無いですよね。
会社で働いてるときはその電気的な部分は別の人にやってもらえてましたが、ひとりではそうもいかないので、ちょっと電子工作を勉強してみようと思い立ちました。
電子工作というと、半田ごてを使って細かい作業をやっていくイメージでしたが、いろいろ調べてみると今はもっとお手軽にできるシステムがあるらしいことがわかりました。
そのひとつが【Arduino】というものです。
通常の電子工作はマイコンを基盤にくっつけて、そこにいろんな要素を半田付けしていくんですよね。
それに対してArduinoはすでにマイコンやら入出力端子やらが基盤にくっつけられたものが、ひとまとまりで売っています。
しかも、配線はピンが生えた電線を使って、「ブレッドボード」というものに刺していくスタイル。
つまり、半田付けの作業がいらないのでお手軽だし、回路の組み替えも簡単にできちゃいます。
何はともあれ、今回作ったものの動作を動画にしましたので、お時間があればご覧ください。
Arduinoで回路を組むとこんな感じ
上の動画の舞台裏はこんな感じです。
Arduinoには目的に合わせて使い分けられるバリエーションがいくつかあるんですが、今回はスタンダードな【Arduino Uno】を購入しました。
動作を開始、終了はスイッチ(この写真では隠れて見えませんが)で行うようにプログラムしました。
プログラム自体は電源をつないだら走り始めます。
電源はUSBからの給電が可能なので、ここでは手持ちのモバイルバッテリーを使いました。
温度センサで検知した温度がとある温度になったらサーボモータの旗振りとLED点滅の間隔が変わるようにし、CDSセルという明るさを検知できるもので、暗くなったらLEDを点灯させるようなプログラムにしました。
上でも書いたように、半田付けがいらないので電子工作初心者にも安心です。
プログラムの作成とArduinoへの書き込みは「Arduino IDE」というソフトを使って行います。
基本はC言語ベースになっていて、Ardurino用に入出力の指示用の関数やライブラリが準備されているので、意外に苦労することなく作ったものを動かせちゃいます。
C言語は去年バイクの免許を取りに教習所に通ってたときに、キャンセル待ちの時間を使って勉強してたのが役に立ちました。
何がどこで役に立つかはわからないもんですね。(元々はiOSアプリを作るための前段階として勉強してましたが、そちらは挫折)
Arduino勉強のために購入したもの
上の2つのキットにArduino Unoを含めて今回作ったのに必要なものが含まれています。
今回使ったのは
- Arduino Uno
- ブレッドボード
- ジャンパーワイヤー
- タクトスイッチ
- CDSセル
- 抵抗器
- LED
- 温度センサー(LM35DZ)
- サーボモーター
今回買った本には温度センサーとサーボモーターを扱うページが無かったので、こちらのサイトを参考にさせていただきました。
温度センサといっても、温度計のように温度を表示してくれるわけではありません。センサの三本足のうち、左側(+Vs)はArduinoの5V電源につなぎ、右側(GND)をArduinoのGNDに接続します。Arduinoにスケッチを送り込んで処理を開始させると、真ん中のVoutから、温度に応じた電圧を出力します。これを温度換算し、Arduino Serial Monitorで表示させてみるということです。
ラジコンを左右に方向を変えるためのステアリングの実装を考えてみます。
これまでのようにDCモーターを利用すると考えたときに、右に30度ハンドルを切るというような処理をできるでしょうか?瞬間的にモーターを回して30度だけモーターを動かせば・・・と考えてみても、ちょっと実現が難しそうですね。そこで登場するのがサーボモーターです。
とりとめのない感じになってしまいましたが、お伝えしたかったのは「Aruduinoを使った電子工作はお手軽なので楽しくできる」ということです。
わからないことがあっても、ネット上に情報がたくさんああるので路頭に迷うことは少なそうです。
今回やった電子工作は私自身の入門編ということもあってかなりショボかったですが、Arduinoではいろんなことができて、BluetoothやWi-Fi通信を使うとかなり夢が広がりそうです。
私はそこまでたどり着けないと思いますが、もっと勉強して楽しみたいと思います。