為了記錄學習arduino,第一篇先開始學習如何Blink。
電子産品,控制Blink,就像程式員寫入Hello world一樣。
程式最基本的是顯示一行字,電子産品最基本的是亮一盞燈。
基本知識學習請點選這裡。
int LedPin13=13 //設定arduino闆上13号引腳的名字為LedPin13
(為什麼設定第13号引腳呢?因為arduino闆上,隻有第13号引腳有個闆載的燈,也就是不用外接面包闆,就可以看到闆上的燈回報。其他引腳都沒有。)
需要用到幾個函數,解釋:
1. pinmode(LedPin13,output) //
因為arduino是電路闆,有針腳的概念,針腳為pin。而針腳可以作為輸入input,也可以作為輸出output。
是以pinmode針腳模式,需要設定某個針腳是input,還是output。
2.digitalwrite(LedPin13,HIGH)//設定LED引腳輸出高電平(有電),點亮LED
3. digitalWrite(LedPin13, LOW) //設定LED引腳輸出低電平(沒電),熄滅LED
int LedPin13 = 13; //定義LedPin13變量為整數型數字13
void setup()
{
pinMode(LedPin13, OUTPUT); //設定LED引腳為輸出引腳
}
void loop()
{
digitalWrite(LedPin13, HIGH); //設定LED引腳輸出高電平(有電),點亮LED
delay(1000); //延時1000ms
digitalWrite(LedPin13, LOW); //設定LED引腳輸出低電平(沒電),熄滅LED
delay(1000); //延時1000ms
}
當然,上邊的程式,不需要接任何東西,隻要把arduino接點,闆載的訓示燈就會1s一閃。
在其基礎上進行修改,可實作流水燈效果。
比如下邊這樣接線,通過面包闆連接配接13個燈。
int LedPin13 = 13; //定義LedPin13變量為整數型數字13
int LedPin13 = 12;
int LedPin13 = 11;
int LedPin13 = 10;
int LedPin13 = 9;
int LedPin13 = 8;
int LedPin13 = 7;
int LedPin13 = 6;
int LedPin13 = 5;
int LedPin13 = 4;
int LedPin13 = 3;
int LedPin13 = 2;
int LedPin13 = 1; //一家人就要整整齊齊
void setup()
{
pinMode(LedPin13, OUTPUT); //設定LED引腳為輸出引腳
pinMode(LedPin12, OUTPUT);
pinMode(LedPin11, OUTPUT);
pinMode(LedPin10, OUTPUT);
pinMode(LedPin9, OUTPUT);
pinMode(LedPin8, OUTPUT);
pinMode(LedPin7, OUTPUT);
pinMode(LedPin6, OUTPUT);
pinMode(LedPin5, OUTPUT);
pinMode(LedPin4, OUTPUT);
pinMode(LedPin3, OUTPUT);
pinMode(LedPin2, OUTPUT);
pinMode(LedPin1, OUTPUT); //懶得用for(i)
}
void loop()
{
digitalWrite(LedPin13, HIGH); //設定LED引腳輸出高電平(有電),點亮LED
delay(40); //延時40ms
digitalWrite(LedPin12, HIGH);
delay(40);
digitalWrite(LedPin11, HIGH);
delay(40);
digitalWrite(LedPin10, HIGH);
delay(40);
digitalWrite(LedPin9, HIGH);
delay(40);
digitalWrite(LedPin8, HIGH);
delay(40);
digitalWrite(LedPin7, HIGH);
delay(40);
digitalWrite(LedPin6, HIGH);
delay(40);
digitalWrite(LedPin5, HIGH);
delay(40);
digitalWrite(LedPin4, HIGH);
delay(40);
digitalWrite(LedPin3, HIGH);
delay(40);
digitalWrite(LedPin2, HIGH);
delay(40);
digitalWrite(LedPin1, HIGH); //肉眼25幀,1000/25=40
delay(40); //亮起一條龍
digitalWrite(LedPin13, LOW); //設定LED引腳輸出低電平(沒電),熄滅LED
delay(40); //延時40ms
digitalWrite(LedPin12, LOW);
delay(40);
digitalWrite(LedPin11, LOW);
delay(40);
digitalWrite(LedPin10, LOW);
delay(40);
digitalWrite(LedPin9, LOW);
delay(40);
digitalWrite(LedPin8, LOW);
delay(40);
digitalWrite(LedPin7, LOW);
delay(40);
digitalWrite(LedPin6, LOW);
delay(40);
digitalWrite(LedPin5, LOW);
delay(40);
digitalWrite(LedPin4, LOW);
delay(40);
digitalWrite(LedPin3, LOW);
delay(40);
digitalWrite(LedPin2, LOW);
delay(40);
digitalWrite(LedPin1, LOW); //肉眼25幀,1000/25=40
delay(40); //熄滅一條龍
}