Hur man styr luftkonditionering A/C hemma med Arduino, även på distans! (2 / 5 steg)

Steg 2: Hur du ställer in olika data



Som anges i föregående rader, måste du skaffa kodningar av vår fjärrkontroll att vidaresända dem till Arduino. För att göra detta kommer vi att använda bibliotek för Arduino iRemote, i synnerhet här koden:

/ * Uppdaterad av Chris Targett
* Nu innehåller mer protokoll
* Novemeber 2011

* IRremote: IRrecvDump - dump Detaljer för IR koder med IRrecv
* En IR-detektor/demodulator måste anslutas till ingången RECV_PIN.
* Version 0.1 juli, 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*
* Ändrat av Chris Targett att påskynda processen med att samla in
* IR (HEX och DEC) koder från en fjärrkontroll (till sätta in och .h fil)
*
*/

#include < IRremote.h >

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results resultat.

void setup()
{
Serial.BEGIN(9600);
irrecv.enableIRIn(); Starta mottagaren
}

Dumpar ut decode_results struktur.
Kalla detta efter IRrecv::decode()
void * Undvik compiler problemet
void dump(void *v) {
decode_results * resultat = (decode_results *) v
void dump(decode_results *results) {
int count = resultat -> rawlen;
om (resultat -> decode_type == okänd) {
Serial.Print ("okänd kodning:");
}
annars om (resultat -> decode_type == NEC) {
Serial.Print ("avkodas NEC:");
}
annars om (resultat -> decode_type == SONY) {
Serial.Print ("avkodas SONY:");
}
annars om (resultat -> decode_type == RC5) {
Serial.Print ("avkodas RC5:");
}
annars om (resultat -> decode_type == RC6) {
Serial.Print ("avkodas RC6:");
}
annars om (resultat -> decode_type == SAMSUNG) {
Serial.Print ("avkodas SAMSUNG:");
}
annars om (resultat -> decode_type == JVC) {
Serial.Print ("avkodas JVC:");
}
annars om (resultat -> decode_type == PANASONIC) {
Serial.Print ("avkodas Panasonic:");
}
Serial.Print (resultat -> värde, HEX);
Serial.Print("(");
Serial.Print (resultat -> bitar, DEC).
Serial.println ("bitar)");
Serial.Print ("#define Something_DEC");
Serial.println (resultat -> värde, DEC).
Serial.Print ("#define Something_HEX");
Serial.println (resultat -> värde, HEX);
Serial.Print ("Raw (");
Serial.Print (antal, DEC);
Serial.Print("):");
för (int jag = 0; jag < greve; i ++) {
om ((i % 2) == 1) {
Serial.Print (resultat -> rawbuf [i] * USECPERTICK, DEC);
}
annat {
Serial.Print (-(int) resultat -> rawbuf [i] * USECPERTICK, DEC);
}
Serial.Print("");
}
Serial.println("");
}

void loop() {
om (irrecv.decode (& resultat)) {
dump (& resultat);
irrecv.Resume(); Ta emot nästa värde
}
}

Du kan se på bilden hur du länkar Arduino med enheten.

Efter lastning koden på Arduino, bör vi tryck knappar på fjärrkontrollen och kopia någonstans de resultat som visas av följetongen.
I mitt fall fick jag följande sekvens av kodningar:

Accensione 20 C ° Caldo
RAW (150):-5320 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

Spegnimento
RAW (150):-3276 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

Accensione 23 C ° Freddo 2 FAN
RAW (150):-16044 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

Accensione 20 C ° Caldo e Swing
RAW (150): 18566 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

Accensione 23 C ° Freddo 2 FAN e Swing
RAW (150): 2084 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

Som rapporterats i biblioteket iRemote, att överföra dessa uppgifter, är det nödvändigt att göra vissa förändringar, i synnerhet, behöver ersätta bindestrecken, ta bort det första värdet och placera mellan olika värden, ett semikolon, som i Arduino kod infogas i en vektor av heltal.
För att underlätta detta, skapade jag ett litet program i Java som kan göra dessa uppgifter automatiskt.
Även detta program finns i Github reporäntan och kallas AcToolArduino. I denna första version automatiserar programmet processen genom att ange informationen i TextField. I nästa version, du kan läsa in från fil, resultat från seriella Arduino.

Se Steg
Relaterade Ämnen

Hur man styr en enkel bearbetning spel med Arduino

Hej allaI detta Instructable, får vi se hur att skapa en "länk" mellan en bearbetning skiss och en Arduino kort. I det här exemplet används en Ultraljuds modul att styra ett plan i ett enkelt spel. Igen, den här läraren är bara ett exempel, du k...

Hur man styr alla R/C bil med ett flygplan sändare!

Har du någonsin undrat om du använda din R/C flygplan sändare för att styra alla R/C bil också?Hur häftigt vore det att ha 6 eller fler kanaler för att styra din R/C bil, och även anpassa varje kanal enligt ditt val?Jag har längtat att göra något så...

Hur man gör ett brädspel med Arduino

i detta Instructable, ska vi lära dig hur du skapar din egen "skulle du hellre... "brädspel med hjälp av Konduktiv färg, en Arduino mikrokontroller och vissa elektronikkomponenter. Spelarna turas om att flytta på spelet vägen som regisserades av...

Hur man använder en tryckknapp switch med arduino

Detta är en Instructable som talar om hur du ansluter en 4-pin tryckknapp switch med Arduino.Grej kan en LED att tändas när knappen är nedtryckt.Steg 1: Vad du behöver: Behöver du:En tryckknapp switchArduinoen1 motstånd (något värde), jag använde en...

Hur man använder en Ultrasonic Sensor med Arduino

HC-SR04 ultraljudssensorer kan mäta avstånd ganska exakt och är mycket användbara i många Arduino projekt. Jag har använt dem i autonoma robotar, elektroniska instrument och många andra projekt. De har ett utbud av 2 cm - 400 cm (~ 0,8 inches - 13 fo...

Hur man använder en P10 modul med arduino

Hej alla, i detta projekt, vi kommer att lära sig använda en P10 modul med arduino nano. Du måste köpa en P10-modul och ett nätaggregat. Det finns några bra informationer på den freetronics.Steg 1: P10 modul Funktioner:32 x 16 hög ljusstyrka röda lys...

Hur man styr en Nixie rör med en Arduino

Ett Nixie rör är en Neon gasfylld rör, som har en wiremesh anod med olika katoder formad som siffror eller symboler. Tillbaka i 1950-talet användes de i datorer, miniräknare och laboratorieutrustning. Nixie rör ersattes av lysdioder och VFDs (vacuum...

Hur man gör en ritning Arm med Arduino

Detta Instructables visar dig hur du skapar din egen ritning arm. Den ritning arm drar med hålet i den upp de flesta träbit som en handstil redskapet innehavaren. Denna ritning arm fungerar genom att input från potentiometrar och att göra dem en serv...

Hur man gör din leostick kompatibel med arduino sköldar

detta är min första gången du använder örnen so... yeahDetta är bara ett experiment, om någon tror att dess värdefulla, kommentar och i'l skickar schematiskt att få gjort.Jag har laddat upp filen v1 .brd så kan du fixa det om någon villJag kan tilläg...

Hur man styr en 16 x 2 LCD med en AVR ATtiny2313

om du bara får in microcontrollers finns det mycket att veta som du har sannolikt fått reda. Det finns en hel del bra online tutorials för Atmel AVR och chansen du har ser några av dem nu. Jag nyligen kom in mikrokontroller och visste inte jack om de...

Hur man styr en WiFi LYT8266 LED-lampa med BLYNK i 5 minuter

I den här guiden kommer vi se hur man styr en LYT8266 WiFi lampa i 5 minuter med hjälp av nya kraftfulla BLYNK plattformen.Du behöver:-En LYT8266 glödlampa (http://authometion.com/shop/en/home/13-lyt8266.html)-BLYNK APP för iOS eller Android + Blynk...

Hur man styr en RGB ledde med en Arduino

I detta Instructable, kommer jag att visa dig hur man styr en RGB LED med en Arduino.För att slutföra detta projekt, behöver du:1 x Arduino (jag använder Arduino Uno R3)1 x RGB LED3 x 150-220 ohm motstånd4 x hoppare ledningar1 x skärbräda1 x dator me...

Hur man styr motorer med Arduino och RC mottagare i 10 minuter

Detta är min andra handledning på att kontrollera saker med Arduino och R/C-mottagare. Om du inte har tittat på min första tutorial jag föreslår att du tittar på det första, här: i den här guiden kommer vi att titta på hur man styr motorer också anvä...

Hur man styr servomotor med arduino och seriell övervakning fönster

En servomotor är en roterande ställdon som möjliggör exakt kontroll av kantiga position, hastighet och acceleration. Den består av en lämplig motor kopplad till en sensor för position feedback. Det krävs också en relativt sofistikerade controller, of...

Hur man styr Servo motorer med en Arduino

Detta miniatyr projekt kommer att visa dig hur man styr en servomotor med en Arduino, men först måste du veta vad en servomotor faktiskt är!Servomotorer är speciella typer av motorer som inte snurra runt i en cirkel, men flytta till en viss plats och...

Hur man gör smör hemma

Att göra smör hemma för vår egen använda är mycket lätt och kräver inte någon specialiserad utrustning än en smör churner. Förr i tiden vår mormor brukade göra smör mjölk och av ostmassa. Nu för tiden vi tenderar att köpa lätt tillgängliga smör från...

Hur man styr en Arduino styrda robotarm av Dobot teamet

Vi säger alltid, Dobot är en hög precision, flera control desktop robotarm. I senaste instructables, har vi visat dig hög precision och funktionen desktop genom att bygga en laser cut och lödning Dobot arm. Detta instructable, vi kommer att försöka v...

Hur man styr en Motor via en seriell Port utan en mikrokontroller

behöver du inte en Arduino, PIC eller några andra microcontroller att göra en robot. Det är möjligt att ansluta ditt projekt direkt till en dator via en USB-port, med en serial-usb adapter (eller direkt via en seriell port om datorn har en). Detta lå...

Hur man gör egna klistermärken med Microsoft Word

i detta Instructable kommer jag visa dig hur man gör egna klistermärken med Microsoft Word. Många tror att göra klistermärken är en tidskrävande, hårt och dyr process. I själva verket denna process är enkel och kan göras av nästan vem som helst. Du k...