完全自作キーボードへの道2:Arduino Lチカ編

Arduino connected to the PC
前回、完全自作キーボードへの道の大いなる小さな一歩として、Arduino Micro他電子部品を買い揃えましたので、早速次のステップ「Lチカ」に挑戦したいと思います。

上の写真で早速LEDが光っていますが、これは別にLチカじゃないです。何もしてません。接続ランプのようで、USBでPCにつなぐと勝手に光りました。青いLEDカコイイ。

 
 
オリジナルキーボードを作ってみる その4「Arduino入門編」 – ゆかりメモ
http://eucalyn.hatenadiary.jp/entry/original-keyboard-04

Lチカの手順は上記ページにすっかりまとめられていますが、それより先に、まずはArduino IDEが必要です。下記ページからダウンロード、インストールします。

Arduino – Software
https://www.arduino.cc/en/main/software

さて、あとは先程の入門編に従って、早速Lチカを行うソースコードを入力します。電子工作はさーっぱりわかりませんが、プログラムは人より少しだけわかるので、delayの意味とかはなんとなくわかる……

ちなみに、Arduinoのソースファイルの拡張子はinoでした。Arduinoの末尾かな。Arduino IDEはフォントが変更できなさそうなので、外部エディタを使うことにしました(ソースファイルを編集する時にフォントを変更するのが大好きです)。
ファイル→環境設定の中にある「外部エディタを使用する」にチェックを入れておくと、ファイルがArduino IDE上では変更できなくなりますが、ソースファイルを他のエディタで編集してArduino IDEに戻ってくると最新のファイルが読み込まれます。
ちなみにAtomでinoファイルを開いたところ、シンタックスのハイライトも勝手にやってくれました。

ソースを入力し終わったら早速Arduino本体に転送します。Arduino IDEのツールバー左にあるArduino IDE Verify Buttonボタンがソースコードの検証で、文法エラーとか指摘してくれます。その横にあるArduino IDE Upload ButtonボタンがArduinoへの書き込みです。転送時には検証も行われ、エラーがあればそもそも転送できないので、とりあえずボタンだけで良さそうです。

 
 
Arduino IDE Error: Board is not selected
初めて書き込みした結果がこれ。早速エラー出ちゃってます。エラーメッセージはちょっとよくわかりません。調べてみると、これは正しくボードが選択されていないというエラーでした。

 
 
Arduino IDE: Select appropriate board
ツールメニューからボードが選択できます。Arduino MicroはLeonardo系ということで「Arduino Leonardo」を選択します。
あとで気がついたんですが、Arduino/Genuino Microというのもありますね…… どっちが正しいんだろう? とりあえずはArduino Leonardoで問題ありませんでした。

 
 
Arduino IDE Error: Wrong serial port
正しいポートを選択したのにやっぱり駄目!
でも今度はエラーメッセージから原因がなんとなくわかります。

 
 
Arduino IDE: Select appropriate serial port
ボードの選択と同様に、ツールメニューからArduino Microが接続されたポートを選択します。といっても、選択肢にはArduinoが接続されているポートしか出てこないのでわかりやすいです。

 
 
Arduino Micro LED Blink!
今度こそ書き込み成功しました! わかりにくいですが、コネクタ近くにある緑色のLEDが1秒毎に点滅しています!!
ちなみにこの緑色のLEDですが、書き込む時にもインジケーターとして光るようです。

初歩の初歩ですが、なんとなく勝手がわかりました。せっかく購入したブレッドボードやらスイッチをまだ使ってませんが、ゆかり氏の記事に従って、次回はスイッチを押すと光るようにしてみます!

これまでの完全自作キーボードへの道はこちらです。
http://romly.com/archives/tag/build-my-own-keyboard

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください