- A+
所属分类:.NET技术
1.实验器材
Arduino开发板,面包板一块,杜邦线若干,LED灯若干,220欧电阻若干,蜂鸣器一个。
2.实验操作
- 将六个led灯的正极依次接到arduino板I/O接口的2-7口,
- 电源负极依分别接一个220欧的电阻 。
- 整体负极接arduino板的GND接口。
- 蜂鸣器正极接arduino板I/O接口的8口,负极接GND。
3.代码实现
int buzzer=8; //设置控制蜂鸣器的数字 设置控制蜂鸣器的数字 IO脚 int BASE = 2 ; //第一颗 第一颗 LED 接的 I/O 腳 int NUM = 6; //LED 的总数 int song[] = { /* 儿歌《小星星》*/ 277,277,415,415,466,466,415, 370,370,330,330,311,311,277, 415,415,370,370,330,330,311, 415,415,370,370,330,330,311, 277,277,415,415,466,466,415, 370,370,330,330,311,311,277, 415,415,370,370,330,330,311, 415,415,370,370,330,330,311, 277,277,415,415,466,466,415, 370,370,330,330,311,311,277, }; void setup() { for (int thisNote = 0; thisNote <154; thisNote++) { int noteDuration = 1000/noteDurations[thisNote];// 计算每个节拍的时间,以一个节拍一秒为例,四分之一拍就是1000/4毫秒,八分之一拍就是1000/8毫秒 tone(8, song[thisNote],noteDuration); int pauseBetweenNotes = noteDuration * 1.10; // 每个音符间的停顿间隔,以该音符的130%为佳 delay(pauseBetweenNotes); noTone(8); } for (int i = BASE;i < BASE + NUM; i ++) { pinMode(i, OUTPUT); //设定数字 设定数字 I/O脚为输出 脚为输出 } for (int i = BASE; i < BASE + NUM; i ++) { digitalWrite(i, LOW); //设定数字 设定数字 I/O脚输出为 脚输出为 "低",即逐渐关灯 delay(200); //延迟 } for (int i = BASE; i < BASE + NUM; i ++) { digitalWrite(i, HIGH); //设定数字 I/O脚输出为 "高",即逐渐开灯 delay(200); //延迟 } } void loop() { setup(); }