Hoe de airconditioner airco thuis met Arduino, zelfs op afstand te besturen! (2 / 5 stap)

Stap 2: Het instellen van de verschillende gegevens


Zoals in de voorgaande rijen, moet u coderingen van onze afstandsbediening om ze opnieuw aan de Arduino. Om dit te doen zullen we gebruik van de bibliotheek voor de Arduino iRemote, in het bijzonder deze code:

/ * Gewijzigd door Chris Targett
* Nu ook meer protocollen
* Novemeber 2011

* IRremote: IRrecvDump - dump details voor IR-codes met IRrecv
* Een IR detector/demodulator moet worden aangesloten op de ingang RECV_PIN.
* Versie 0.1 juli 2009
* Copyright 2009 Ken Shirriff
* http://arcfn.com
*
* Aangepast door Chris Targett te versnellen het proces van het verzamelen van
* De IR (HEX en DEC)-codes van een externe (te zetten in .h bestand)
*
*/

#include < IRremote.h >

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results resultaten;

VOID Setup
{
Serial.begin(9600);
irrecv.enableIRIn(); Start de ontvanger
}

Stortplaatsen uit de structuur decode_results.
Noemen dit na IRrecv::decode()
VOID * compiler probleem omzeilen
ongeldig dump(void *v) {}
decode_results * resultaten = (decode_results *) v
ongeldig dump(decode_results *results) {}
int count = resultaten -> rawlen;
Als (resultaten -> decode_type == onbekend) {}
Serial.Print ("Onbekende codering:");
}
anders als (resultaten -> decode_type == NEC) {}
Serial.Print ("gedecodeerd NEC:");
}
anders als (resultaten -> decode_type == SONY) {}
Serial.Print ("gedecodeerd SONY:");
}
anders als (resultaten -> decode_type == RC5) {}
Serial.Print ("gedecodeerd RC5:");
}
anders als (resultaten -> decode_type == RC6) {}
Serial.Print ("gedecodeerd RC6:");
}
anders als (resultaten -> decode_type == SAMSUNG) {}
Serial.Print ("SAMSUNG gedecodeerd:");
}
anders als (resultaten -> decode_type == JVC) {}
Serial.Print ("gedecodeerd JVC:");
}
anders als (resultaten -> decode_type == PANASONIC) {}
Serial.Print ("gedecodeerd Panasonic:");
}
Serial.Print (resultaten -> waarde, HEX);
Serial.Print("(");
Serial.Print (resultaten -> bits, DEC);
Serial.println ("bits)");
Serial.Print ("#define Something_DEC");
Serial.println (resultaten -> waarde, DEC);
Serial.Print ("#define Something_HEX");
Serial.println (resultaten -> waarde, HEX);
Serial.Print ("Raw (");
Serial.Print (telling, DEC);
Serial.Print("):");
voor (int i = 0; ik < telling; i ++) {}
Als ((i % 2) == 1) {}
Serial.Print (resultaten -> rawbuf [i] * USECPERTICK, DEC);
}
else {}
Serial.Print (-(int) resultaten -> rawbuf [i] * USECPERTICK, DEC);
}
Serial.Print("");
}
Serial.println("");
}

void loop {}
Als (irrecv.decode (& resultaten)) {}
dump (& resultaten);
irrecv.resume(); De volgende waarde ontvangen
}
}

In de afbeelding ziet u hoe link Arduino met het apparaat.

Na het laden van de code op de Arduino, we moeten druk op de knoppen op de afstandsbediening en kopieer ergens de resultaten die worden weergegeven door het serienummer.
In mijn geval heb ik de volgende reeks van coderingen:

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 550-1650-550 550-550 550-550 550-550 550 - 1650 550 550-1650-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 550-1650-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 550-1650-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 van-550 550-1600-550 550-600 500-550 550-550 550-550 550-550 550-550 550 - 1650 550 550-1650-550 550-550 550-1600 550 550-1650-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

Zoals gemeld in de bibliotheek iRemote, om opnieuw deze gegevens, er moet enkele wijzigingen, in het bijzonder, moet vervangen van afbreekstreepjes, verwijderen van de eerste waarde en plaats tussen de verschillende waarden, een komma, zoals in de Arduino code zal worden ingevoegd in een vector van natuurlijke getallen.
Om dit te vergemakkelijken, ik heb een klein programma in Java dat deze taken automatisch doen kan gemaakt.
Ook dit programma is beschikbaar in de Github repo en heet AcToolArduino. In deze eerste versie automatiseert het programma het proces door het invoeren van de gegevens in het tekstveld. In de volgende versie, die u kunt laden uit bestand, de resultaten van de seriële Arduino.

Gerelateerde Artikelen

Hoe maak je een alarmsysteem met Arduino

Hoe maak je een alarmsysteem met Arduino

Met Arduino is echt mogelijk om complexe projecten te maken, met name door het gebruik van het Internet, kunt u het via de verschillende Shield beschikbaar voor de micro-controller. In dit artikel zullen we zien hoe te maken van een professioneel ala
Hoe maak je een "kameleon" met Arduino

Hoe maak je een "kameleon" met Arduino

U moet gezien hebben kameleons verkleuren en mengen in de omgeving, in een geweldige manier. De manier waarop dat kameleons eigenlijk dit doen is echt moleculaire. Als je kijkt naar de huid van een kameleon, vindt u dat er verscheidene lagen van gesp
3D-printer thuis met Arduino

3D-printer thuis met Arduino

Ik wilde maken van een 3D-printer voor een lange tijd. Toen ik besloot om het te maken, ik kocht benodigde materialen en ben ik begonnen met mijn 3D-printer gedroomd. Ik was op zoek naar informatie over vele websites en ik zag verschillende modellen,
Hoe om energie te besparen met Arduino

Hoe om energie te besparen met Arduino

In dit instructable we kijken hoe drastisch te verminderen de hoeveelheid stroom die je Arduino verbruikt. Deze tutorial is een must als u samenstelt batterij aangedreven projecten waar de levensduur van de batterij is kritisch. In dit vier-delige vi
Bouwen van een transistor printplaat voor controlerende airconditioner afstandsbediening met Arduino

Bouwen van een transistor printplaat voor controlerende airconditioner afstandsbediening met Arduino

ik was ter ondersteuning van een groep studenten op hun afstudeerproject. Een van de moeilijkheden die zij was over de beheersing van een airco-unit met Arduino microcontroller.Het eerste experiment dat we geprobeerd aan het trainen was door record l
Hoe te programmeren ATtiny85 met Arduino UNO

Hoe te programmeren ATtiny85 met Arduino UNO

Attiny85 met Arduino UNO in de meest gemakkelijke manier programmerenStap voor stap handleiding, met geen stappen overslaan door Awesome PCB.Stap 1 - wat doen we nodig?Stap 2 - aansluiten van Arduino bord met ArduShield en ATtiny85Stap 3 - Setup Ardu
Streaming video van SD-kaart naar Nokia LCD met Arduino

Streaming video van SD-kaart naar Nokia LCD met Arduino

Voor een lange tijd, ik dacht dat het afspelen van video met kon audio niet op de Arduino. Toen op een dag besloot ik te geven het een schot en het bleek eenvoudiger dan ik dacht.Ik besloot te schrijven van de stappen in een instructable ten behoeve
Het gebruik van NeoPixel 16 Ring met Arduino Uno

Het gebruik van NeoPixel 16 Ring met Arduino Uno

Vandaag, ga ik u tonen hoe te gebruiken NeoPixel Ring met Arduino Uno een zeer basistype. Zoals u weet, we houden van kleurrijke LED's, zelfs vaststaat op een ring!De noodzaak lijst:1. de Arduino Uno2. NeoPixel Ring 16xWS2812 (met 16 ingesloten klein
ChipKIT-DP32 met Arduino

ChipKIT-DP32 met Arduino

Hallo jongens,Dit is om u te tonen hoe wij de ChipKIT-DP32 met Arduino IDE kunt programmeren.Vóór aanvang, zullen we moeten het volgende zijn geïnstalleerd:X VAN MPLAB IDE:http://www.microchip.com/MPLAB/MPLAB-x-IDEBootloader voor ChipKIT-DP32:https:/
Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Hoe maak je een mobiele telefoon en Computer gecontroleerd 3D gedrukte Robot met Arduino - IoBot.

Als u op zoek bent naar een manier om een Arduino gebaseerde apparaten te controleren, zal deze instructie u tonen hoe om het te doen door het bouwen van eenvoudige robot.De IoBot kan worden gecontroleerd door mobiel en computer toepassing via LAN of
Hoe maak je een LED 7-segment display met Arduino

Hoe maak je een LED 7-segment display met Arduino

Ik ga u tonen hoe te maken van een 7 segment display met LED's. Combineren met Arduino aftelproceduretijdopnemers, eenvoudige tekst, en meer te maken. Ik willen maken van de oorspronkelijke projecten. Ik zocht de hele instructables en als dit niet vi
Hoe te maken van QUARK en maak een mooie Cheesecake met het - zelfs voor diabetici

Hoe te maken van QUARK en maak een mooie Cheesecake met het - zelfs voor diabetici

Update 19/04/2015: de afbeeldingen en video's zijn nu up, genieten :)Opmerking: Mijn telefoon knoeide omhoog met de foto's die ik heb tijdens het proces, gemaakt dus er momenteel geen opgenomen zijn.Ik wil een andere cake van kras in het weekend en v
Hoe op een oscilloscoop met Arduino getekend!

Hoe op een oscilloscoop met Arduino getekend!

Ten eerste, laat gaan over een paar basisprincipes. Een oscilloscoop is een hulpmiddel voor het visualiseren van wijzigen van elektrische signalen.Oscilloscoop: trilling (wijzigen), werkingssfeer (bekijken). Samen maken ze "oscilloscoop"!Een osc
Hoe maak je een remote controlled Robotic Hand met Arduino

Hoe maak je een remote controlled Robotic Hand met Arduino

Dit is mijn schoolproject voor het 5de jaar van de middelbare school (ik ben Italiaans, we hebben 5 jaar van de middelbare school).Het bestaat uit een kunstmatige hand gecontroleerd door een handschoen met flex sensoren. De kunstmatige hand reproduce