Search Code

ESP32 Cashar 29/55 - Akhrinta furaha IR ee fog ee ESP32| Qalabka Barashada ESP32 IoT ee SunFounder

ESP32 Cashar 29/55 - Akhrinta furaha IR ee fog ee ESP32| Qalabka Barashada ESP32 IoT ee SunFounder

Cashiyaradan, waxaan baran doonaa sida loo ogaado calaamadaha infrared (IR) iyadoo la isticmaalayo module-ka ESP32 iyo qaataha IR ee waafaqsan. Markaan riixno badhan ku yaal fogaanta, ESP32 wuxuu aqoonsan doonaa calaamadda oo wuxuu fulin doonaa ficillo gaar ah, sida dhawaaqinta buzzer-ka ee riixista furaha gaarka ah. Mashruucani wuxuu ku habboon yahay kuwa raba inay ku daraan awoodaha kontoroolka fogaanta codsiyadooda ESP32 (fiidiyowga 02:15).

fogaanta

ESP32 waa kontoroolka mikro waaweyn oo isku daraya awoodaha Wi-Fi iyo Bluetooth, taasoo ka dhigaysa mid ku habboon codsiyo kala duwan oo IoT ah. Mashruucan, waxaan isticmaali doonaa qaataha IR si aan u fasirno calaamadaha ka imanaya fogaanta kontoroolka. Riixista furaha waxaa lagu habayn doonaa koodhka, taasoo noo ogolaanaysa inaan qaadno ficillo ku saleysan amarrada la helo.

Qalabka La Sharaxay

Qaybaha ugu muhiimsan ee mashruucan waxaa ka mid ah kontoroolka mikro ESP32, module-ka qaataha IR, iyo buzzer-ka. ESP32 wuxuu u shaqeeyaa sida maskaxda hawlgalka, isagoo habaynaya calaamadaha ka hela qaataha IR. Qaataha IR wuxuu ogaadaa calaamadaha infrared ee ka imanaya fogaanta kontoroolka wuxuuna u beddelaa calaamado koronto oo ESP32 uu fahmi karo.

qaataha_ir_sl838

Qaataha IR wuxuu caadi ahaan leeyahay saddex biin: VCC (koronto), GND (dhul), iyo OUT (calaamad). Biinka VCC waxaa lagu xiraa ilo koronto (3.3V ama 5V), halka GND uu ku xirmaa dhulka. Biinka OUT wuxuu u diraa calaamadda la furey ESP32, kaas oo markaa loo isticmaali karo inuu kiciyo ficillo kala duwan, sida kicinta buzzer-ka marka fure gaar ah la riixo.

Faahfaahinta Xogta

Soo saaraha Sharp
Nambarka qaybta GP1UXC41
Korontada Logic/IO 3.3 - 5.0 V
Korontada sahayda 3.3 V (caadi ahaan)
Korontada soo-saarka (kanal kasta) 20 mA (ugu badnaan)
Korontada ugu sarreysa (kanal kasta) 50 mA (ugu badnaan)
Hagaha soo noqnoqoshada PWM 38 kHz
Heerarka xadka gelinta 0.3 Vcc (sare), 0.2 Vcc (hoose)
Hoos u dhaca korontada / RDS(on) / dheregsanaanta 0.5 V (ugu badnaan)
Xadka kulaylka 85 °C (ugu badnaan)
Baakad TO-92
Xusuusin / noocyo Waxaa laga heli karaa qaabab badan

 

  • Hubi sahayda korontada ee saxda ah si aad uga fogaato waxyeelada.
  • Isticmaal fiilooyin gaagaaban si loo yareeyo faragelinta calaamadda.
  • Hubi jihada qaataha IR ka hor intaadan ku xirin.
  • Xaqiiji in batteriga fogaanta kontoroolka uu shaqeynayo.
  • Isticmaal resistors-ka kor u jiidaya haddii loo baahdo xasilloonida.

Tilmaamaha Xirista

ESP32-29-IR-remote-wiring

Si aad ugu xirto qaataha IR ee ESP32, waxaad ku bilaabaysaa inaad aqoonsato saddexda biin ee qaataha IR: VCC, GND, iyo OUT. Ku xir biinka VCC ilo koronto 3.3V oo ku yaal ESP32. Marka xigta, ku xir biinka GND mid ka mid ah biinanka dhulka (GND) ee ESP32. Ugu dambeyntii, ku xir biinka OUT biinka GPIO 14 ee ESP32, kaas oo loo qoondeeyay qaataha IR ee koodhka.

ESP32-29-IR-remote-schematic

Marka xirista la sameeyo, hubi in fiilooyinka ay adag yihiin. Haddii aad isticmaalayso breadboard, geli qaataha IR si dhinaca fidsan uu kuu soo jeedo oo buurta ay tahay dhinaca ka soo horjeeda. Jihadan waxay kaa caawin doontaa inaad si sax ah u aqoonsato biinanka. Hubi xirista ka hor intaadan shidin ESP32.

Tusaalooyinka Koodhka & Sharaxaadda

maktabadda_qaataha_IR

ku shub maktabadda IRremoteESP8266 ee David Conran, Sebastien.

Koodhka, waxaan ku qeexaynaa biinka qaataha IR iyadoo la isticmaalayo joogtada IR_RECEIVE_PIN, kaas oo loo dejiyay 14. Sidoo kale waxaan abuuraynaa tusaale ka mid ah IRrecv si loo maareeyo calaamadaha IR.

const uint16_t IR_RECEIVE_PIN = 14;
IRrecv irrecv(IR_RECEIVE_PIN);
decode_results results;

Qaabkani wuxuu noo ogolaanayaa inaan helno calaamado ka imanaya fogaanta IR. Shaqada setup(), waxaan bilaabaynaa isgaarsiinta serial-ka waxaanan awood u siinaynaa qaataha IR.

void setup() {
  Serial.begin(115200);
  irrecv.enableIRIn();
}

Gudaha shaqada loop(), waxaan hubinaynaa haddii calaamad IR la helay. Haddii ay sidaas tahay, waxaan fureynaa qiimaha furaha waxaanan ku daabacaynaa kormeeraha serial-ka.

if (irrecv.decode(&results)) {
    String key = decodeKeyValue(results.value);
    Serial.println(key);
    irrecv.resume(); 
}

Qaybtan koodhka waxay muujinaysaa sida aan u fureyno calaamadda la helay oo aan u daabacno qiimaha furaha ee u dhigma kormeeraha serial-ka. Shaqada decodeKeyValue() waxay u qaabaysaa calaamadda la helay qiimayaasha badhanka gaarka ah, sida "0", "1", "EQ", iyo kuwa kale. Waxaad ka heli kartaa koodhka dhammaystiran ee hoos ku xusan maqaalka.

Muuujin / Waxa Laga Filan Karo

Markii fiilasku dhammaado oo koodhka la soo geliyo, riixida badhanka ku yaal fogaanta waa in ay muujisaa qiimaha furayaasha ee ku habboon kormeerka taxanaha. Tusaale ahaan, riixida badhanka "2" waxay daabici doontaa "2" kormeeraha. Haddii fuurka aan la aqoonsan, waxay soo celin doontaa "ERROR". Gawaarida ayaa dhawaaqi doonta marka fuurka loo qoondeeyay (tusaale, "EQ") la riixo, taasoo bixinaysa jawaab degdeg ah.

Ka digtoonow khataraha caadiga ah, sida rogaanshaha korantada ee isku xirkaaga ama isticmaalka heerarka danab ee khaldan. Hubi in fogaanta ay si fiican u shaqeyso oo ay leedahay batari shaqeynaya ka hor intaadan tijaabin qaabayntaada (fiidiyowga 15:30).

Waqtiyada Fiidiyowga

  • 00:00 Bilow
  • 2:05 Hordhac ku saabsan qaabka IR
  • 4:24 Fiilasku waa la sharaxay
  • 6:08 Koodhka Arduino ee qaabka IR waa la sharaxay
  • 10:06 Doorashada guddiga ESP32 iyo dekedda COM ee Arduino IDE
  • 11:48 Bandejiga Mashruuca
  • 13:09 Gawaarida firfircoon oo si toos ah ugu xiran ESP32
  • 14:40 qaadashada tallaabo marka fuur la riixo
  • 15:30 Koodhka Arduino ee qaadashada tallaabada
  • 16:54 Bandejiga riixista furayaasha iyo gawaarida

Sawirro

IR_receiver_lib
IR_receiver_lib
ir_receiver_sl838
ir_receiver_sl838
remote
remote
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-schematic
ESP32-29-IR-remote-wiring
ESP32-29-IR-remote-wiring
830-ESP32 Tutorial 29/55- Arduino code for fading Infrared remote
Luqadda: C++
#include <IRremoteESP8266.h>
#include <IRrecv.h>

// Define the IR receiver pin
const uint16_t IR_RECEIVE_PIN = 14;

// Create an IRrecv object
IRrecv irrecv(IR_RECEIVE_PIN);

// Create a decode_results object
decode_results results;

void setup() {
  // Start serial communication
  Serial.begin(115200);

  // Start the IR receiver
  irrecv.enableIRIn();
}

void loop() {
  // If an IR signal is received
  if (irrecv.decode(&results)) {
    String key = decodeKeyValue(results.value);
    if (key != "ERROR") {
      // Print the value of the signal to the serial monitor
      Serial.println(key);
    }
    irrecv.resume(); // Continue to receive the next signal
  }
}

// Function to decode the value of the IR signal
String decodeKeyValue(long result)
{
  switch(result){
    case 0xFF6897:
      return "0";
    case 0xFF30CF:
      return "1"; 
    case 0xFF18E7:
      return "2"; 
    case 0xFF7A85:
      return "3"; 
    case 0xFF10EF:
      return "4"; 
    case 0xFF38C7:
      return "5"; 
    case 0xFF5AA5:
      return "6"; 
    case 0xFF42BD:
      return "7"; 
    case 0xFF4AB5:
      return "8"; 
    case 0xFF52AD:
      return "9"; 
    case 0xFF906F:
      return "+"; 
    case 0xFFA857:
      return "-"; 
    case 0xFFE01F:
      return "EQ"; 
    case 0xFFB04F:
      return "U/SD";
    case 0xFF9867:
      return "CYCLE";         
    case 0xFF22DD:
      return "PLAY/PAUSE";   
    case 0xFF02FD:
      return "BACKWARD";   
    case 0xFFC23D:
      return "FORWARD";   
    case 0xFFA25D:
      return "POWER";   
    case 0xFFE21D:
      return "MUTE";   
    case 0xFF629D:
      return "MODE";       
    case 0xFFFFFFFF:
      return "ERROR";   
    default :
      return "ERROR";
  }
}

Waad u baahan tahay

Kheyraadka & Tixraacyada

Faylasha📁

Waraaqa xogta (pdf)