Hur man styr luftkonditionering A/C hemma med Arduino, även på distans! (3 / 5 steg)
Steg 3: Skicka IR-kommandot till/c
#include "IRremote.h"
IRsend irsend;
void setup()
{
Serial.BEGIN(9600);
}
int khz = 38. Obs ändra det här standardvärdet som krävs för att den korrekta moduleringsfrekvens
Vidare och 2O C ° med 1 FAN värme
unsigned heat[] = {3000,3000,3000,4400,550,1600,600,550,550,1650,550,550,550,550,550,1650,550,550,550,1650,500,550,550,1650,550,550,550,500,600,500,600,550,550,550,550,1650,500,550,550,600,500,1700,500,550,550,550,550,550,550,600,500,550,550,550,550,550,550,550,550,1650,550,1650,550,1650,500,1650,550,1650,550,550,550,550,550,550,550,550,550,1650,550,1650,550,500,550,550,550,1700,500,1650,550,550,550,500,600,550,550,550,550,550,550,550,550,550,550,1650,500,1700,500,550,550,550,550,550,550,550,550,550,550,600,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,500,550,1700,500,550,550,550,550,550,550,1650,550};
AV a/c
unsigned OFF[] = {3100,2900,2950,4400,700,1500,700,400,700,1500,700,400,650,450,550,1650,550,550,650,1500,600,500,600,1600,600,500,600,500,600,450,650,450,600,550,550,550,550,550,550,600,500,1600,600,500,600,500,600,550,550,500,600,500,600,550,550,550,550,1600,600,500,600,500,600,500,550,1650,550,1600,600,500,600,500,600,550,550,550,550,1600,600,1600,550,550,550,550,550,1650,550,1600,600,550,550,500,600,500,600,550,550,550,550,500,600,500,600,1600,600,1600,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,500,600,550,550,550,550,500,600,500,600,500,600,1600,600,500,600,1600,550,550,550,1600,600,550,550,550,550};
Vidare och 23° med 2 FAN kallt
unsigned cold[] = {3050,3000,3000,4400,550,1600,600,550,550,1650,550,550,550,550,550,1650,550,500,600,1600,550,550,550,1650,550,1650,550,1650,550,550,550,550,550,500,600,1600,550,550,550,550,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,500,600,1650,500,550,550,600,500,1700,500,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1650,550,550,550,500,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,550,550,550,550,550,550,550,550,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1600,600,550,550};
Vidare och 20 C ° med 1 FAN värme och SWING
unsigned heat_with_swing[] = {3000,3000,3000,4400,550,1650,550,500,600,1600,600,500,600,500,600,1600,550,550,550,1650,550,500,600,1600,600,550,550,550,550,550,550,1600,600,500,600,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,550,550,1600,550,550,550,600,500,550,550,550,550,550,550,550,550,550,550,1650,550,1650,550,550,550,550,550,1600,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1650,550,550,550,550,550,550,550,550,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1650,550,1650,500,1650,550,550,550,1700,500};
Vidare och 23° med 2 FAN kallt och SWING
unsigned cold_with_sqwing[] = {2950,3050,2950,4400,550,1600,600,550,550,1650,550,550,550,550,550,1600,600,500,600,1600,550,500,600,1650,550,1650,550,1600,600,500,600,1600,600,500,600,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,500,600,550,550,500,600,1650,550,550,550,1600,600,500,600,1600,550,1600,600,500,600,500,600,550,550,500,600,1650,550,1600,600,500,600,500,550,1650,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,500,600,500,600,500,600,500,600,500,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,550,1650,550,1650,550,1600,600,1600,550,550,600,500,550,550,550,550,550};
void loop() {
irsend.sendRaw (värme, sizeof(heat)/sizeof(int), khz);
Delay(10000);
irsend.sendRaw (OFF, sizeof(OFF)/sizeof(int),khz);
Delay(10000);
}
Om för att driva luftkonditioneringen hemma gick vi ut, är vi väl på väg att avsluta projektet!
Som nämnt tidigare, är det nödvändigt att använda två Arduino, som hanterar webbservern, den andra som hanterar kommunikationen med luftkonditioneringen.
För att ansluta två Arduino på ett korrekt sätt, bör man i bilden nedan.
Om enheten är ansluten till Ethernet Shield är nödvändigt att läsa in programmet som tar känt av AC_Webpage_Controller.ino, medan nell'Arduino som skickar IR-kommandon, måste du läsa programmet som tar känt av AC_Sender_Code.ino. Du hittar programvaran på min Github repo https://github.com/jackbell16/AC-Progetto-Arduino/tree/master/Arduino_Code
Nu när vi har slutfört inläsningen, vi bara har att göra lite arbete för att förbättra projektet, den mest användbara, är att göra den åtkomlig från en avlägsen webbserver. Att göra att vi ska "öppna dörrar" av vår router att korrekt vidarebefordra begäranden som görs utanför våra lokala nätverk.
Det bör anges att i versionen av koden på Github rapporterade, det finns ingen säkerhet på objektnivå lösenord, att förenkla lite "projektet. Dock med vissa ändringar i koden AC_Webpage_Controller.ino, kan du också implementera den här funktionen.