Hi, I need to turn on/off a buzzer (no matter what sound makes) with a IRsensor and a IRcontrol.
But the question is, I don't how to do it using only with analog values. Here's my code:
#include <IRremote.h>
#define boton1 0x61F440BF
#define boton2 0x61F4C837
#define boton3 0x61F430CF
#define boton4 0x61F46897
#define boton5 0x61F428D7
#define boton6 0x61F4E817
#define boton7 0x61F418E7
#define azul 0x61F4B04F
#define mute 0x61F450AF
#define apagado 0x61F458A7
int SENSOR=11;
IRrecv irrecv(SENSOR);
decode_results codigo;
void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if(irrecv.decode(&codigo)) {
Serial.println(codigo.value, HEX);
switch(codigo.value){
case boton1:
if (digitalRead(2))
digitalWrite(2,LOW);
else
digitalWrite(2,HIGH);
break;
case boton2:
if (digitalRead(3))
digitalWrite(3,LOW);
else
digitalWrite(3,HIGH);
break;
case boton3:
if (digitalRead(4))
digitalWrite(4,LOW);
else
digitalWrite(4,HIGH);
break;
case boton4:
if (digitalRead(5))
digitalWrite(5,LOW);
else
digitalWrite(5,HIGH);
break;
case boton5:
if (digitalRead(6))
digitalWrite(6,LOW);
else
digitalWrite(6,HIGH);
break;
case boton6:
if (digitalRead(7))
digitalWrite(7,LOW);
else
digitalWrite(7,HIGH);
break;
case boton7:
if (digitalRead(8))
digitalWrite(8,LOW);
else
digitalWrite(8,HIGH);
break;
case azul:
if (digitalRead(10))
digitalWrite(10,LOW);
else
digitalWrite(10,HIGH);
break;
case mute: //[This is the problem, I need to turn on/off the buzzer using only analogic values. No
tone() nor noTone()
if (analogRead(9,75));
else
analogWrite(9,0);
break;
case apagado:
if (apagado){
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(6,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
digitalWrite(10,LOW);
analogWrite(9,0);}
break;
}
irrecv.resume();
}
delay(100);
}
The problem:
case mute: //[This is the problem, I need to turn on/off the buzzer using only analogic values. No
tone() nor noTone()
if (analogRead(9,75));
else
analogWrite(9,0);
break;
Thanks for your attention.