Stap 2: Maak een afstandsbediening (of kopen)
Opmerking: Als u niet wilt om te bouwen van een externe, kleine afstandsbedieningen zijn beschikbaar voor echt goedkope prijzen. Wie afstandsbedieningen kopen zal kunnen overslaan en springen naar de 4e stap.
Wie gaat de hex bestanden wij bieden gebruiken kunnen u overslaan naar de 3e stap.
Lees net de volgende paragraaf voor een beetje begrip.
Laten we beginnen met een verklaring van het signaal dat we gaan om te verzenden. Wij zullen PWM (pulsbreedte gemoduleerd) IR signaal doorgeeft. Er is geen reden om zorgen maken als u niet wat weet dat is. Het infrarood signaal zal worden gepulseerde in- en uitschakelen om 26 micro seconden (dat wil zeggen, op voor 13- en uitschakelen voor 13 of we dat de frequentie zeggen kunnen 38khz is). Dan zal dit gepulseerde signaal worden verzonden voor enige tijd (600 tot 1500 micro seconden) en uitgeschakeld (opnieuw over 600-1500 micro seconden). Dit draaien gepulseerde signaal op en af moet worden herhaald om een reeks van aan / uit-cycli. Variëren van de lengte van de aan en uit tijd om verschillende waarden te verkrijgen. Zie deze link om beter te begrijpen.
https://Learn.adafruit.com/IR-sensor/IR-Remote-sig...
Het is simpel, nietwaar?
Stappen voor het maken van een afstand:
- Het opgegeven programma uploaden naar attiny85 (moet bibliotheekbestanden zoals aangegeven in de eerste stap en een programmeur)
- Pak het hex bestand
- Kopiëren en plakken
Sluit het circuit
UPLOAD het programma hieronder in de arduino IDE, na het selecteren van de overeenkomstige planken in menu Extra en op te slaan als sendIR. Waarden in de haakjes, naast de sterren wijzigen als u wilt uw eigen codes te verkrijgen. Experimenteer met SendUpCode functie als u wilt dat verschillende waarden. (U zou weten wat ik bedoel als je tot het einde leest en probeerde een programma eenmaal uploaden in de attiny85)
int IRledPin = 2; // LED connected to seventh pin in attiny85, if connecting just one // or change 2 to 0 in the above line and connect LED to fifth pin to connect //multiple LED like in circuit diagram //there is no mistake in the above two comments // The setup() method runs once, when the sketch starts void setup() { // initialize the IR digital pin as an output: pinMode(IRledPin, OUTPUT); // there will be no Serial.begin(9600) } void loop() { SendUpCode(); delay(1000); // wait one second } // This procedure sends a 38KHz pulse to the IRledPin // for a certain # of microseconds. We'll use this whenever we need to send codes void pulseIR(long microsecs) { // we'll count down from the number of microseconds we are told to wait cli(); // this turns off any background interrupts while (microsecs > 0) { // 38 kHz is about 13 microseconds high and 13 microseconds low digitalWrite(IRledPin,LOW); // this takes about 3 microseconds to happen delayMicroseconds(10); // hang out for 10 microseconds, you can also //change this to 9 if its not working digitalWrite(IRledPin,HIGH); // this also takes about 3 microseconds delayMicroseconds(10); // hang out for 10 microseconds, you //can also change this to 9 if its not working // so 26 microseconds altogether microsecs -= 26; } sei(); // this turns the interrupts them back on } void SendUpCode() { // Change values according to what you want, where ever there are stars //remove the stars after you are done //you could try increasing the number of pulseIR() and delayMicroseconds() functions //...to play around and see the results pulseIR(2080*); delay(27)// wait 27 milliseconds pulseIR(440*); delayMicroseconds(400*); pulseIR(460*); delayMicroseconds(440*); pulseIR(500*); delayMicroseconds(440*); pulseIR(200*); delayMicroseonds(627*); pulseIR(440*); delayMicroseconds(850*); pulseIR(460*); delayMicroseconds(344*); pulseIR(480*); }
Nu moeten we krijgen hex code te gebruiken in AVRdude (voor STK500v2).
EXTRACTING het hex bestand van de arduino IDE is eenvoudig. Eerste
Openen van de arduino IDE = > bestand = > Voorkeuren = > Controleer Toon uitgebreide tijdens het compileren.
Vervolgens compileren de bovenstaande programma's met uw wijzigingen. Zou je veel nieuwe woorden in de zwarte ruimte onder de werkruimte in de IDE. De lijn net voor de lijn die aangeeft hoeveel bytes van het programma is wat u moet kopiëren. Het is het pad naar de map van de build met het hex bestand.
C:\Users\PREMKU-1\AppData\Local\Temp\build3226901792308428727.tmp\sendIR.cpp.hex Binary sketch size: 658 bytes (of a 8192 byte maximum)
Kopieer en plak het pad in 'Deze Computer'. Zal er een bestand als 'sendIR.cpp.hex'. Yup, kopieer dat en plak het ergens veilig na hernoemen als 'sendIR.hex'. Dit is wat we zullen gebruiken in de volgende stap.
Verbinding maken met het schakeldiagram zoals met één LED voor het testen van de IR-codes te verzenden. Later kan het circuit met meerdere LED voor een volwaardig remote verbinding te maken.