arduino void setup Serial begin9600 void loop Serial
使用軟體 arduino
測試 void setup(){ Serial. begin(9600); } void loop(){ Serial. print("hello@n"); delay(1000); }
int led. Pin 1=9; int led. Pin 2=10; void setup(){ pin. Mode(led. Pin 1, OUTPUT); pin. Mode(led. Pin 2, OUTPUT); pin. Mode(led. Pin 3, OUTPUT); } void loop(){ digital. Write(led. Pin 1, HIGH); delay(500); digital. Write(led. Pin 1, LOW); digital. Write(led. Pin 2, HIGH); delay(500); digital. Write(led. Pin 2, LOW); }
陣列(led右移) int ledpin[3]={10, 9, 8}; int j=0; int i=0; void setup(){ for(i=0; i<4; i++){ pin. Mode(ledpin[i], OUTPUT); } } void loop() { for(j=0; j<4; j++){ digital. Write(ledpin[j], HIGH); delay(500); digital. Write(ledpin[j], LOW); } }
馬 達 控 制 int servo. Pin 1=12; //設定servo. Motor 1由 12� 位控制 void setup(){ pin. Mode(servo. Pin 1, OUTPUT); //12�位為輸 出 } void loop(){ for (int i=0; i<=120; i++){ //正向旋轉約三秒 digital. Write(servo. Pin 1, HIGH); delay. Microseconds(1300); digital. Write(servo. Pin 1, LOW); delay(20); } for (int i=0; i<=40; i++){ //靜止約一秒 digital. Write(servo. Pin 1, HIGH); delay. Microseconds(1500); digital. Write(servo. Pin 1, LOW); delay(20); } for (int i=0; i<=120; i++){ //反向旋轉約三秒 digital. Write(servo. Pin 1, HIGH); delay. Microseconds(1700); digital. Write(servo. Pin 1, LOW); delay(20); } }
車 子 往 前 int servo. Pin 1=13; //設定servo. Motor 1由 12� 位控制 int servo. Pin 2=12; //設定servo. Motor 2由 13� 位控制 void setup(){ pin. Mode(servo. Pin 1, OUTPUT); //設定 12�位 為輸出 pin. Mode(servo. Pin 2, OUTPUT); //設定 13�位 為輸出 } void loop(){ digital. Write(servo. Pin 1, HIGH); delay. Microseconds(1300); digital. Write(servo. Pin 1, LOW); delay(20); digital. Write(servo. Pin 2, HIGH); delay. Microseconds(1700); digital. Write(servo. Pin 2, LOW); delay(20); }
這是右轉 for (int i=0; i<=40; i++){ //(這段程 式執行40次大概1秒多) digital. Write(servo. Pin 1, HIGH); delay. Microseconds(1300); digital. Write(servo. Pin 1, LOW); delay(20); digital. Write(servo. Pin 2, HIGH); delay. Microseconds(1300); digital. Write(servo. Pin 2, LOW); delay(20);
鍵盤控制 #include <Servo. h> Servo servo 1; Servo servo 2; void setup() { servo 1. attach(12); servo 2. attach(13); Serial. begin(9600); } void loop() { char c; if (Serial. available () > 0) 有資料傳入 { c = Serial. read(); //判斷串列阜是否 // 讀取串列阜資料
switch (c) { case '1': forward(400); break; case '2': trun. Left(400); break; case '3': trun. Right(400); break; case '4': backward(400); break; case '5': bestop(400); break; } } } //呼叫前進的副程式 //呼叫左轉的副程式 //呼叫右轉的副程式 //呼叫後退的副程式 //呼叫停止的副程式
void forward(int time){ //前進的副程式 servo 1. write(1300); servo 2. write(1700); delay(time); servo 1. write(1500); servo 2. write(1500); } void trun. Left(int time){ servo 1. write(1700); servo 2. write(1700); delay(time); servo 1. write(1500); servo 2. write(1500); } void trun. Right(int time){ //右轉的副程式 servo 1. write(1300); servo 2. write(1300); delay(time); servo 1. write(1500); servo 2. write(1500); } void backward(int time){ //後退的副程式 servo 1. write(1700); servo 2. write(1300); delay(time); servo 1. write(1500); servo 2. write(1500); } void bestop(int time){ //停止的副程式 servo 1. write(1500); servo 2. write(1500); delay(time); }
//光敏電阻測試程式 int photoresistor. Pin 1=10; //設定 photoresistor 1�位 int photoresistor. Pin 2=9; //設 photoresistor 2�位 int x; int y; void setup(){ pin. Mode(photoresistor. Pin 1, INPUT); //設定 6�位為輸入 pin. Mode(photoresistor. Pin 2, INPUT); //設定 2�位為輸入 Serial. begin(9600); } void loop(){ Serial. println("Photoresistor States"); x=digital. Read(photoresistor. Pin 1); //讀取左邊光敏電阻 y=digital. Read(photoresistor. Pin 2); //讀取右邊光敏電阻 Serial. print("P 6="); //顯示光敏電阻狀態至螢幕 Serial. println(x, BIN); Serial. print("P 2="); Serial. println(y, BIN); delay(1000); }
光敏當開關讓車子前進 #include <Servo. h> // 引用 Servo Library Servo servo 1; // 建立Servo 物件 Servo servo 2; int photoresistor. Pin 1=2; //設定photoresistor 1�位 int photoresistor. Pin 2=11; //設photoresistor 2�位 int x; int y; void setup(){ pin. Mode(photoresistor. Pin 1, INPUT); //設定 6�位為輸入 pin. Mode(photoresistor. Pin 2, INPUT); //設定 2�位為輸入 servo 1. attach(13); servo 2. attach(12); Serial. begin(9600); } void loop(){ Serial. println("Photoresistor States"); x=digital. Read(photoresistor. Pin 1); //讀取左邊光敏電阻 y=digital. Read(photoresistor. Pin 2); //讀取右邊光敏電阻 Serial. print("P 6="); //顯示光敏電阻 狀態至螢幕 Serial. println(x, BIN); Serial. print("P 2="); Serial. println(y, BIN); delay(100);
if (x==1&y==1 ){ forward(); } else if(y==0&x==1){ trun. Left(); } else if(y==1&x==0){ trun. Right(); } else{ stop(); } } int forward(){ 前進的副程式 servo 1. write(1300); servo 2. write(1700); delay(1000); } int trun. Left(){ 左轉副程式 servo 1. write(1700); servo 2. write(1700); delay(400); } int trun. Right(){ 右轉的副程式 servo 1. write(1300); servo 2. write(1300); delay(400); } // int stop(){ 後退的副程式 servo 1. write(1500); servo 2. write(1500); delay(1000); } // // //
int whisker. Pin 1=9; int whisker. Pin 2=5; int x; int y; void setup(){ pin. Mode(whisker. Pin 1, INPUT); pin. Mode(whisker. Pin 2, INPUT); Serial. begin(9600); } void loop(){ Serial. println("whisker States"); x=digital. Read(whisker. Pin 1); y=digital. Read(whisker. Pin 2); Serial. print("P 9="); Serial. println(x, BIN); Serial. print("P 5="); Serial. println(y, BIN); delay(1000); }
#include <Servo. h> // 引用 Servo Library Servo servo 1; // 建立Servo 物件 Servo servo 2; int whisker. Pin 1=9; int whisker. Pin 2=5; int x; int y; void setup(){ pin. Mode(whisker. Pin 1, INPUT); pin. Mode(whisker. Pin 2, INPUT); servo 1. attach(13); servo 2. attach(12); Serial. begin(9600); } void loop(){ Serial. println("whisker States"); x=digital. Read(whisker. Pin 1); y=digital. Read(whisker. Pin 2); Serial. print("P 9="); Serial. println(x, BIN); Serial. print("P 5="); Serial. println(y, BIN); delay(10); if (x==1&y==1 ){ forward(); } else if(y==0&x==1){ backward(); trun. Right(); } else if(y==1&x==0){ backward(); trun. Left(); } else{ stop(); } }
int forward(){ servo 1. write(1300); servo 2. write(1700); delay(1000); } int trun. Left(){ servo 1. write(1700); servo 2. write(1700); delay(900); } int trun. Right(){ servo 1. write(1300); servo 2. write(1300); delay(900); } int backward(){ servo 1. write(1700); servo 2. write(1300); delay(1000); } int stop(){ servo 1. write(1500); servo 2. write(1500); delay(1000); } //前進的副程式 //左轉副程式 //右轉的副程式 //後退的副程式
- Slides: 39