Progetto 29 Controllo Remoto IR
1. Descrizione
Il telecomando IR utilizza un segnale IR per controllare il LED, semplificando notevolmente il processo di controllo del LED.
2. Principio di Funzionamento

In questo progetto, si utilizza spesso un portante di circa 38K per la modulazione.
Il sistema di controllo remoto IR include modulazione, emissione e ricezione. Invia i dati tramite modulazione, migliorando l’efficienza di trasmissione e riducendo il consumo energetico.
Generalmente, la frequenza della modulazione del portante è compresa tra 30kHz e 60kHz (solitamente 38kHz). Il duty cycle dell’onda quadra è 1/3, come mostrato di seguito, ed è determinato dall’oscillatore a cristallo da 455kHz sul lato trasmittente.
Una divisione di frequenza intera è essenziale per l’oscillatore a cristallo su questo lato, e il coefficiente di frequenza è solitamente valutato a 12. Pertanto, 455kHz÷12≈37.9kHz≈38kHz.
Diagramma completo di emissione del portante a 38KHz:

Frequenza portante: 38KHz
Lunghezza d’onda: 940nm
Angolo di ricezione: 90°
Distanza di controllo: 6M
Schema dei pulsanti del telecomando:

3. Schema di Collegamento

4. Codice di Test
Trascina i due blocchi base.
Trova e trascina il blocco “IR remote init” da “IR Remote” e imposta il suo pin su IO19. Aggiungi un blocco “baud rate” da “serial” e impostalo a 9600.
、
Trascina un blocco “if” e riempi la sua condizione con “Received data”. Solo quando il modulo IR riceve dati, i blocchi di codice dentro “if” verranno eseguiti.

Trascina un altro blocco “if” e imposta la sua condizione su “Read the data > 0”. Solo quando questa condizione è soddisfatta, la porta seriale inizia a stampare i dati.
Questo sensore funziona così velocemente che il codice può essere eseguito due volte o più mentre si premono i pulsanti di controllo. Tuttavia, la seconda volta di un comando uguale invierà un valore 0, quindi un blocco “>” è necessario per evitare duplicazioni.

Aggiungi un blocco “serial print” dopo “then”. Imposta la stampa dei dati letti dal modulo “IR remote” in modalità “warp”.

Infine, non dimenticare di aggiornare i dati dopo l’esecuzione.

Codice Completo:

5. Risultato del Test
Dopo aver collegato i fili e caricato il codice, apri il monitor seriale e imposta il baud rate a 9600. Premi il pulsante sul telecomando e vedrai il valore in esadecimale.

6. Codice di Espansione
In questo codice di espansione, realizzeremo una luce controllata da un interruttore remoto IR. Premi OK per accendere il LED e premi di nuovo per spegnerlo.
Per realizzare questa operazione ripetibile, la variabile “item” è essenziale in tutto il codice. La prima volta, item = 0 quindi i codici in “else” vengono eseguiti per assegnare 1 come nuovo valore. La seconda volta, quando item = 1, invece, il blocco “if” viene eseguito per riassegnare 0, alternativamente.
Schema di Collegamento:

Codice:

7. Spiegazione del Codice
Inizializza il modulo IR remote dopo aver impostato il suo pin di ricezione.

Verifica se il sensore ha ricevuto dati. In tal caso, i blocchi di codice correlati verranno eseguiti.

Leggi i dati ricevuti dal controllo remoto IR.

Aggiorna i dati ricevuti dopo ogni esecuzione completa di ricezione.
