## 第十周周記 - Arduino 學習紀錄 - 超音波程式碼 ``` //超音波測距模組HC-SR04 const byte trigPin=12; //超音波測距的 觸發腳 const byte echoPin=13; //超音波測距的 回應腳 float d; void setup() { //設定輸出輸入 pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); //開啟串例傳輸 Serial.begin(9600); } void loop() { //測距離 d = sr04() * 0.017; Serial.print(d,1); Serial.println("cm"); delay(1000); } //超音波測距函式 //送 10μs 脈波給 HC-SR04 觸發腳(trigger pin),並計算 回應腳(echo)變成高電位的時間 unsigned long sr04() { digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); return pulseIn(echoPin, HIGH); } ``` - 伺服馬達 ``` #include <Servo.h> //載入函式庫,這是內建的,不用安裝 Servo myservo; // 建立SERVO物件 void setup() { myservo.attach(9); // 設定要將伺服馬達接到哪一個PIN腳 Serial.begin(9600); } void loop() { myservo.write(0); //旋轉到0度,就是一般所說的歸零 Serial.println("0 degree"); delay(1000); myservo.write(90); //旋轉到90度 Serial.println("90 degree"); delay(1000); myservo.write(180); //旋轉到180度 Serial.println("180 degree"); delay(1000); myservo.write(90); Serial.println("90 degree"); delay(1000); } ``` - 紅外線感測器 + 伺服馬達 `乾沒存到檔案...太虧了...` - 專案進度 研究樓梯升降的實作方式,目前想用馬達卡進捲線器去拉放樓梯使其升降,每次升降的高度是以階層來看的 ( 例如一階是 5 cm ),總共有 7 階,升降的高度就會落在這個範圍裏面,如此也好觸發小人移動的條件 ( 前面的樓梯比現在的樓梯高一階 ),目前會先做一個樓梯搭配馬達和捲線器的 prototype,可惜今日預約的雷切機突然壞掉了,所以進度可能會延宕 QQ - 自學筆記 有找了別人用 Ardunio 做電梯的範例、順便研究了滑輪的原理,然後想到現在這個方式 - 其他問題 因為我們總共會有七個樓梯,但每個樓梯的感測器和上升下降高度是 random 的,這樣想必就要有七個馬達分開控制捲線器,有沒有什麼比較不浪費資源的方式呀~
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up