Inhoudsoverzicht:
1 Principe van infraroodsignaalzender
2 Correspondentie tussen zender en ontvanger van het infraroodsignaal
3 Implementatievoorbeeld infraroodzenderfunctie
1 Principe van infraroodsignaalzender
De eerste is het apparaat zelf dat het infraroodsignaal uitzendt, dat er over het algemeen zo uitziet:
De diameter van de infrarooddiode op de foto is 3 mm en de andere is 5 mm.
Ze zijn bijna precies hetzelfde als de lichtgevende LED's, dus de langere pinnen zijn verbonden met de positieve pool en de andere is verbonden met de negatieve pool.
Het eenvoudigste stuurcircuit is om een 1k stroombeperkende weerstand toe te voegen aan de positieve straat 3.3v en vervolgens de negatieve elektrode aan te sluiten op de IO van de microcontroller.Zoals hieronder getoond:
2 Correspondentie tussen zender en ontvanger van het infraroodsignaal
Dat gezegd hebbende, moet ik een fout in het volgende artikel met u corrigeren.
In de bovenstaande afbeelding wordt vermeld dat de signaalniveaus van de zender en de ontvanger tegengesteld zijn.Dat wil zeggen, hetzelfde als de inhoud die is omcirkeld in de rode en blauwe vakken in de bovenstaande afbeelding.
In feite is het blauwe deel van de zender in de daadwerkelijke golfvorm geen eenvoudig hoog niveau van 0,56 ms.Het is eerder een pwm-golf van 0,56 ms van 38 kHz.
De feitelijk gemeten golfvorm is als volgt:
De golfvormdetails van het golfkleurgedeelte van de zender in de afbeelding zijn als volgt:
Het is te zien dat de frequentie van deze dichte blokgolf 38 kHz is.
Hier is een samenvatting: de correspondentie tussen de zender en ontvanger van de infrarood afstandsbediening:
Wanneer de zender een blokgolf van 38 kHz uitvoert, is de ontvanger laag, anders is de ontvanger hoog
3 Implementatievoorbeeld infraroodzenderfunctie
Laten we nu verder gaan met programmeren.
Volgens de vorige inleiding weten we dat we, om de functie van een infraroodafstandsbediening te realiseren, eerst twee basisfuncties moeten realiseren:
1 blokgolfuitgang van 38 kHz
2 Regel de blokgolf van 38 kHz om op het gewenste tijdstip in en uit te schakelen
De eerste is de 38kHz blokgolfoutput.We gebruiken gewoon de pwm-golf om het te genereren.Hier moeten we de pwm-functie van de timer gebruiken.Ik gebruik hier de STM32L011F4P6 low-power chip.
Gebruik eerst de artefactkubus voor het genereren van code om de code te genereren:
Initialisatiecode:
Dan is er de functie van het in- of uitschakelen van de pwm-golf volgens de coderingsregels, die wordt geïmplementeerd met behulp van timeronderbrekingen, en vervolgens de tijdsduur wijzigen dat de pwm-golf wordt in- of uitgeschakeld door de aankomsttijd van de volgende te wijzigen onderbreken:
Er zijn nog enkele details van de gecodeerde gegevens die hier niet zullen worden geplaatst.Als u meer broncode nodig heeft, kunt u een bericht achterlaten en ik zal u zo snel mogelijk de gedetailleerde code bezorgen.
Posttijd: 24 februari 2022