Arduino LED digital Writeled Pin HIGH 13 delay1000

  • Slides: 40
Download presentation

Arduino LED範例 digital. Write(led. Pin, HIGH); // 將第 13隻腳設為高電位 delay(1000); // 等待1秒 digital. Write(led.

Arduino LED範例 digital. Write(led. Pin, HIGH); // 將第 13隻腳設為高電位 delay(1000); // 等待1秒 digital. Write(led. Pin, LOW); // 將第 13隻腳設為低電位 delay(1000); // 等待1秒 o 改變Delay函式內的時間參數,會有不同的影響

霹靂燈接線與控制 void loop() { // 將第i隻腳設為高電位 for(i=0; i<6; i++) digital. Write(led. Pin[i], HIGH); delay(1000);

霹靂燈接線與控制 void loop() { // 將第i隻腳設為高電位 for(i=0; i<6; i++) digital. Write(led. Pin[i], HIGH); delay(1000); // 等待1秒 // 將第i隻腳設為低電位 for(i=0; i<6; i++) digital. Write(led. Pin[i], LOW); delay(1000); // 等待1秒 }

LED陣列與Arduino接線腳位 LED陣列 1 2 3 4 5 6 7 8 Arduino 空接 2 3

LED陣列與Arduino接線腳位 LED陣列 1 2 3 4 5 6 7 8 Arduino 空接 2 3 4 空接 5 6 空接 LED陣列 9 10 11 12 13 14 15 16 Arduino 7 8 9 10 空接 11 12 13

部分程式碼區段 //讀取滑桿式可變電阻的電壓值 範圍: 0 - 1023 int analog. Value = analog. Read(0); //依據不同的電壓值觸發不同的列數 1

部分程式碼區段 //讀取滑桿式可變電阻的電壓值 範圍: 0 - 1023 int analog. Value = analog. Read(0); //依據不同的電壓值觸發不同的列數 1 - 6 if(analog. Value>=853) //電壓值高於 853 觸發最右邊 { digital. Write(RLPins[0], HIGH); digital. Write(RLPins[1], HIGH); digital. Write(RLPins[2], HIGH); digital. Write(RLPins[3], HIGH); digital. Write(RLPins[4], HIGH); digital. Write(RLPins[5], LOW); }

音階高低說明 音階 低音 中音 高音 Do 261 523 1046 Re 294 587 1175 Mi

音階高低說明 音階 低音 中音 高音 Do 261 523 1046 Re 294 587 1175 Mi 329 659 1318 Fa 349 698 1397 So 392 784 1568 La 440 880 1760 Si 493 988 1976

Arduino音階說明 音階 c(Do) d(Re) E(Mi) f(Fa) g(So) a(La) b(Si) c(Do) 頻率(Hz) 261 294 329

Arduino音階說明 音階 c(Do) d(Re) E(Mi) f(Fa) g(So) a(La) b(Si) c(Do) 頻率(Hz) 261 294 329 349 392 440 493 523 週期 3830 3400 3038 2864 2550 2272 2028 1912 高電位時間 1915 1700 1519 1432 1275 1136 1014 956

音階 void play. Tone(int tone, int duration) { for (long i = 0; i

音階 void play. Tone(int tone, int duration) { for (long i = 0; i < duration * 1000 L; i += tone * 2) { digital. Write(speaker. Pin, HIGH); delay. Microseconds(tone); digital. Write(speaker. Pin, LOW); delay. Microseconds(tone); } }

節拍 void play. Note(char note, int duration) { char names[] = { 'c', 'd',

節拍 void play. Note(char note, int duration) { char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' }; int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 }; // 利用比對字元的方式來播放某一個音階 for (int i = 0; i < 8; i++) { // 將比對到的音階高電位時間長度傳送給play. Tone函式播放 if (names[i] == note) play. Tone(tones[i], duration); } }

分段測試 for(i=1; i<=3; i++) digital. Write(UDPins[i], HIGH); for(i=0; i<=5; i++) digital. Write(RLPins[i], HIGH); digital.

分段測試 for(i=1; i<=3; i++) digital. Write(UDPins[i], HIGH); for(i=0; i<=5; i++) digital. Write(RLPins[i], HIGH); digital. Write(RLPins[5], LOW); for(i=1; i<=4; i++) digital. Write(UDPins[i], HIGH); for(i=0; i<=5; i++) digital. Write(RLPins[i], HIGH); digital. Write(RLPins[5], LOW);

595腳位說明 � 位編號 1 -7, 15 9 8 16 10 11 12 13 14

595腳位說明 � 位編號 1 -7, 15 9 8 16 10 11 12 13 14 名稱 Q 0 -7 Q 7’ GND Vcc MR SH_CP ST_CP OE DS 功能說明 並列輸出 (Parallel Output) 串列輸出 (Serial Output) 接地 5伏特 作電壓 Master Reset,接 5伏特 Shift Register Clock Input Storage Register Clock Input Output Enable,低電位表示致能� 動 Data Serial input,串列資料輸入

Arduino與單顆595接線

Arduino與單顆595接線

shift. Out o SPI(Serial Peripheral Interface)的通訊 o 需要從Arduino的clock. Pin(Pin 12)輸出,這樣 74 HC 595才會知道data. Pin(Pin

shift. Out o SPI(Serial Peripheral Interface)的通訊 o 需要從Arduino的clock. Pin(Pin 12)輸出,這樣 74 HC 595才會知道data. Pin(Pin 11)的正確讀取 方式。