Innehållsöversikt:
1 Princip för infraröd signalsändare
2 Överensstämmelse mellan infraröd signalsändare och mottagare
3 Exempel på implementering av infraröd sändarfunktion
1 Princip för infraröd signalsändare
Den första är själva enheten som avger den infraröda signalen, som i allmänhet ser ut så här:
Diametern på den infraröda dioden på bilden är 3 mm, och den andra är 5 mm.
De är nästan exakt samma som de ljusemitterande lysdioderna, så de längre stiften är anslutna till den positiva polen, och den andra är ansluten till den negativa polen.
Den enklaste drivkretsen är att lägga till ett 1k strömbegränsande motstånd till den positiva gatan 3.3v och sedan ansluta den negativa elektroden till IO på mikrokontrollern.Enligt nedanstående:
2 Överensstämmelse mellan infraröd signalsändare och mottagare
Med det sagt måste jag rätta till ett misstag i nästa artikel med dig.
På bilden ovan nämns att sändarens och mottagarens signalnivåer är motsatta.Det vill säga samma som innehållet inringat i de röda och blå rutorna i ovanstående figur.
Faktum är att i själva vågformen är den blå delen av sändaren inte en enkel hög nivå på 0,56ms.Det är snarare en 0,56ms pwm-våg på 38kHz.
Den faktiska uppmätta vågformen är som följer:
Vågformsdetaljerna för vågfärgsdelen av sändaren i figuren är som följer:
Det kan ses att frekvensen för denna täta fyrkantsvåg är 38kHz.
Här är en sammanfattning: korrespondensen mellan sändaren och mottagaren på den infraröda fjärrkontrollen:
När sändaren matar ut en 38kHz fyrkantvåg är mottagaren låg, annars är mottagaren hög
3 Exempel på implementering av infraröd sändarfunktion
Låt oss nu gå vidare till programmeringsövningar.
Enligt den tidigare introduktionen vet vi att för att förverkliga funktionen hos en infraröd fjärrkontroll måste vi först inse två grundläggande funktioner:
1 38kHz fyrkantvågsutgång
2 Styr fyrkantvågen på 38 kHz för att slå på och av vid önskad tidpunkt
Den första är fyrkantvågsutgången på 38 kHz.Vi använder bara pwm-vågen för att generera den.Här måste vi använda timerns pwm-funktion.Jag använder STM32L011F4P6 lågeffektchip här.
Använd först artefaktkuben för kodgenereringsverktyget för att generera koden:
Initieringskod:
Sedan finns det funktionen att slå på eller av pwm-vågen enligt kodningsreglerna, som implementeras med timeravbrott, och sedan ändra hur länge pwm-vågen slås på eller av genom att ändra ankomsttiden för nästa avbryta:
Det finns fortfarande en del detaljer om den kodade datan som inte kommer att publiceras här.Om du behöver mer källkod är du välkommen att lämna ett meddelande, så kommer jag att förse dig med den detaljerade koden så snart som möjligt.
Posttid: 24-2-2022