●課程內容: 製作出機器人 這個課程要用 Arduino 做出能夠走動的機器人。 \ \ \ ●這次使用的Arduino板子 ![](https://i.imgur.com/r0hJTUW.jpg) 從眾多板子中挑選了這板子 \ \ \ ●第一次使用板子做的測試:燈泡閃爍 ```cpp void setup() { pinMode(D4, OUTPUT); } void loop() { digitalWrite(D4, LOW); delay(500); digitalWrite(D4, HIGH); delay(1000); } ``` ![](https://i.imgur.com/PGp3Bs4.jpg =44%x)![](https://i.imgur.com/A5hrEdW.jpg =50%x) 如上圖裡的程式碼所示,因為第一次使用,所以進行簡單的實作,讓燈泡一下暗掉,一下亮起。 \ \ \ ●第二次使用板子做的測試:接上蜂鳴器 ```c void setup() { } void loop() { tone(D4, 440); delay( 1000 ); noTone(D4); } ``` ![](https://i.imgur.com/ewt7R6t.jpg) 原以為接上去會跟電腦蜂鳴器一樣大聲,實際上很小聲,畢竟他很小電壓梅很高,小聲的很正常。 \ \ ●第三次使用板子測試:超音波感測器 ```cpp int Range = 0 ; int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin) { long duration; pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(20); digitalWrite(trigPin, LOW); duration = pulseIn(echoPin, HIGH); duration = duration / 59; if ((duration < 2) || (duration > 300)) return false; return duration; } void setup() { digitalWrite( 5 , LOW ); Serial.begin(9600); } void loop() { Range = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 5 , 6 ) ; Serial.print("Distance"); Serial.print(Range); Serial.print(" "); Serial.println(); delay( 200 ); } ``` ![](https://i.imgur.com/98bYxPM.jpg) 可以感應前方物體的距離,可以顯示出與前方物體的距離,未來可做出機器人撞牆的問題 \ \ \ ●第四次使用板子測試: ```cpp int Range = 0 ; boolean __ardublockDigitalRead(int pinNumber) { pinMode(pinNumber, INPUT); return digitalRead(pinNumber); } void setup() { Serial.begin(9600); } void loop() { Range = __ardublockDigitalRead(5) ; Serial.print("Distance"); Serial.print(Range); Serial.print(" "); Serial.println(); delay( 200 ); } ``` ![](https://i.imgur.com/9dNxjey.jpg) 這東西感覺很酷,他可以感應周遭生物,以防撞到生物,像我們這些操作員。 \ \ \ ●總結 目前這些實作感覺能讓我成功做出一台可以移動的機器人,假如能再把這些程式研究一下,並將各儀器整合,就可以做出一台可以移動的機器人。