Project 7: IR-ontvangst

(1)Beschrijving:

Het staat buiten kijf dat infrarood afstandsbediening alomtegenwoordig is in het dagelijks leven. Het wordt gebruikt om verschillende huishoudelijke apparaten te bedienen, zoals televisies, stereo-installaties, videorecorders en satellietsignaalontvangers. Infrarood afstandsbediening bestaat uit een infrarood zend- en ontvangstysteem, dat wil zeggen een infrarood afstandsbediening en een infrarood ontvangstmodule en een enkelvoudige-chip microcomputer die in staat is tot decodering.

Het 38K infrarood draaggolfsignaal dat door de afstandsbediening wordt uitgezonden, wordt gecodeerd door de coderingschip in de afstandsbediening. Het bestaat uit een stuk pilootcode, gebruikerscode, inverse gebruikerscode, datacode en inverse datacode. Het tijdsinterval van de puls wordt gebruikt om te onderscheiden of het een 0- of 1-signaal is, en de codering bestaat uit deze 0- en 1-signalen.

De gebruikerscode van dezelfde afstandsbediening blijft ongewijzigd, terwijl de datacode de toets kan onderscheiden.

Wanneer de knop op de afstandsbediening wordt ingedrukt, verzendt de afstandsbediening een infrarood draaggolfsignaal. Wanneer de IR-ontvanger het signaal ontvangt, zal het programma het draaggolfsignaal decoderen en bepalen welke toets is ingedrukt. De MCU decodeert het ontvangen 01-signaal en bepaalt daarmee welke toets op de afstandsbediening is ingedrukt.

De infrarood ontvanger die we gebruiken is een infrarood ontvangstmodule. Deze bestaat voornamelijk uit een infrarood ontvangerhoofd, wat een apparaat is dat ontvangst, versterking en demodulatie integreert. De interne IC heeft de demodulatie voltooid en kan infraroodontvangst tot uitvoer verwezenlijken en is compatibel met TTL-signalen. Bovendien is het geschikt voor infrarood afstandsbediening en infraroodgegevensoverdracht. De infrarood ontvangstmodule die door de ontvanger is gemaakt, heeft slechts drie pinnen: signaallijn, VCC en GND. Het is zeer eenvoudig om te communiceren met Arduino en andere microcontrollers.

(2)Parameters:

  • Werkspanning: 3,3-5V (DC)

  • Interface: 3PIN

  • Uitgangssignaal: Digitaal signaal

  • Ontvangsthoek: 90 graden

  • Frequentie: 38khz

  • Ontvangstafstand: 10m

Infrarood ontvanger geïntegreerd op de motoraansturingskaart:

Opmerking: Aangezien de IR-ontvanger is geïntegreerd in de Keyestudio 8833 motoraansturing uitbreidingskaart, is geen extra bedrading vereist. De pinnen van de IR-ontvanger op de Keyestudio 8833 motoraansturing uitbreidingskaart zijn G (GND), V (VCC) en D3.

(4)Testcode:

U kunt ook blokken slepen om uw code te bewerken, zoals hieronder weergegeven

Volledige testcode

(Opmerking: Sluit de Bluetooth-module niet aan voordat u de code uploadt, omdat het uploaden van de code ook gebruik maakt van seriële communicatie, en er kunnen conflicten optreden met de Bluetooth seriële communicatie, waardoor het uploaden kan mislukken.)

(5)Testresultaten:

Upload de code naar de ontwikkelkaart en stel de baudrate in op 9600. Pak de afstandsbediening erbij, richt hem op de infrarood ontvangersensor en druk op een knop om het signaal te verzenden. U zult de overeenkomstige toetswaarde zien. Als de toets te lang wordt ingedrukt, kan er gemakkelijk een onleesbaar “FFFFFFFF” verschijnen.

Hieronder hebben we elke toetswaarde van de Keyestudio afstandsbediening vermeld. U kunt dit als referentie bewaren.

(6)Uitbreidingsoefening:

We hebben zojuist de toetswaarden van de IR-afstandsbediening gedecodeerd. Laten we die nu gebruiken om een LED-lamp aan en uit te zetten. We moeten een LED-lichtmodule aansluiten op pin D9, terwijl de pinpositie van de infrarood ontvanger ongewijzigd blijft. Wanneer de OK-knop op de afstandsbediening wordt ingedrukt, gaat de LED aangesloten op D9 aan, en wanneer de OK-knop opnieuw wordt ingedrukt, gaat de LED uit.

U kunt ook blokken slepen om uw code te bewerken, zoals hieronder weergegeven

(1)

(2)

(3)

(4)

(5)

(6)

(7)

Volledige testcode

(Opmerking: Sluit de Bluetooth-module niet aan voordat u de code uploadt, omdat het uploaden van de code ook gebruik maakt van seriële communicatie, en er kunnen conflicten optreden met de Bluetooth seriële communicatie, waardoor het uploaden kan mislukken.)

Upload de code naar de ontwikkelkaart en druk op de “OK”-toets op de afstandsbediening om de LED aan en uit te zetten.