KY-022 Infrared sensor receiver 3pin module TL1838 VS1838B HX1838

2,49 

9 na sklade

Katalógové číslo: 17405 Kategórie: , ,

Popis

KY-022 Infraprivekčný senzor prijímača 3-pinový modul TL1838 VS1838B HX1838
KY-022 Infrared Sensor Receiver Module
Popis: KY-022 je modul infračerveného senzora prijímača, ktorý slúži na detekciu infračerveného žiarenia. Tento modul je vybavený čipom TL1838, VS1838B alebo HX1838, ktorý umožňuje prijímanie signálov z infrakamer. Je ideálny pre rôzne projekty, ako sú diaľkové ovládacie systémy, bezdotykové spínače, sledovanie pohybu a ďalšie.
Funkcie:
  • Prijíma infračervené signály pomocou čipu TL1838, VS1838B alebo HX1838
  • Detekuje infračervené žiarenie v okolí senzora
  • Jednoduché pripojenie a ovládanie pomocou Arduino alebo iných mikrokontrolérov
  • Vhodný pre rôzne projekty, ktoré vyžadujú detekciu infračerveného žiarenia
Parametre:
Čip: TL1838, VS1838B, HX1838
Napájanie: 3.3V – 5V DC
Pinová konfigurácia: GND, OUT, VCC
Formát výstupu: Digitálny signál
Rozsah detekcie: Infračervené žiarenie
Príkladový kód:
// Kód pre čítanie signálov z KY-022 Infraprivekčného senzora prijímača
const int IR_PIN = 2; // Pin pre pripojenie výstupu senzora
void setup() {
Serial.begin(9600); // Inicializácia sériovej komunikácie
pinMode(IR_PIN, INPUT); // Nastavenie pinu ako vstup
}

void loop() {
int IR_value = digitalRead(IR_PIN); // Čítanie digitálneho signálu zo senzora
Serial.println(IR_value); // Výpis hodnoty na sériový port
delay(500); // Počká pol sekundy pred ďalším čítaním
}

KY-022 Infračervený senzorový prijímač 3pinový modul TL1838 VS1838B HX1838

Tento modul môže prijímať infračervené signály a odosiela ich na výstup signálu ako digitálnu sekvenciu.

Okrem toho LED integrovaná na module krátko zabliká, keď je detekovaný infračervený signál.

 

Pomocou senzorového modulu KY-022 je možné zostaviť infračervený prijímač. Na to je potrebný iba modul infračerveného prijímača a jediné Arduino. Arduino funguje ako prijímač signálov a odosiela ich do sériovej konzoly.

Pre nasledujúci príklad kódu je potrebná ďalšia knižnica:

Arduino-IRremote od Ken Shirriff | publikované pod licenciou MIT .

Nižšie uvedený príklad používa túto knižnicu – na tento účel ju odporúčame stiahnuť z Github, rozbaliť a skopírovať do priečinka knižnice Arduino, ktorý sa štandardne nachádza na adrese (C:\User[používateľské meno]\Documents\Arduino\libraries) , aby bol dostupný pre tento príklad kódu a následné projekty. Prípadne je to zahrnuté aj v nižšie uvedenom balíčku na stiahnutie.

Pre systémy infračerveného vysielača a prijímača existujú rôzne protokoly, v ktorých je možné odosielať a prijímať údaje. V nasledujúcom príklade je na príjem použitý upravený príklad SimpleReceiver – použitá knižnica “Arduino-IRremote” sa sama postará o prevod do správnej sekvencie dát. V rámci knižnice však existujú aj iné protokoly/kódovania – tie sú identifikované v dokumentácii/kóde knižnice. Dokumentácia .

Aby ste mohli použiť nasledujúci kód, je potrebné vziať do úvahy niekoľko dôležitých vecí. Najprv musíte otvoriť už existujúci príklad z knižnice, pretože otvorí veľmi dôležitý súbor, ktorý je potrebný na príjem. Ak chcete otvoriť tento príklad, prejdite na Súbor -> Príklady -> IRremote -> SimpleReceiver . Keď to urobíte, všetko, čo musíte urobiť, je nahradiť kód v príklade nižšie uvedeným kódom pre prijímač. Potom už stačí len vybrať Arduino, ku ktorému ste pripojili váš prijímač. Urobíte to nasledovne, prejdete na Nástroje -> Port -> COM . Je dôležité, aby ste vybrali COM, ku ktorému je pripojené vaše Arduino, ktorý bude neskôr slúžiť ako prijímač. V tomto príklade je možné zmeniť riadky 88 na 93.

 

/*
 * SimpleReceiver.cpp
 *
 * Demonstriert den Empfang von NEC-IR-Codes mit IRrecv
 *
 * Copyright (C) 2020-2021 Armin Joachimsmeyer
 * armin.joachimsmeyer@gmail.com
 *
 * Diese Datei ist Teil von Arduino-IRremote https://github.com/Arduino-IRremote/Arduino-IRremote.
 *
 * MIT-Lizenz
 */

/*
 * Geben Sie an, welche(s) Protokoll(e) für die Dekodierung verwendet werden soll(en).
 * * Wenn kein Protokoll definiert ist, sind alle Protokolle aktiv.
 */
//#define DECODE_DENON // Enthält Sharp
//#define DECODE_JVC
//#define DECODE_KASEIKYO
//#define DECODE_PANASONIC // dasselbe wie DECODE_KASEIKYO
//#define DECODE_LG
#define DECODE_NEC // Beinhaltet Apple und Onkyo
//#define DECODE_SAMSUNG
//#define DECODE_SONY
//#define DECODE_RC5
//#define DECODE_RC6

//#define DECODE_BOSEWAVE
//#define DECODE_LEGO_PF
//#define DECODE_MAGIQUEST
//#define DECODE_WHYNTER

//#define DECODE_DISTANCE // Universaldecoder für Impulsbreiten- oder Impulsabstandsprotokolle
//#define DECODE_HASH // Spezialdecoder für alle Protokolle

#include <Arduino.h>

/*
 * Makros für Eingangs- und Ausgangspin definieren etc.
 */
#include "PinDefinitionsAndMore.h"

#include <IRremote.h>

void setup() {
    Serial.begin(115200);
    // Nur um zu wissen, welches Programm auf meinem Arduino läuft
    Serial.println(F("START " __FILE__ " von " __DATE__ "\r\nUsing library version " VERSION_IRREMOTE));

    /*
     * Starten des Empfängers, Aktivieren der Feedback-LED und Abgreifen des LED-Feedback-Pins von der internen Kartendefinition
     */
    IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK, USE_DEFAULT_FEEDBACK_LED_PIN);

    Serial.print(F("Bereit zum Empfang von IR-Signalen an Pin "));
    Serial.println(IR_RECEIVE_PIN);
}

void loop() {
    /*
     * Prüfen, ob empfangene Daten vorhanden sind und wenn ja, versuchen, diese zu dekodieren.
     * Dekodiertes Ergebnis steht in der Struktur IrReceiver.decodedIRData.
     *
     * Z.B. Befehl ist in IrReceiver.decodedIRData.command
     * Adresse ist in Befehl ist in IrReceiver.decodedIRData.address
     * und bis zu 32 Bit Rohdaten in IrReceiver.decodedIRData.decodedRawData
     */
    if (IrReceiver.decode()) {

        // Drucken einer kurzen Zusammenfassung der empfangenen Daten
        IrReceiver.printIRResultShort(&Serial);
        if (IrReceiver.decodedIRData.protocol == UNKNOWN) {
            // Wir haben hier ein unbekanntes Protokoll, drucken Sie weitere Informationen
            IrReceiver.printIRResultRawFormatted(&Serial, true);
        }
        Serial.println();
  /*
         * !!!Wichtig!!! Aktivieren Sie den Empfang des nächsten Wertes,
         * da der Empfang nach dem Ende des aktuell empfangenen Datenpakets gestoppt wurde.
         */
        IrReceiver.resume(); // Empfang des nächsten Wertes freigeben

        /*
         * Abschließend prüfen Sie die empfangenen Daten und führen Aktionen entsprechend dem empfangenen Befehl aus
         */
        if (IrReceiver.decodedIRData.command == 0x34) {
            Serial.println("Signal empfangen");
        } else if (IrReceiver.decodedIRData.command == 0x36) {
            Serial.println("Signal empfangen und dieses Mal ist es ein anderes");
        } else {
            Serial.println("Signal empfangen, aber leider nicht das richtige");
        }
    }
}

 

 

 

 

 

 

 

Ďalšie informácie

Hmotnosť 3 g
Rozmery 30 × 30 × 30 mm