自己紹介
こんにちは。N高等学校1年次生(9期生)、まだいと申します。主に編み物とゲームばっかりしているエンジニアとは程遠い人間です。普段文系をやっている人間なので、プログラミングは気になった言語(Python、HTML、JS)を少し齧ってみる程度しか知らないです。
なので、用語はほぼ出ません。初心者の方に優しい記事...?()
経緯
N/S高の通学コースにおける学期システムは4学期制です。
1学期を「1クオーター」もしくは「1Q」と呼びます。
私の所属するN/S高等学校の通学コースの授業には電子工作をする授業...というか、4Qを通じてとかではなく2Qに電子工作をするみたいな授業がありました。
そこでキャンパスフェスティバル(文化祭のようなもの)で作った電子工作を発表するという機会があり、そのために作ることとなったというのが経緯です。
用意するもの
マイコンボード 今回はArduino UNOの互換ボード「ELEGOO UNO r3」を使用します
大量のケーブル 配線に必要なやつです とりあえずたくさん用意しとけばいいと思います(何本使ったか覚えてないとか言えない)
可変抵抗器 今回はネジを回すと抵抗が変わるボリューム型のものを使用します
LCD(ディスプレイ) 互換ボードのセットに入っていたものを使います
ブレッドボード こいつがいなきゃ始まらない。
作り方
どう足掻いても完成品以外の写真がないのでfritzingの配線図になります。
まずはブレッドボードにLCD(ディスプレイ)を挿します。これを元に配線を進めます。
こんな感じで。
可変抵抗器はこのネジみたいなやつを使っています。だいたいこの通りに組めば大丈夫です。
プログラム
マイコンボードに書き込むプログラムを書いていきます。
今回は四日市キャンパスのキャンパスフェスティバルでの展示品なので「Welcome to YokkaichiCP!!」と表示させます。
前述の通り私はちょこちょこ気になる言語を齧る程度しか触っていないのでこればかりは調べました。電子工作は少しだけそれに近いものを小学生の時授業や課外活動でやらせてもらったことがあるのでちょっと調べたらどうにかなるんですが。
マイコンボードに書き込むために
今回は「Arduino IDE」というアプリを使います。このアプリでプログラムを入力します。
なお言語はCを元にした独自言語、とのことだそうです。
このコマンドは上が2行目に表示される内容、下が1行目に表示される内容になっています。変更する際はお気をつけて。
英字しか表示できません。日本語は文字化けしたので、どうしても日本語がいい場合はローマ字を検討してください。
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
lcd.begin(16, 2);
lcd.setCursor(2, 1);
lcd.print("Yokkaichi CP!!");
}
void loop() {
lcd.setCursor(0, 0);
lcd.print("Welcome to");
}
このコマンドを打ち込みます。
表示させる文字を変えるときは「lcd.print("Yokkaichi CP!!");」と「lcd.print("Welcome to");」のダブルクオーテーションの中身を好きな文字に変えればなんでも表示させられます。
書けたら繋がっているボードの名前が太字になっていることを確認して、検証(チェックマーク)と書き込み(右矢印)を行ってください。「Arduino UNO」などのボードの名前が太字になっているようにしてください。
これで全ての工程が完了です!お疲れ様でした。
欠点
配線を少し握ると文字化けします。また、特定の状況下で場所移動させると文字化けします。おそらく気温が高い状況かと思われますが、真偽は不明です。
文字化けしても、書き込みをすると直るので、文字化けした場合はもう一度Arduino IDEから書き込みを行ってください。
完成品
当日実際に展示したものがこれです。可変抵抗器で文字の見え方を変えることができるので、ねじを回して調整してください。
ハロウィンの日に授業があったのでプログラムを書き換えて作ったもの。こんな感じで割となんでも表示できます。
終わりに
電子工作については本当にやったことがなくて、とても面白くて貴重な体験だったなあとしみじみ感じます。Arduinoは割と参考になる資料が多くあって入門にちょうどいいのかなと思います。ぜひ気になっている方、一度やってみてはいかがでしょうか。
参考文献