ArduinoDemo
分類:LED與開關控制
總覽:
41-1控制四個LED 執行霹靂燈閃爍移位變化。
49-2控制兩個LED 輪流由最暗變化至最亮,再由最亮變化至最暗。
54-2控制四個LED 亮度變化並依序來回左右移。每一個LED 亮度由暗逐漸變亮,再由亮逐漸變暗。
59-2控制四個LED 模擬拖尾霹靂燈變化。
69-2使用一個指撥開關控制一個LED,當開關接通(ON)時,LED 快速閃爍,反之當開關斷開(OFF)時,LED 慢速閃爍。
74-1使用一個指撥開關控制四個LED 移位方向。當開關斷開(OFF)時,LED 單燈閃爍右移;當開關接通(ON)時,LED 單燈閃爍左移。
80-2使用一個按鍵開關控制兩個LED。按一下按鍵開關時,LED 重覆快閃3 次再將LED 關閉1 秒,再按一下按鍵開關時,LED 暗。
81-1利用一個按鍵開關控制四個LED 移位方向。每按一下按鍵開關,LED 的移動方向 改變。若LED 原來移動方向為右移 ,按一下 按鍵開關時,改變為左移;若 LED 原來移動方向為左移,按一下按鍵開關時,改變為右移。
const int led[]={10,11,12,13};
int i;
int j=0;
int direct=0;
void setup()
{
for(i=0;i<4;i++)
pinMode(led[i],OUTPUT);
}
void loop()
{
for(i=0;i<4;i++)
{
digitalWrite(led[i],LOW);
}
digitalWrite(led[j],HIGH);
delay(200);
digitalWrite(led[j],LOW);
delay(200);
digitalWrite(led[j],HIGH);
delay(200);
if(direct==0)
{
if(j==3)
direct=1;
else
j=j+1;
}
else
{
if(j==0)
direct=0;
else
j=j-1;
}
}
int led1 = 10;
int led2 = 11;
void setup()
{
}
void loop()
{
byte bt;
//led1
for(bt=0;bt<255;bt+=5){
analogWrite(led1,bt);
delay(50);
}
for(bt=255;bt>0;bt-=5){
analogWrite(led1,bt);
delay(50);
}
analogWrite(led1,0);
//led2
for(bt=0;bt<255;bt+=5){
analogWrite(led2,bt);
delay(50);
}
for(bt=255;bt>0;bt-=5){
analogWrite(led2,bt);
delay(50);
}
analogWrite(led2,0);
}
int leds[] = {3,9,10,11};
void setup()
{
}
void loop()
{
int bt;
//led1
for(int led=0;led<4;led++){ //循環四顆led
for(bt=0;bt<255;bt+=5){ //漸亮
analogWrite(leds[led],bt);
delay(20);
}
for(bt=255;bt>0;bt-=5){ //漸暗
analogWrite(leds[led],bt);
delay(20);
}
analogWrite(leds[led],0); //關閉led
}
//for(byte led=0;led<4;led++){ //循環四顆led
for(int led=3;led>=0;led--){
for(bt=0;bt<255;bt+=5){ //漸亮
analogWrite(leds[led],bt);
delay(20);
}
for(bt=255;bt>0;bt-=5){ //漸暗
analogWrite(leds[led],bt);
delay(20);
}
analogWrite(leds[led],0); //關閉led
}
}
const int led[] ={3,9,10,11};
int varNums;
int ledNums;
const int brightness[7][4]=
{{250, 0, 0, 0},
{100,250, 0, 0},
{ 50,100,250, 0},
{ 5, 50,100,250},
{ 0, 5, 50,100},
{ 0, 0, 5, 50},
{ 0, 0, 0, 5} };
void setup()
{
}
void loop()
{
for(varNums=0;varNums<7;varNums++)
{
for(ledNums=0;ledNums<4;ledNums++)
analogWrite(led[ledNums],brightness[varNums][ledNums]);
delay(100);
}
for(varNums=0;varNums<7;varNums++)
{
for(ledNums=0;ledNums<4;ledNums++)
analogWrite(led[ledNums],brightness[varNums][3-ledNums]);
delay(100);
}
}
const int sw=2;
const int led=13;
int val;
void setup() {
pinMode(sw,INPUT);
pinMode(led,OUTPUT);
}
void loop() {
val=digitalRead(sw);
if(val==HIGH)
{
digitalWrite(led,HIGH); //點亮LED。
delay(500); //延遲0.5 秒。
digitalWrite(led,LOW); //關閉LED。
delay(500); //延遲0.5 秒。
}
else if(val==LOW)
{
digitalWrite(led,HIGH); //點亮LED。
delay(1000); //延遲1 秒。
digitalWrite(led,LOW); //關閉LED。
delay(1000); //延遲1 秒。
}
}
const int sw=2;
const int led[]={10,11,12,13};
int i;
int j=0;
int val;
void setup()
{
pinMode(sw,INPUT_PULLUP);
for(i=0;i<4;i++)
{
pinMode(led[i],OUTPUT);
}
}
void loop()
{
val=digitalRead(sw);
for(i=0;i<4;i++)
{
digitalWrite(led[i],LOW);
}
if(val==HIGH)
{
digitalWrite(led,HIGH); //點亮LED。
delay(200); //延遲0.2 秒。
digitalWrite(led,LOW); //關閉LED。
delay(200); //延遲0.2 秒。
digitalWrite(led,HIGH); //點亮LED。
delay(200); //延遲0.2 秒。
if(j==0)
j=3;
else
j=j-1;
}
else if(val==LOW)
{
digitalWrite(led,HIGH); //點亮LED。
delay(200); //延遲0.2 秒。
digitalWrite(led,LOW); //關閉LED。
delay(200); //延遲0.2 秒。
digitalWrite(led,HIGH); //點亮LED。
delay(200); //延遲0.2 秒。
if(j==3)
j=0;
else
j=j+1;
}
}
const int sw=2;
const int led=13;
const int debounceDelay=20;
int ledStatus=LOW;
int val;
void setup()
{
pinMode(sw,INPUT);
digitalWrite(sw,HIGH);
pinMode(led,OUTPUT);
}
void loop()
{
val=digitalRead(sw);
if(val==LOW)
{
delay(debounceDelay);
while(digitalRead(sw)==LOW)
;
ledStatus=!ledStatus;
//digitalWrite(led,ledStatus);
}
if (ledStatus){
digitalWrite(led,HIGH);
delay(200);
digitalWrite(led,LOW);
delay(200);
digitalWrite(led,HIGH);
delay(200);
digitalWrite(led,LOW);
delay(200);
digitalWrite(led,HIGH);
delay(200);
digitalWrite(led,LOW);
delay(1000);
}
else{
digitalWrite(led,LOW);
}
}
const int sw=2;
int led[] = {10,11,12,13};
const int debounceDelay=20;
int ledStatus=LOW;
int i;
int j=0;
int val;
void setup()
{
pinMode(sw,INPUT);
digitalWrite(sw,HIGH);
for(i=0;i<4;i++)
{
pinMode(led[i], OUTPUT);
}
}
void loop()
{
val=digitalRead(sw);
if(val==LOW)
{
delay(debounceDelay);
while(digitalRead(sw)==LOW)
;
ledStatus=!ledStatus;
//digitalWrite(led,ledStatus);
}
if (ledStatus){
for(i=0;i<4;i++){
digitalWrite(led[i],LOW);
}
digitalWrite(led[j], HIGH);
delay(1000);
j++;
if(j==4)
j=0;
}
else{
for(i=0;i<4;i++) {
digitalWrite(led[i],LOW);
}
digitalWrite(led[j], HIGH);
delay(1000);
j--;
if(j==-1)
j=3;
}
}
分類:LCD顯示器與溫度控制系統 總覽: 27-2控制LCD在第0列第3行顯示學號"0123456789",在第1列閃爍顯示電腦鍵盤輸入字元,按減號"-"鍵可以清除輸入字元。 37-2在第0行、第0列顯示字元"up counter",在第0行、第1列顯示0000~9999計數值,每秒上數加1。 46-1在第0行、第0列顯示"2013年08月05日",在第0行第1列顯示"I愛 LCD",愛心符號如圖10-16所示。 52-2控制LCD顯示兩位15~16數字字形計數00~99,每秒上數加1。
Dec 23, 2020分類:互動式感測器 總覽: 14-2使用Arduino 板讀取類比電壓值,並顯示於Serial Monitor 視窗。當類比電壓大於2.5V 則LED 亮,否則LED 不亮。 19-2使用Arduino 板讀取類比電壓值,控制LED 亮度。當類比電壓值愈小時,LED 較暗,當類比電壓值愈大時,LED 較亮。 30-2使用Arduino 板配合CDS 元件偵測光線的強弱,並以三個LED指示光線的強弱。當光線轉暗時,只有LED1 亮;當光線介於全暗與全亮之間時,只有LED2 亮;當光線轉強時,只有LED3 亮。 37-2配合移動偵測器設計自動小夜燈,當晚上有人靠近時,點亮LED 20秒後關閉,當無人靠近時,關閉LED。
Dec 23, 2020分類:音樂盒與電子琴 總覽: 26-2利用Arduino板播放鋼琴入門音樂—小星星(Little Star)。小星星 簡譜如表11-3 所示,每一段有4 小節,每小節有4 拍,演奏速度是每分鐘120 拍。並使用6 個LED 顯示C、D、E、F、G、A 等6 個目前正在播放的音符。 32-2使用1 個TACK 按鍵開關SW,控制播放四首音樂,同時使用LED顯示播放的音符。 33-1使用七個按鍵開關實作一電子琴,要有C、D、E、F、G、A、B七個音階,並利用另外三個按鍵開關 切換成 低/中/高音模式。 26-2利用Arduino板播放鋼琴入門音樂—小星星(Little Star)。小星星簡譜如表11-3 所示,每一段有4 小節,每小節有4 拍,演奏速度是每分鐘120 拍。並使用6 個LED 顯示C、D、E、F、G、A 等6 個目前正在播放的音符。
Dec 23, 2020分類:串列埠 總覽: 33-2使用Arduino 板控制LED 單燈閃爍左移,同時將LED 目前狀態 傳送至電腦中。當LED 亮時,狀態為HIGH;當LED 暗時,狀態為LOW。 38-3從Arduino板接收傳腦傳送的訊息,並於Serial Monitor視窗顯示所接收的數字,須可接收與顯示 -32768以上到32767以下的數字。 44-1接收電腦鍵盤輸入鍵值來控制LED。輸入0 鍵則LED 暗,輸入1 鍵則LED 亮,輸入2 鍵則LED 快閃,輸入3 鍵則LED 慢閃。 33-2使用Arduino 板控制LED 單燈閃爍左移,同時將LED 目前狀態傳送至電腦中。當LED 亮時,狀態為HIGH;當LED 暗時,狀態為LOW。
Dec 23, 2020or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up