Arduino盲人杖:視覚障害者向けスマート近接センサー
部品と材料
| 部品名 | 数量 | 備考 |
|---|---|---|
| Arduino UNO | 1 | |
| ハンダレスブレッドボード フルサイズ | 1 | |
| 超音波センサー HC-SR04(汎用) | 1 | |
| ブザー | 2 | アクティブ/パッシブ各1 |
| LED(汎用) | 1 |
必要な工具と機器
- セロテープ(杖への固定用)
アプリとオンラインサービス
- Arduino IDE
プロジェクト概要
街で白杖を持つ視覚障害者が周囲の助けを必要としているのを見て心を痛め、このプロジェクトを始めました。超音波センサーで前方の障害物を検知し、距離に応じてLEDとブザーで段階的に警告するスマート杖です。
コード
アップロード用コード (C/C++)
/* 視覚障害者を助けるスマート杖 */
#define trigPin 9
#define echoPin 8
#define Buzzer1 5 // アクティブブザー
#define Buzzer2 7 // パッシブブザー
#define Led1 6 // 振動モーター/LED用
int sound = 250;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(Buzzer1, OUTPUT);
pinMode(Buzzer2, OUTPUT);
pinMode(Led1, OUTPUT);
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delay(2);
digitalWrite(trigPin, HIGH);
delay(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1; // cm換算
digitalWrite(Buzzer1, LOW);
digitalWrite(Buzzer2, LOW);
digitalWrite(Led1, LOW);
if (distance < 40) {
digitalWrite(Led1, HIGH);
delay(2000);
}
if (distance < 20) {
digitalWrite(Led1, HIGH);
delay(2000);
digitalWrite(Buzzer1, HIGH);
delay(2000);
}
if (distance < 10) {
digitalWrite(Led1, HIGH);
delay(2000);
digitalWrite(Buzzer1, HIGH);
delay(2000);
digitalWrite(Buzzer2, HIGH);
delay(2000);
}
}
回路図
超音波センサー、2つのブザー、LEDをブレッドボードに実装し、ジャンパーワイヤーでArduinoに接続。完成した回路をセロテープで杖に固定します。

製造プロセス
- Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
- 1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
- Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
- DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
- 非接触温度スクリーニングゲート:Arduino MKR1000で迅速・高精度な検温
- Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
- ゲーム用カスタムArduinoジョイスティックハンドルの製作
- ArduinoとTEA5767で作る高性能FMラジオ受信機
- Arduino 101で作る万歩計:DHT11温湿度センサー&LCD表示付き