警灯,警铃四合一【Arduino玩具】
功能:
1.只有警灯工作。警铃不工作。
2.警灯警铃同时工作。
3.喇叭(由最右侧的按钮开关控制)。
4.第二种警铃(由第二个按钮开关控制)。
*第2,3,4模式中警灯的点亮方式也不同。
[演示视频+拼装]
警铃,警灯四合一【Arduino玩具】
Bill of Material:
Arduino Uno x1; 蜂鸣器 x1; 按钮开关 x2; LEDs x 6(红,蓝,白,至少各两个); 电阻(220 x1, 100 x6, 10K x2); 面包板还有面包板线。
接线图:
Arduino IDE 代码:
/*
* Project: Toy Police Siren 项目:玩具警灯+警铃四合一
*
* Last Edited: Jan.11th.2021 by Mun Kim 神勇老金
*/
int freq, dur; //Define buzzer tone frequency and duration of each tone. 喇叭的频率与时长
const int buzzer = 12;// Buzzer on pin D12 喇叭接到D12
void setup() {
pinMode(buzzer, OUTPUT);
pinMode(5,OUTPUT); //Blue LED 蓝灯
pinMode(6,OUTPUT); //Blue LED
pinMode(7,OUTPUT); //White LED 白灯
pinMode(8,OUTPUT); //White LED
pinMode(9,OUTPUT); //Red LED 红灯
pinMode(10,OUTPUT);//Red LED
}
void loop() {
//Rising Pitch**************************************************************************************************************警铃的前半段
for(freq=635;freq<=912;freq++){
tone(buzzer,freq);
delay(dur);
// LED Control 警灯的控制。
if(freq<670){
//Top 2 Red LEDs light up. 点亮最上方的两个红色LED
digitalWrite(10,HIGH); digitalWrite(9, HIGH); digitalWrite(8, LOW); digitalWrite(7, LOW); digitalWrite(6, LOW); digitalWrite(5, LOW);}
if( (freq>=670)&&(freq<700)){
//Red to White transition 点亮第二个红色LED和第一个白色LED
digitalWrite(10, LOW); digitalWrite(9, HIGH); digitalWrite(8, HIGH);digitalWrite(7, LOW); digitalWrite(6, LOW); digitalWrite(5, LOW);}
if( (freq>=700)&&(freq<730)){
//Middle 2 White LEDs light up. 中间两个白色LED
digitalWrite(10