.. note:: Ciao, benvenuto nella Community SunFounder Raspberry Pi & Arduino & ESP32 su Facebook! Approfondisci le tue conoscenze su Raspberry Pi, Arduino ed ESP32 insieme ad altri appassionati. **Perché unirti?** - **Supporto Esperto**: Risolvi problemi post-vendita e sfide tecniche con l'aiuto della nostra community e del nostro team. - **Impara & Condividi**: Scambia suggerimenti e tutorial per migliorare le tue abilità. - **Anteprime Esclusive**: Ottieni accesso anticipato ai nuovi annunci di prodotti e alle anteprime. - **Sconti Speciali**: Approfitta di sconti esclusivi sui nostri prodotti più recenti. - **Promozioni e Omaggi Festivi**: Partecipa a promozioni e omaggi durante le festività. 👉 Pronto a esplorare e creare con noi? Clicca su [|link_sf_facebook|] e unisciti oggi! .. _ar_receiver: 5.11.2 Ricevitore IR ========================= In questo progetto, imparerai a utilizzare il ricevitore IR. Un ricevitore a infrarossi è un componente che riceve segnali a infrarossi e può ricevere raggi infrarossi in modo indipendente e fornire segnali compatibili con il livello TTL. Ha dimensioni simili a un normale transistor incapsulato in plastica ed è adatto a tutti i tipi di telecomandi a infrarossi e trasmissioni IR. **Componenti Necessari** In questo progetto, abbiamo bisogno dei seguenti componenti. È sicuramente conveniente acquistare un intero kit, ecco il link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Nome - ELEMENTI IN QUESTO KIT - LINK * - 3 in 1 Starter Kit - 380+ - |link_3IN1_kit| Puoi anche acquistarli separatamente dai link qui sotto. .. list-table:: :widths: 30 20 :header-rows: 1 * - INTRODUZIONE AI COMPONENTI - LINK PER L'ACQUISTO * - :ref:`cpn_uno` - |link_Uno_R3_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_receiver` - \- **Schema Elettrico** .. image:: img/circuit_7.2_receiver.png **Collegamenti** In questo esempio, colleghiamo il pin sinistro del ricevitore IR al pin 11, il pin centrale a GND e il pin destro a 5V. .. image:: img/ir_remote_control_bb.jpg **Codice** .. note:: * Apri il file ``5.11.ir_receiver.ino`` nel percorso ``3in1-kit\basic_project\5.11.ir_receiver``. * Oppure copia questo codice nell'**Arduino IDE**. * La libreria ``IRremote`` viene utilizzata qui, puoi installarla dal **Library Manager**. .. image:: ../img/lib_irremote.png .. raw:: html Dopo aver caricato il codice sulla scheda R3, puoi vedere il valore corrente del pulsante premuto del telecomando IR visualizzato sul monitor seriale. **Come funziona?** Questo codice è progettato per funzionare con un telecomando a infrarossi (IR) utilizzando la libreria ``IRremote``. Ecco una descrizione del funzionamento: #. Includi le librerie: Viene inclusa la libreria ``IRremote``, che fornisce funzioni per lavorare con i telecomandi IR. .. code-block:: arduino #include #. Definisci il pin di Arduino a cui è collegato il pin del segnale del sensore IR. .. code-block:: arduino const int IR_RECEIVE_PIN = 11; // Define the pin number for the IR Sensor #. Inizializza la comunicazione seriale a un baud rate di 9600. Inizializza il ricevitore IR sul pin specificato (``IR_RECEIVE_PIN``) e abilita il feedback LED (se applicabile). .. code-block:: arduino void setup() { Serial.begin(9600); // Start serial communication at 9600 baud rate IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // Start the IR receiver } #. Il ciclo loop viene eseguito continuamente per elaborare i segnali in arrivo dal telecomando IR. .. code-block:: arduino void loop() { if (IrReceiver.decode()) { String decodedValue = decodeKeyValue(IrReceiver.decodedIRData.command); if (decodedValue != "ERROR") { Serial.println(decodedValue); delay(100); } IrReceiver.resume(); // Enable receiving of the next value } } * Verifica se un segnale IR è stato ricevuto e decodificato correttamente. * Decodifica il comando IR e lo memorizza in ``decodedValue`` utilizzando una funzione personalizzata ``decodeKeyValue()``. * Verifica che il valore decodificato non sia un errore. * Stampa il valore decodificato IR sul monitor seriale. * Riprende la ricezione dei segnali IR per il prossimo segnale.