AI創客畢業專題製作_超酷停車場
605 xxxx
xxxx
要用 Arduino 做一個「超音波感測器 + 伺服馬達」的停車場系統,基本概念是:超音波模組偵測車輛距離,當車子靠近時,伺服馬達控制柵欄升降。下面我整理一個簡單的程式流程與範例程式碼,讓你可以直接測試。
l 使用的模組:超音波+伺服馬達
📦 材料清單
·
Arduino
UNO 或
Nano(主控板)
·
HC-SR04
超音波感測器(偵測車輛距離)
·
SG90
或 MG995 伺服馬達(控制柵欄升降)
·
麵包板(方便接線)
·
杜邦線(公對母、公對公)
·
電源供應(USB 或外接
5V 電源)
·
電阻(若需要對 Echo 腳位做保護,可用 1kΩ~2kΩ)
·
LED
燈(紅/綠燈顯示車輛狀態,可選)
·
蜂鳴器(提示音,可選)
·
固定支架或小型模型柵欄(伺服馬達連接柵欄用)
·
l 接線圖
⚙️ 接線方式
- HC-SR04:
- VCC → 5V
- GND → GND
- Trig → D9
- Echo → D10
- Servo:
- VCC → 5V
- GND → GND
- Signal → D3
程式碼:copilot AI生成
#include
<Servo.h>
Servo
gateServo;
const int
trigPin = 9;
const int
echoPin = 10;
const int
servoPin = 3;
long
duration;
int
distance;
void
setup() {
gateServo.attach(servoPin);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
gateServo.write(0); // 初始柵欄關閉
Serial.begin(9600);
}
void loop()
{
// 發送超音波
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// 接收回波
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2; // cm
Serial.print("Distance: ");
Serial.println(distance);
// 判斷距離
if (distance < 20) {
gateServo.write(90); // 車子靠近 → 柵欄打開
} else {
gateServo.write(0); // 沒車 → 柵欄關閉
}
delay(200);
}
留言
張貼留言