Infraröd Quiz summern (trådlös) (2 / 6 steg)
Steg 2: Gör en fjärrkontroll (eller köpa en)
Obs: Om du inte vill bygga en fjärrkontroll, små fjärrkontroller finns tillgängliga för riktigt billiga priser. De som kommer att köpa fjärrkontroller kan hoppa över detta och hoppa till 4: e steg.
De som ska använda de hex filer ger vi kan hoppa över till 3: e steg.
Bara läsa nästa stycke för lite förståelse.
Låt oss börja med en förklaring av den signal som vi kommer att skicka. Vi sänder PWM (pulse width modulated) IR-signalen. Det finns ingen anledning att vara orolig om du inte vet vad det är. IR-signalen kommer att vara pulserande på och av var 26 micro sekund (dvs, för 13 och av för 13 eller vi kan säga frekvensen är 38khz). Sedan kommer att denna pulserande signal överföras en tid (600 till 1500 micro sekunder) och avstängd (igen om 600-1500 micro sekunder). Vänder detta pulserande signal på och bort bör upprepas för att få en sträng av på / av-cykler. Variera längden på den på och av tid för att ge olika värden. Se denna länk för att bättre förstå.
https://learn.adafruit.com/IR-sensor/IR-Remote-sig...
Det är enkelt, eller hur?
Steg för att göra en fjärrkontroll:
- Ladda upp det givet programmet till attiny85 (behöver den biblioteksfiler som anges i första steget och en programmerare)
- Extrahera filen hex
- Kopiera och klistra in
Ansluta kretsen
Ladda upp programmet anges nedan i arduino IDE efter att välja motsvarande styrelser från Verktyg-menyn och spara det som sendIR. Ändra värdena i parentes, bredvid stjärnorna om du vill få dina egna koder. Experimentera med SendUpCode funktion om du vill ha olika värden. (Du skulle veta vad jag talar om om du läsa ända till slutet och försökt överföra ett program en gång till attiny85)
int IRledPin = 2; LED är ansluten till sjunde pinne i attiny85, om ansluter bara en
eller ändra 2 till 0 i raden ovan och Anslut LED till femte stift att ansluta
flera LED som i kopplingsschemat
Det finns inga fel i ovanstående två kommentarer
Metoden setup() körs en gång, när skissen startar
void setup()
{
initiera IR digital stiftet som en utgång:
pinMode (IRledPin, OUTPUT);
det blir ingen Serial.begin(9600)
}
void loop()
{
SendUpCode();
Delay(1000); vänta en sekund
}
Detta förfarande skickar en 38KHz puls till IRledPin
för en viss # mikrosekunder. Vi använder detta när vi behöver skicka koder
void pulseIR(long microsecs)
{
Vi ska räkna ner från numrera av mikrosekunder vi får höra att vänta
CLI(); Detta stänger av någon bakgrund avbryter
samtidigt (microsecs > 0)
{
38 kHz är cirka 13 mikrosekunder hög och 13 mikrosekunder låg
digitalWrite(IRledPin,LOW); Detta tar ca 3 mikrosekunder att hända
delayMicroseconds(10); hänga ut för 10 mikrosekunder, kan du också
ändra detta till 9 om dess inte arbetande
digitalWrite(IRledPin,HIGH); Detta tar också ca 3 mikrosekunder
delayMicroseconds(10); hänga ut för 10 mikrosekunder, du
kan också ändra detta till 9 om det inte fungerar
så 26 mikrosekunder alldeles
microsecs-= 26.
}
SEI(); Detta visar avbrotten tillbaka dem på
}
void SendUpCode()
{
Ändra värdena i enlighet med vad du vill, där allt finns stjärnor
ta bort stjärnorna när du är klar
Du kan försöka öka antalet funktionerna pulseIR() och delayMicroseconds()
.. .till leka och se resultaten
pulseIR(2080*);
Delay(27) / / wait 27 millisekunder
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 måste vi få hex kod att använda i AVRdude (för STK500v2).
Packa den hex filen från arduino IDE är lätt. Första
Öppna arduino IDE = > filen = > Inställningar = > Markera kryssrutan Visa utförligt under kompileringen.
Sedan sammanställa de ovanstående program med dina ändringar. Du skulle få massor av nya ord i svart utrymme under arbetsytan i IDE. Linjen precis före den rad som anger antalet byte av programmet är vad du bör kopiera. Den har sökvägen till mappen bygga med hex-filen.
C:\Users\PREMKU-1\AppData\Local\Temp\build3226901792308428727.tmp\sendIR.cpp.hex
Binära skiss storlek: 658 byte (med en maximal 8192 byte)
Kopiera och klistra in sökvägen i "Min dator". Det kommer att finnas en fil som "sendIR.cpp.hex". Japp, kopiera det och klistra in den någonstans säkert efter döpte om det som "sendIR.hex". Detta är vad vi använder i nästa steg.
Anslut kopplingsschemat som visas med enda LED att testa IR överföring koder. Senare kan du ansluta banan med flera LED för en fullfjädrad fjärrkontroll.