小組成員: 吳宜軒 來宸鋒
411114208 葉姿琳 411114209 張庭慈
作品介紹:
想依據我們所學到的東西來製作一個實做的作品,我們上網查詢了相關資料,我們發現循跡車這個有趣的專題,這個有趣的專題,利用紅外線感測器對地面的探測來決定行走的軌跡,這如果可以成功做出來的話,可以應用在生活中很多地方,像是日常用品的搬運等,可以依據自己的需要來制定所需的軌跡,讓這款移動車可以依據自己的想法變化,我們覺得這如果可以成功做出來會是一個很好的應用。
我們在製作途中也遇到大大小小的問題,到最後進行多方的調整,跟學長討論下找到了解決方法,一開始我們發現需要供應的電壓比我們遠想的還要大很多,後來我們將電池盒兩個改成四個的,去增加供應的電壓,還有馬達一剛開始只能動一邊,後來我們進行了線路跟程式的調整,最後終於使兩邊的馬達都可以成功運轉,也完成了我們這次的循跡車作品。
// 定義控制腳位
#define IN1 10
#define IN2 11
#define IN3 6
#define IN4 5
// 定義感測器腳位
#define SensorLeft 7
#define SensorRight 8
int SL; // 左感測器狀態
int SR; // 右感測器狀態
void setup() {
Serial.begin(9600); // 初始化的通訊速率
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
pinMode(SensorLeft, INPUT);
pinMode(SensorRight, INPUT);
Stop();
delay(500);}
void loop() {
SL = digitalRead(SensorLeft); // 讀取左感測器狀態
SR = digitalRead(SensorRight); // 讀取右感測器狀態
if (SL == 1 && SR == 1) { // 當左右的感測器都檢測到白色會前進
Forward();
} else if (SL == 0 && SR == 1) { // 當左邊的感測器測到黑色右邊測到白色,左轉
Left();
} else if (SL == 1 && SR == 0) { // 當左邊感測器測到白色,右鞭測到黑色,右轉
Right();
} else if (SL == 0 && SR == 0) { // 當左右感測器都測到黑色,停止
Stop();
}
delay(100);
}
//利用高低電頻來對方向的控制
void Forward() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
//當 IN1 和 IN3 設為高電頻,同時 IN2 和 IN4 設為低電頻時,兩個電機都會向前轉動,從而推動車子向前行進
void Backward() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
//IN1 和 IN3 設為低電頻,IN2 和 IN4 設為高電頻,讓車子後退
void Stop() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, LOW);
}
//所有腳位設為低電頻,讓車子停止
void Left() {
digitalWrite(IN1, LOW);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
//IN1 低電頻,IN2 高電頻,IN3 高電頻,IN4 低電頻,讓車子左轉
void Right() {
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, LOW);
digitalWrite(IN4, HIGH);
}
//IN1 高電頻,IN2 低電頻,IN3 低電頻,IN4 高電頻,讓車子右轉
Arduino跟L298N馬達驅動模組:
IN1 -> Arduino pin 10
IN2 -> Arduino pin 11
IN3 -> Arduino pin 6
IN4 -> Arduino pin 5
12V -> 電源正極
GND -> 電源負級和Arduino GND
OUT1 -> 左馬達正極
OUT2 -> 左馬達負極
OUT3 -> 右馬達正極
OUT4 -> 右馬達負極
Arduino和紅外線尋跡感測模組:
左感測器OUT -> Arduino pin 7
右感測器OUT -> Arduino pin 8
VCC -> 5V
GND -> GND
作品成果
心得感想
4111114209 張庭慈
這個專題我覺得我學到的東西還是蠻多的,包括很多線路的走法,也因為在實作上遇到很多問題,所以多了很多機會開始動腦,去解決實際遇到的問題,在製作的過程我也有了機會和別人去討論彼此的想法跟可能發生的原因,過程中雖然有遇到大大小小的問題,但在和夥伴及學長討論後,我們一步一步地去解決問題,最後把成品做出來,看到它真的會動,也能按照我們的預測去進行移動的時候,成就感還是滿滿的。
4111114208 葉姿琳
從一開始在組裝時就遇到了一些困難,但是都很輕鬆的解決,期中報告的時候甚至覺得我們的成品一定可以很順利地完成。結果到最後組裝完在測試的時候,才發現車子只有一邊的輪子會動,後來經過我們的努力還有學長的指導後,才讓我們車子二邊的輪子都動了起來,並按照我們畫的路線前進。看到我們的成品完成後,真的感受到滿滿的成就感,也很慶幸有不斷地去解決問題,而沒有選擇放棄,才有辦法成功的做出成品。在這之中讓我學到了很多,尤其是解決問題的能力,還有在自己動手做的過程中對Arduino有更加的了解。