Guia pas a pas per a la configuració i la resolució de problemes del comandament a distància IR d'Arduino

Guia pas a pas per a la configuració i la resolució de problemes del comandament a distància IR d'Arduino

Utilitzeu comandaments a distància per infrarojos per fer que els projectes d'Arduino siguin senzills i divertits. La tecnologia infraroja us ajuda a controlar les coses a casa. Podeu construir els vostres propis comandaments a distància o llegir senyals d'altres comandaments a distància. Amb els sistemes de comandaments a distància per infrarojos d'Arduino, podeu crear noves maneres de controlar els dispositius. També podeu crear els vostres propis comandaments a distància especials. La configuració del comandament a distància per infrarojos d'Arduino és una manera fàcil d'afegir control sense fil als vostres projectes.

Tipus d'aplicació

Descripció

Control d'electrodomèstics

Feu servir comandaments a distància per infrarojos per a televisors i altres objectes de casa.

Comandaments a distància personalitzats

Crea comandaments a distància per controlar molts dispositius més fàcilment.

Descodificació de senyals

Torna a utilitzar els senyals per controlar els nous dispositius.

Creació de controls personalitzats

Crea controls per a necessitats especials en un control remot per infrarojos d'Arduino.

Pots començar connectant un receptor d'infrarojos bàsic. Després, pots provar noves idees per al control remot d'infrarojos d'Arduino.

Conceptes bàsics de la comunicació per infrarojos

Què és IR?

L'infrarojos permeten que els dispositius s'enviïn senyals entre si. L'infrarojos signifiquen infrarojos, un tipus de llum que no podem veure. La comunicació per infrarojos utilitza aquesta llum invisible per enviar informació. Els comandaments a distància i els receptors utilitzen LED i sensors d'infrarojos per a això. Hi ha dues maneres principals de funcionar l'infrarojos: punt a punt i difús. El punt a punt necessita que el comandament a distància estigui orientat cap al receptor. El difús permet que els dispositius es comuniquin sense una línia directa. L'infrarojos funcionen en un rang de freqüències de 300 GHz a 400 THz. Podeu trobar infrarojos en coses com televisors, auriculars i sistemes de seguretat domèstica.

Consell: els senyals d'infrarojos no travessen objectes sòlids. Assegureu-vos que res no bloquegi el camí entre el comandament a distància i el receptor.

  • La comunicació per infrarojos utilitza polsos de llum infraroja.

  • Els senyals d'infrarojos funcionen millor sense res que hi hagi entremig.

  • La tecnologia d'infrarojos s'utilitza en molts aparells electrònics de la llar.

Comandament a distància IR i receptor IR

Necessiteu un comandament a distància per infrarojos i un receptor per infrarojos per utilitzar la llum infraroja. El comandament a distància envia dades com a polsos de llum infraroja. El receptor rep aquests polsos i els descodifica. Per als projectes d'Arduino IR, sovint feu servir una placa SunFounder Uno, un cable USB, un mòdul receptor d'infrarojos, un comandament a distància i un cable de 3 pins.

Component

function

IR a distància

Envia senyals infrarojos

Mòdul receptor d'infrarojos

Rep i descodifica senyals

Tauler Arduino

Gestiona les dades rebudes

Els comandaments a distància per infrarojos utilitzen mètodes de codificació especials anomenats IR de consum. Aquests mètodes envien ordres lentament, fins a 32 bits a 4000 bits per segon. El receptor comprova quant duren els polsos i espais de la llum infraroja. La modulació a 38 kHz ajuda el receptor a ignorar altres llums.

Protocols d'infrarojos

S'utilitzen protocols per controlar dispositius amb infrarojos. Els protocols són regles per enviar i llegir senyals infrarojos. El protocol NEC és molt comú en electrònica. Altres protocols populars són JVC, Sony SIRC, Philips RC5 i RC6. Aquests protocols utilitzen una ona portadora de 38 kHz per enviar senyals binaris.

  • Protocol remot NEC

  • Protocol remot RC5

  • Protocol JVC

  • Protocol SIRC de Sony

  • Protocol Philips RC6

Cada botó del comandament a distància per infrarojos envia el seu propi codi. El receptor fa coincidir el codi amb una ordre. Els protocols i la codificació asseguren que cada botó faci alguna cosa diferent. Això us proporciona un control precís perquè cada codi és especial.

Configuració del comandament a distància IR d'Arduino

Configuració del comandament a distància IR d'Arduino
Font de la imatge: pexels

Pinout del receptor d'infrarojos

Cal que coneguis la distribució de pins abans de començar la configuració del comandament a distància per infrarojos de l'Arduino . La majoria dels receptors d'infrarojos tenen tres pins. Cada pin té una funció específica. Has de connectar cada pin al punt correcte de la placa Arduino. Això ajuda a que la configuració funcioni bé.

Pin del receptor d'infrarojos

Pin Arduino

-

GND

+ (clavilla central)

5V

S

Pin digital 11

El pin negatiu va a GND. El pin positiu es connecta a 5V. El pin de senyal es connecta a un pin digital, sovint el pin 11. Consulteu sempre la fitxa tècnica del vostre receptor d'infrarojos. Alguns receptors utilitzen noms de pins diferents, però la majoria segueixen aquest patró.

Cablejat a Arduino

Heu de connectar el receptor d'infrarojos a l'Arduino per configurar el comandament a distància infrarojos de l'Arduino. Feu servir cables de connexió per facilitar la configuració . Assegureu-vos de connectar el receptor als pins correctes. Aquest pas és clau per a unes bones connexions de maquinari.

Receptor d’IR

Arduino

SORTIDA (esquerra)

Pin 2

GND (mig)

GND (-)

Vcc (dreta)

5 V (+)

Segueix aquests passos per a la configuració:

  1. Col·loca el receptor d'infrarojos a la placa de proves.

  2. Connecteu el pin OUT al pin digital 2 del vostre Arduino.

  3. Connecteu el pin GND al GND de la vostra placa.

  4. Connecteu el pin Vcc al pin de 5V.

Consell: Comproveu cada cable abans d'encendre la configuració. Una connexió incorrecta pot impedir que la configuració del comandament a distància per infrarojos Arduino funcioni.

Comprovació de maquinari

Després de connectar el receptor, cal que comproveu la configuració. Assegureu-vos que cada cable estigui ben ajustat. Busqueu cables solts o pins doblegats. La configuració del vostre comandament a distància per infrarojos Arduino necessita connexions de maquinari sòlides. Si veieu llums intermitents al receptor, la configuració funciona. Si no, torneu a comprovar el cablejat.

Pots utilitzar un multímetre per comprovar el voltatge al receptor. El pin de 5 V hauria de mostrar un valor proper als 5 volts. El pin GND hauria de marcar zero. El pin del senyal hauria de canviar quan premis botons del comandament a distància per infrarojos. Això vol dir que la configuració està a punt per al següent pas.

Programació d'Arduino i lectura de codis

Instal·leu la biblioteca IRremote

Necessiteu la biblioteca IRremote per programar el vostre receptor d'infrarojos. Aquesta biblioteca us ajuda a llegir els senyals del vostre comandament a distància. Per instal·lar-la, seguiu aquests passos: Obriu l'IDE d'Arduino. Aneu a Sketch, després a Inclou biblioteca i, a continuació, a Administra biblioteques. Cerqueu "Arduino-IRremote" al Gestor de biblioteques. Feu clic a Instal·la.

Si veieu errors com ara "TCCR2B no s'ha declarat" o errors de reubicació, és possible que tingueu una discrepància de xip. Aquests problemes es produeixen amb els microcontroladors Attiny. Podeu solucionar-los utilitzant l'IDE d'Arduino versió 1.0.5. Assegureu-vos que els fitxers de la biblioteca siguin a la carpeta correcta.

Després d'instal·lar la biblioteca, podeu començar a programar el vostre receptor d'infrarojos. La biblioteca IRremote té exemples per ajudar-vos a llegir codis i controlar dispositius.

Llegir codis IR

Podeu utilitzar exemples de la biblioteca IRremote per llegir codis del vostre comandament a distància. Obriu l'esbós d'exemple "IRrecvDemo". Pugeu-lo al vostre Arduino. Connecteu el vostre receptor IR a la placa. Obriu el Monitor Sèrie a l'IDE d'Arduino.

Quan premeu un botó del comandament a distància, el receptor d'infrarojos rep el senyal. L'Arduino descodifica el senyal i mostra els codis en format hexadecimal. Premeu cada botó per trobar el seu codi. Anoteu els codis per poder-los utilitzar més tard.

Consell: Per enregistrar codis per a tots els botons, premeu cada botó i anoteu els codis al Monitor sèrie. Això us ajudarà a trobar els codis del vostre comandament a distància.

Potser voldràs saber quin protocol utilitza el teu comandament a distància. Pots fer-ho de diferents maneres: utilitza un oscil·loscopi per observar el senyal. Utilitza el teu receptor d'infrarojos amb Arduino per descodificar el protocol. Prova mètodes de codificació com la modulació d'amplada de pols o la codificació bifàsica.

Els exemples de la biblioteca IRremote sovint mostren el nom del protocol amb els codis. Això us ajuda a fer coincidir els codis amb el protocol correcte.

Assignar codis a accions

Després de trobar els codis per al teu comandament a distància, pots assignar-los a accions del teu esbós d'Arduino. Fes servir exemples de la biblioteca IRremote per controlar LED, motors o altres dispositius. Puja el teu codi a l'Arduino. Obre el monitor sèrie. Apunta el comandament a distància al receptor IR i prem els botons. L'Arduino llegeix els codis i fa les accions que configures.

Podeu utilitzar codis de tecla IR per controlar les sortides. Per exemple, enceneu un LED amb un botó. Apagueu-lo amb un altre botó. També podeu utilitzar codis per controlar motors o relés. Defineu accions al vostre esbós per a cada codi que vulgueu utilitzar.

  • Captura els codis de cada botó.

  • Utilitzeu els codis del vostre sketch d'Arduino per controlar les sortides.

  • Configura funcions per a cada codi per crear comandaments a distància personalitzats.

  • Prova diferents exemples per aprendre a utilitzar codis per a molts dispositius.

Pots provar de mapejar codis a noves accions. Això et permet crear controls personalitzats per als teus projectes. Si vols codis per a un comandament a distància nou, repeteix el procés i actualitza el teu esbós. Programar el receptor d'infrarojos amb Arduino et dóna moltes maneres d'utilitzar el control sense fil.

Sortides de control amb comandament a distància IR

LEDs i dispositius

Pots utilitzar el comandament a distància per infrarojos per controlar elements amb l'Arduino. Els elements que controles més habitualment són els LED i els dispositius domèstics. Primer, configura el receptor d'infrarojos i connecta'l a l'Arduino. Cada botó del comandament a distància envia el seu propi senyal. L'Arduino llegeix aquests senyals i controla el que vols.

  • LEDs

  • Accessoris

  • Molts dispositius que pots controlar sense cables

Pots encendre més d'un LED alhora. Al teu codi, tria quins pins van a cada LED. Fes servir carcasses d'interruptors per fer coincidir cada botó amb un LED o dispositiu determinat. Quan prems un botó, l'Arduino activa o desactiva la sortida.

Consell: Podeu fer servir el comandament a distància per infrarojos per controlar llums, ventiladors o altres coses sense cables.

Aquí teniu un exemple de codi senzill per controlar diversos LEDs:

#include <IRremote.h>
int IR_Recv = 3;
int ledPins[] = {5, 6, 9, 10};
void setup() {
  for (int i = 0; i < 4; i++) {
    pinMode(ledPins[i], OUTPUT);
  }
  IrReceiver.begin(IR_Recv, ENABLE_LED_FEEDBACK);
}
void loop() {
  if (IrReceiver.decode()) {
    switch (IrReceiver.decodedIRData.command) {
      case 0x10: digitalWrite(ledPins[0], HIGH); break;
      case 0x11: digitalWrite(ledPins[1], HIGH); break;
      case 0x12: digitalWrite(ledPins[2], HIGH); break;
      case 0x13: digitalWrite(ledPins[3], HIGH); break;
    }
    IrReceiver.resume();
  }
}

Podeu canviar els números PIN i els codis per adaptar-los al vostre projecte. D'aquesta manera funciona amb qualsevol comandament a distància.

Personalització per a diferents comandaments a distància

Potser voldràs utilitzar diferents tipus de comandaments a distància per infrarojos. Cal que canviïs una mica el codi de l'Arduino. Primer, descobreix quin protocol infrarojos utilitza el teu comandament a distància. Escriu les ordres per a cada botó. Mira els senyals per a cada tasca i pren notes. Canvia una cosa a la vegada i escriu què passa.

  1. Esbrina el protocol IR del teu comandament a distància.

  2. Escriu les ordres per a cada botó.

  3. Reviseu i guardeu notes per a cada senyal i tasca.

  4. Canvia una cosa a la vegada i registra què passa.

Amb el comandament a distància per infrarojos, pots canviar el teu projecte Arduino per a molts comandaments a distància. Això et permet controlar moltes coses. Pots utilitzar qualsevol comandament a distància actualitzant el teu codi amb noves ordres i protocols.

Resolució de problemes del receptor i codis d'infrarojos

Resolució de problemes del receptor i codis d'infrarojos
Font de la imatge: pexels

Problemes de maquinari

És possible que tinguis problemes amb la configuració del receptor d'infrarojos. Els problemes de maquinari sovint impedeixen que el teu projecte d'Arduino funcioni. Pots comprovar el LED d'infrarojos amb la càmera d'un telèfon mòbil. La càmera pot veure la llum que els teus ulls no poden. Si no veus cap llum, prova d'invertir l'orientació del LED. De vegades, el LED està orientat en la direcció equivocada. Apunta un comandament a distància del televisor cap al receptor i mira el LED d'estat. Si parpelleja, el receptor rep el senyal. Si el LED d'estat roman encès quan interromps el feix, bloqueja el senyal d'infrarojos i mira si el receptor reacciona.

Els cables solts o els pins doblegats poden causar problemes. Assegureu-vos que el detector es connecti correctament a l'Arduino. Feu servir un multímetre per comprovar el voltatge als pins del receptor. El pin GND hauria de marcar zero. El pin de 5V hauria de mostrar prop de cinc volts. El pin del senyal hauria de canviar quan premeu els botons del comandament a distància. Si no veieu cap canvi, torneu a comprovar el cablejat.

Consell: Proveu el sistema en una zona amb ombra. La llum solar directa o les llums fortes poden interrompre el receptor d'infrarojos. Obtindreu millors resultats a l'interior o amb poca llum.

  • Feu servir la càmera d'un telèfon mòbil per comprovar el LED d'infrarojos.

  • Inverteix el LED si no s'encén.

  • Apunta el comandament a distància del televisor al receptor i observa si hi ha flaixos.

  • Assegureu-vos que els cables del detector estiguin connectats a l'Arduino.

  • Bloqueja el senyal IR i comprova el LED d'estat.

  • Prova de tensió als pins del receptor.

Problemes de programari i senyal

Els problemes de programari poden impedir que el receptor d'infrarojos funcioni. Podeu triar entre les biblioteques IRremote o IRLib per enviar i llegir senyals d'infrarojos. Proveu tots els exemples d'aquestes biblioteques. Provar exemples us ajuda a trobar problemes amb el receptor o el comandament a distància. De vegades, el receptor no pot descodificar els senyals de certs comandaments a distància. Comproveu si la vostra biblioteca admet el protocol del comandament a distància.

La llum ambiental o altres fonts d'infrarojos poden interferir amb el receptor. Els filtres de maquinari ajuden a reduir la llum no desitjada. Col·loca el receptor lluny de llums brillants. Prova el sistema en una habitació fosca per veure si el receptor funciona millor. Si encara tens problemes, comprova si hi ha altres fonts d'infrarojos a prop.

  • Prova diferents biblioteques com ara IRremote o IRLib.

  • Proveu tots els esbossos d'exemple per trobar problemes de programari.

  • Comproveu si el receptor descodifica els senyals del comandament a distància.

  • Utilitzeu filtres de maquinari per bloquejar la llum no desitjada.

  • Allunyeu el receptor de les llums brillants.

  • Proveu-ho en una habitació fosca per obtenir un millor rendiment.

  • Busqueu altres fonts d'infrarojos que puguin causar interferències.

Nota: Desxifrar molts tipus de senyals de comandament a distància per infrarojos us ajuda a trobar problemes de compatibilitat. Anoteu sempre els codis de cada botó i feu-los coincidir amb l'acció correcta a l'esbós de l'Arduino.

Has après a utilitzar un Arduino amb un comandament a distància per infrarojos. Aquí tens els passos que t'ajudaran:

  1. Instal·la la biblioteca IRremote. Connecta el sensor d'infrarojos als pins correctes.

  2. Fes servir un codi d'exemple per obtenir senyals del teu comandament a distància. Mira la sortida al monitor.

  3. Relaciona cada botó del comandament a distància amb una acció de control del teu projecte.

  4. Prova diferents comandaments a distància per millorar el control i solucionar problemes.

Si necessiteu ajuda, consulteu aquests recursos comunitaris:

Títol de la discussió

Descripció

Ajuda

Feu preguntes sobre problemes amb el comandament a distància per infrarojos.

Com puc interpretar les dades en brut del monitor per a codis IR?

Apreneu a llegir i utilitzar dades de codi IR.

sendSamsungLG() no funciona amb el meu LG HX906

Troba respostes a problemes de compatibilitat de dispositius.

Problema d'ESP32 amb el canal 0 ja utilitzat per a la pantalla

Obteniu consells per a problemes amb ESP32 i control remot IR.

bootloop

Mira si altres persones tenen els mateixos problemes amb el comandament a distància per infrarojos.

La resolució de problemes forma part de l'aprenentatge. Prova noves maneres de controlar les coses i prova diferents comandaments a distància.

FAQ

Com saps si el teu receptor d'infrarojos funciona?

Pots comprovar el teu receptor d'infrarojos apuntant-hi amb un comandament a distància i observant si hi ha un LED que parpelleja. Si veus flaixos quan premes botons, el receptor rep senyals. També pots utilitzar la càmera d'un telèfon per veure la llum d'infrarojos.

Per què el teu Arduino no llegeix cap codi IR?

Potser teniu un problema de cablejat o un problema de biblioteca . Comproveu totes les connexions i assegureu-vos que feu servir els pins correctes. Instal·leu la biblioteca IRremote. Proveu esbossos d'exemple per provar la configuració. Assegureu-vos que la placa Arduino rebi alimentació.

Pots utilitzar qualsevol comandament a distància amb el teu receptor d'infrarojos Arduino?

La majoria de receptors d'infrarojos funcionen amb molts comandaments a distància. Cal trobar els codis de cada botó. Alguns comandaments a distància utilitzen protocols especials. Proveu el vostre comandament a distància amb la biblioteca IRremote. Escriviu els codis i feu-los coincidir amb les accions del vostre esbós.

Què has de fer si els senyals d'infrarojos no arriben al receptor?

Allunyeu els objectes del camí entre el comandament a distància i el receptor. Els senyals d'infrarojos necessiten una línia clara. Proveu d'utilitzar la configuració en una habitació amb menys llum solar. Comproveu si el receptor està orientat directament cap al comandament a distància.

Com es pot controlar més d'un dispositiu amb el comandament a distància IR d'Arduino?

Pots assignar diferents codis a diferents sortides al teu esbós. Fes servir carcasses de commutador per a cada codi de botó. Connecta més dispositius al teu Arduino i estableix accions per a cadascun. Prova cada botó per assegurar-te que funciona.

Deixa el teu comentari

La teva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb un *