AI搭載LCDコンパニオンを自作: インタラクティブな相棒
部品と用品
| Arduino UNO | ×1 |
| ロータリーポテンショメータ | ×1 |
| ジャンパーワイヤー | ×19 |
| ブレッドボード | ×1 |
| タクトスイッチ | ×4 |
| 抵抗 100Ω | ×3 |
| 抵抗 221Ω | ×1 |
| Adafruit 16×2 LCD (白文字/青背景) | ×1 |
アプリとオンラインサービス
- Arduino IDE
- Arduino Web Editor
このプロジェクトについて
孤独な時に寄り添ってくれる相棒を作りました。
コード
自由に拡張してください。拡張版はコメントで共有しましょう!
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int buttonPin = 9;
int buttonState = 0;
const int buttonPin2 = 10;
const int buttonPin3 = 8;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
lcd.begin(16, 2);
lcd.print(" (.) (.) Hi I");
lcd.setCursor(2, 2);
lcd.print("(____) am Robi");
delay(2000);
lcd.clear();
lcd.print(" (.) (.) You ");
lcd.setCursor(2, 2);
lcd.print(" ____ can talk");
delay(2000);
lcd.clear();
lcd.print(" (-) (-) to ");
lcd.setCursor(2, 2);
lcd.print(" (____) me!");
delay(2000);
lcd.clear();
lcd.print(" (.) (.)Tap");
lcd.setCursor(2, 2);
lcd.print(" ____ the");
delay(2000);
lcd.clear();
lcd.print(" (.) (.) but");
lcd.setCursor(2, 2);
lcd.print(" (____) ton");
delay(2000);
}
void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
lcd.clear();
lcd.print("Hello I am");
lcd.setCursor(2, 2);
lcd.print("Alexander");
delay(2000);
lcd.clear();
lcd.print(" (*) (*) Hi!");
lcd.setCursor(2, 2);
lcd.print(" (____)");
delay(2000);
lcd.clear();
lcd.print(" (.) (.)Let's");
lcd.setCursor(2, 2);
lcd.print(" ____ play");
delay(2000);
lcd.clear();
lcd.print("OK!");
lcd.setCursor(2, 2);
lcd.print(" But Where?");
delay(2000);
lcd.clear();
lcd.print(" (.) (.) Park");
lcd.setCursor(2, 2);
lcd.print(" (____)or home?");
delay(2000);
lcd.clear();
lcd.print("Left = Park");
lcd.setCursor(2, 2);
lcd.print("Right = Home");
delay(2000);
}
buttonState = digitalRead(buttonPin2);
if (buttonState == HIGH) {
// 公園ルートの会話シーケンス
lcd.clear();
lcd.print("You go to");
lcd.setCursor(2, 2);
lcd.print("the Park...");
delay(2000);
// ... (以下、公園でのやり取りが続く)
}
buttonState = digitalRead(buttonPin3);
if (buttonState == HIGH) {
// 自宅ルートの会話シーケンス
lcd.clear();
lcd.print("You go to");
lcd.setCursor(2, 2);
lcd.print("your home...");
delay(2000);
// ... (以下、自宅でのやり取りが続く)
}
}
回路図

製造プロセス
- Arduino UNOとMAX7219で作るUFOアタックゲーム – レトロなドットマトリクスシューティング
- Arduino Nanoで20kHzオシロスコープを自作:Nokia 5110 LCD搭載・簡易DIYガイド
- スマートブラインド:Arduinoとソーラー電源で実現する自動光制御
- 3D RGB アルドゥクロック:Bluetooth対応LED時計(RTC内蔵)
- 川の健康を見守る:Arduinoベース水質監視システム「MyRiver」
- Arduinoでシンプルな障害物センサーを自作 – IR LEDとフォトダイオード入門
- Arduinoとジョイスティックでインタラクティブゲーム – LEDフィードバック付き
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- Arduino Nanoで自作オシロスコープ(10Hz〜50kHz)128×64 LCD搭載
- Arduinoで作る自律走行ミニローバー
- ゲーム用カスタムArduinoジョイスティックハンドルの製作