Download presentation
Presentation is loading. Please wait.
Published byEleanore Hodges Modified over 8 years ago
1
機 器 車 介 紹 & 實做
2
使用軟體 arduino
3
環境安裝 控制台 > 裝置管理員 > 更新驅動程式 C:\arduino-1.0.3-windows\arduino- 1.0.3\drivers
7
資料型態 ( 變數 )
8
常用函數
9
測試 void setup(){ Serial.begin(9600); } void loop(){ Serial.print("hello@\n"); delay(1000); }
12
腳位說明
13
LED 閃爍
14
int ledPin1=9; int ledPin2=10; void setup(){ pinMode(ledPin1,OUTPUT); pinMode(ledPin2,OUTPUT); pinMode(ledPin3,OUTPUT); } void loop(){ digitalWrite(ledPin1,HIGH); delay(500); digitalWrite(ledPin1,LOW); digitalWrite(ledPin2,HIGH); delay(500); digitalWrite(ledPin2,LOW); }
15
同時閃爍 void loop(){ digitalWrite(ledPin1,HIGH); digitalWrite(ledPin2,HIGH); delay(500); digitalWrite(ledPin1,LOW); digitalWrite(ledPin2,LOW); delay(500); }
16
陣列 (led 左移 ) int ledpin[3]={10,9,8}; int j=0; int i=0; void setup(){ for(i=0;i<4;i++) pinMode(ledpin[i],OUTPUT); } void loop() { for(j=0;j<4;j++) { digitalWrite(ledpin[j],HIGH); delay(500); digitalWrite(ledpin[j],LOW); }
17
陣列 (led 右移 ) for(j=0;j<4;j++) 改成 for(j=3;j>=0;j--) 即可
18
int servoPin1=12; // 設定 servoMotor1 由 12 腳 位控制 void setup(){ pinMode(servoPin1,OUTPUT); //12 腳位為輸 出 } void loop(){ for (int i=0;i<=120;i++){ // 正向旋轉約三秒 digitalWrite(servoPin1,HIGH); delayMicroseconds(1300); digitalWrite(servoPin1,LOW); delay(20); } for (int i=0;i<=40;i++){ // 靜止約一秒 digitalWrite(servoPin1,HIGH); delayMicroseconds(1500); digitalWrite(servoPin1,LOW); delay(20); } for (int i=0;i<=120;i++){ // 反向旋轉約三秒 digitalWrite(servoPin1,HIGH); delayMicroseconds(1700); digitalWrite(servoPin1,LOW); delay(20); } }
20
int servoPin1=13; // 設定 servoMotor1 由 12 腳 位控制 int servoPin2=12; // 設定 servoMotor2 由 13 腳 位控制 void setup(){ pinMode(servoPin1,OUTPUT); // 設定 12 腳位 為輸出 pinMode(servoPin2,OUTPUT); // 設定 13 腳位 為輸出 } void loop(){ digitalWrite(servoPin1,HIGH); delayMicroseconds(1300); digitalWrite(servoPin1,LOW); delay(20); digitalWrite(servoPin2,HIGH); delayMicroseconds(1700); digitalWrite(servoPin2,LOW); delay(20); }
21
for (int i=0;i<=40;i++){ //( 這段程 式執行 40 次 ) digitalWrite(servoPin1,HIGH); delayMicroseconds(1300); digitalWrite(servoPin1,LOW); delay(20); digitalWrite(servoPin2,HIGH); delayMicroseconds(1300); digitalWrite(servoPin2,LOW); delay(20); 這是右轉
25
// 光敏電阻測試程式 int photoresistorPin1=10; // 設定 photoresistor1 腳位 int photoresistorPin2=9; // 設 photoresistor2 腳位 int x; int y; void setup(){ pinMode(photoresistorPin1,INPUT); // 設定 6 腳位為輸入 pinMode(photoresistorPin2,INPUT); // 設定 2 腳位為輸入 Serial.begin(9600); } void loop(){ Serial.println("Photoresistor States"); x=digitalRead(photoresistorPin1); // 讀取左邊光敏電阻 y=digitalRead(photoresistorPin2); // 讀取右邊光敏電阻 Serial.print("P6="); // 顯示光敏電阻狀態至螢幕 Serial.println(x,BIN); Serial.print("P2="); Serial.println(y,BIN); delay(1000);}
26
光敏當開關讓車子前進 int photoresistorPin1=10; // 設定 photoresistor1 腳位 int servoPin1=13; // 設定 servoMotor1 由 12 腳位控制 int servoPin2=12; int x=0; void setup(){ pinMode(photoresistorPin1,INPUT); // 設定 10 腳位 為輸入 pinMode(servoPin1,OUTPUT); // 設定 12 腳位為輸出 pinMode(servoPin2,OUTPUT); // 設定 13 腳位為輸出 Serial.begin(9600); } void loop(){ Serial.println("Photoresistor States"); x=digitalRead(photoresistorPin1);// 讀取左邊光敏 電阻 Serial.print("P10="); // 顯示 光敏電阻狀態至螢幕 Serial.println(x,BIN);
27
switch(x){ case 1: for(int i=0;i<=40;i++){ digitalWrite(servoPin1,HIGH); delayMicroseconds(1300); digitalWrite(servoPin1,LOW); delay(20); digitalWrite(servoPin2,HIGH); delayMicroseconds(1700); digitalWrite(servoPin2,LOW); delay(20); } default: digitalWrite(servoPin1,HIGH ); delayMicroseconds(1500); digitalWrite(servoPin1,LOW ); delay(20); digitalWrite(servoPin2,HIGH ); delayMicroseconds(1500); digitalWrite(servoPin2,LOW ); delay(20); } delay(50);}
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.