Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <IRremote.h> // use the library
- int receiver = 13; // pin 11 of IR receiver to Arduino digital pin 11
- int DRL = 2; // pin 2 come uscita LED DRL
- int POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO = 3; // pin 3 come uscita LED POSIZIONE_TARGA_TACO_RADIO_PULSANTI
- int ANABBAGLIANTI = 4; // pin 4 come uscita LED ANABBAGLIANTI ANT.
- int FRECCIE_SX = 5; // pin 5 come uscita LED FRECCIE SX
- int FENDINEBBIA = 6; // pin 6 come uscita LED FENDINEBBIA
- int FRECCIE_DX = 7; // pin 7 come uscita LED FRECCIE DX
- int PIEDI = 8; // pin 8 come uscita LED PIEDI
- int CIELO = 9; // pin 9 come uscita LED CIELO
- int PORTIERE = 14; // pin 12 come uscita LED STRISCE
- int itsONled[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // aggiungere tanti zeri quanti sono i case + un ulteriore zero ( in questo caso 20 case -> 20 zeri dell'array + 0 = 21 zeri)
- #define code1_DRL 0xFF30CF // code received from button 1 con 1° valore
- #define code2_POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO 0xFF18E7 // code received from button 2 con 1° valore
- #define code3_ANABBAGLIANTI 0xFF7A85 // code received from button 3 con 1° valore
- #define code4_FRECCIE_SX 0xFF10EF // code received from button 4 con 1° valore
- #define code5_FENDINEBBIA 0xFF38C7 // code received from button 5 con 1° valore
- #define code6_FRECCIE_DX 0xFF5AA5 // code received from button 6 con 1° valore
- #define code7_PIEDI 0xFF42BD // code received from button 7 con 1° valore
- #define code8_CIELO 0xFF4AB5 // code received from button 8 con 1° valore
- #define code9_PORTIERE 0xFF52AD // code received from button 9 con 1° valore
- #define code10_FRECCIE_SX_DX 0xFF6897 // code received from button 0 con 1° valore
- #define code11_APERTURA_CHIUSURA_PORTIERE 0xFF629D // DEFINIRE TASTO SUONO PORTIERE
- #define code12_AVVIO_MOTORE 0xFFA25D // DEFINIRE TASTO SUONO PORTIERE
- IRrecv irrecv(receiver); // create instance of 'irrecv'
- decode_results results;
- //DA QUì AUDIO PER MOTORE E BLOCCO PORTIERE
- #include "Arduino.h"
- #include "SoftwareSerial.h"
- #include "DFRobotDFPlayerMini.h"
- SoftwareSerial mySoftwareSerial(10, 11); // RX, TX
- DFRobotDFPlayerMini myDFPlayer;
- void printDetail(uint8_t type, int value);
- int Volume;
- int Vol;
- //
- void setup()
- {
- Serial.begin(9600); // for serial monitor output
- irrecv.enableIRIn(); // Start the receiver
- pinMode(2, OUTPUT); // Pin 2 output
- pinMode(3, OUTPUT); // Pin 3 output
- pinMode(4, OUTPUT); // Pin 4 output
- pinMode(5, OUTPUT); // Pin 5 output
- pinMode(6, OUTPUT); // Pin 6 output
- pinMode(7, OUTPUT); // Pin 7 output
- pinMode(8, OUTPUT); // Pin 8 output
- pinMode(9, OUTPUT); // Pin 9 output
- pinMode(14, OUTPUT); // Pin 12 output
- //DA QUì PER SUONO PORTIERE
- // myDFPlayer.EQ(DFPLAYER_EQ_NORMAL);
- myDFPlayer.EQ(DFPLAYER_EQ_BASS);
- // myDFPlayer.EQ(DFPLAYER_EQ_CLASSIC);
- myDFPlayer.volume(28);
- Serial.println(Vol);
- }
- void loop() {
- if (irrecv.decode(&results)) {
- {
- Serial.println(results.value, HEX); // mostrami il codice in esadecimale sul monitor seriale
- irrecv.resume();// receive the next value
- }
- unsigned long value = results.value;
- switch (value) {
- case code1_DRL:
- if (itsONled[1] == 1) { // se il primo led è acceso
- digitalWrite(DRL, LOW); // spengo quando premo il pulsante
- itsONled[1] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(DRL, HIGH); // accendo quando premo il pulsante
- itsONled[1] = 1; // e lo stato passa ad acceso
- }
- break;
- case code2_POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO:
- if (itsONled[2] == 1) { // se il primo led è acceso
- digitalWrite(POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO, LOW); // spengo quando premo il pulsante
- itsONled[2] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(POSIZIONE_TARGA_TACO_RADIO_PULSANTI_BAGAGLIAIO, HIGH); // accendo quando premo il pulsante
- itsONled[2] = 1; // e lo stato passa ad acceso
- }
- break;
- case code3_ANABBAGLIANTI:
- if (itsONled[3] == 1) { // se il primo led è acceso
- digitalWrite(ANABBAGLIANTI, LOW); // spengo quando premo il pulsante
- itsONled[3] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(ANABBAGLIANTI, HIGH); // accendo quando premo il pulsante
- itsONled[3] = 1; // e lo stato passa ad acceso
- }
- break;
- case code4_FRECCIE_SX:
- if (itsONled[4] == 1) { // se il primo led è acceso
- digitalWrite(FRECCIE_SX, LOW); //lampeggia
- itsONled[4] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
- delay(350);
- digitalWrite(FRECCIE_SX, LOW); //lampeggia
- delay(350);
- itsONled[4] = 1; // e lo stato passa ad acceso
- }
- break;
- case code5_FENDINEBBIA:
- if (itsONled[5] == 1) { // se il primo led è acceso
- digitalWrite(FENDINEBBIA, LOW); // spengo quando premo il pulsante
- itsONled[5] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(FENDINEBBIA, HIGH); // accendo quando premo il pulsante
- itsONled[5] = 1; // e lo stato passa ad acceso
- }
- break;
- case code6_FRECCIE_DX:
- if (itsONled[6] == 1) { // se il primo led è acceso
- digitalWrite(FRECCIE_DX, LOW); // spengo quando premo il pulsante
- itsONled[6] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
- delay(350);
- digitalWrite(FRECCIE_DX, LOW); //lampeggia
- delay(350);
- itsONled[6] = 1; // e lo stato passa ad acceso
- }
- break;
- case code7_PIEDI:
- if (itsONled[7] == 1) { // se il primo led è acceso
- digitalWrite(PIEDI, LOW); // spengo quando premo il pulsante
- itsONled[7] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(PIEDI, HIGH); // accendo quando premo il pulsante
- itsONled[7] = 1; // e lo stato passa ad acceso
- }
- break;
- case code8_CIELO:
- if (itsONled[8] == 1) { // se il primo led è acceso
- digitalWrite(CIELO, LOW); // spengo quando premo il pulsante
- itsONled[8] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(CIELO, HIGH); // accendo quando premo il pulsante
- itsONled[8] = 1; // e lo stato passa ad acceso
- }
- break;
- case code9_PORTIERE:
- if (itsONled[9] == 1) { // se il primo led è acceso
- digitalWrite(PORTIERE, LOW); // spengo quando premo il pulsante
- itsONled[9] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(PORTIERE, HIGH); // accendo quando premo il pulsante
- itsONled[9] = 1; // e lo stato passa ad acceso
- }
- break;
- case code10_FRECCIE_SX_DX:
- if (itsONled[10] == 1) { // se il primo led è acceso
- digitalWrite(FRECCIE_SX, LOW); // spengo quando premo il pulsante
- digitalWrite(FRECCIE_DX, LOW); // spengo quando premo il pulsante
- itsONled[10] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
- digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
- delay(350);
- digitalWrite(FRECCIE_SX, LOW); // accendo quando premo il pulsante
- digitalWrite(FRECCIE_DX, LOW);
- delay(350);
- itsONled[10] = 1; // e lo stato passa ad acceso
- }
- break;
- case code11_APERTURA_CHIUSURA_PORTIERE:
- if (itsONled[11] == 1) { // se il primo led è acceso
- myDFPlayer.play(2); //Play the first mp3
- digitalWrite(FRECCIE_SX, HIGH); // spengo quando premo il pulsante
- digitalWrite(FRECCIE_DX, HIGH); // spengo quando premo il pulsante
- delay(350);
- digitalWrite(FRECCIE_SX, LOW); // spengo quando premo il pulsante
- digitalWrite(FRECCIE_DX, LOW);
- itsONled[11] = 0; // e lo stato va a spento
- } else { // se il primo led è spento
- myDFPlayer.play(1); //Play the first mp3
- digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
- digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
- delay(250);
- digitalWrite(FRECCIE_SX, LOW); // accendo quando premo il pulsante
- digitalWrite(FRECCIE_DX, LOW);
- delay(250);
- digitalWrite(FRECCIE_SX, HIGH); // accendo quando premo il pulsante
- digitalWrite(FRECCIE_DX, HIGH); // accendo quando premo il pulsante
- delay(250);
- digitalWrite(FRECCIE_SX, LOW); // accendo quando premo il pulsante
- digitalWrite(FRECCIE_DX, LOW);
- itsONled[11] = 1; // e lo stato passa ad acceso
- }
- break;
- case code12_AVVIO_MOTORE:
- myDFPlayer.play(3); //Play the first mp3
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement