Sensori con Arduino

Ricevitore ad Infrarossi VS1838B

Ricevitore ad infrarossi - Sensori con Arduino

Descrizione

In questo video scoprirai come ricevere i segnali ad infrarossi con Arduino.

Imparerai come collegare un ricevitore ad infrarossi e scrivere gli sketch per comandare Arduino tramite un telecomando.

Scarica le risorse

Progetto: Ricevitore ad infrarossi

Schema

Componenti

Codice

#include <IRremote.h> #define IR_RECEIVE_PIN 11 void setup() {  Serial.begin(9600);  IrReceiver.begin(IR_RECEIVE_PIN);} void loop() {  if (IrReceiver.decode()) {    IrReceiver.printIRResultShort(&Serial);    IrReceiver.resume();  }}
scarica il file

Progetto: LED RGB con telecomando

Schema

Componenti

Codice

#include <IRremote.h> #define IR_RECEIVE_PIN 11#define RED_PIN 9#define GREEN_PIN 6#define BLUE_PIN 5 void setup() {  pinMode(RED_PIN, OUTPUT);  pinMode(GREEN_PIN, OUTPUT);  pinMode(BLUE_PIN, OUTPUT);  IrReceiver.begin(IR_RECEIVE_PIN);} void loop() {  if (IrReceiver.decode()) {    setColor(IrReceiver.decodedIRData.decodedRawData);    IrReceiver.resume();  }} void setColor(uint32_t code) {  if (code == 0xE619FF00) { // 0 - spento    rgb(000);  } else if (code == 0xBA45FF00) { // 1 - rosso    rgb(25500);  } else if (code == 0xB946FF00) { // 2 - arancione    rgb(255200);  } else if (code == 0xB847FF00) { // 3 - giallo    rgb(255700);  } else if (code == 0xBB44FF00) { // 4 - verde    rgb(02550);  } else if (code == 0xBF40FF00) { // 5 - ciano    rgb(0255255);  } else if (code == 0xBC43FF00) { // 6 - blu    rgb(00255);  } else if (code == 0xF807FF00) { // 7 - magenta    rgb(255070);  } else if (code == 0xEA15FF00) { // 8 - viola    rgb(1700255);  } else if (code == 0xF609FF00) { // 9 - bianco    rgb(255255255);  }} void rgb(int red, int green, int blue) {  analogWrite(RED_PIN, red);  analogWrite(GREEN_PIN, green);  analogWrite(BLUE_PIN, blue);}
scarica il file

Progetto: RGB fade con telecomando

Schema

Componenti

Codice

#include <IRremote.h> #define IR_RECEIVE_PIN 11#define RED_PIN 9#define GREEN_PIN 6#define BLUE_PIN 5 #define FADE_DELAY_MIN 0#define FADE_DELAY_MAX 5 int fadeDelay = 3;int index = 0;unsigned long lastChange = 0;bool enable = false; void setup() {  pinMode(RED_PIN, OUTPUT);  pinMode(GREEN_PIN, OUTPUT);  pinMode(BLUE_PIN, OUTPUT);  IrReceiver.begin(IR_RECEIVE_PIN);} void loop() {  if (IrReceiver.decode()) {    if (IrReceiver.decodedIRData.decodedRawData == 0xE31CFF00) { // OK      enable = !enable;      if (!enable) {        rgb(000);      }    } else if (IrReceiver.decodedIRData.decodedRawData == 0xE718FF00) { // ^      fadeDelay--;    } else if (IrReceiver.decodedIRData.decodedRawData == 0xAD52FF00) { // v      fadeDelay++;    }        fadeDelay = constrain(fadeDelay, FADE_DELAY_MIN, FADE_DELAY_MAX);    IrReceiver.resume();  }   if (!enable) {    return;  }   if ((millis() - lastChange) > fadeDelay) {    rgbFade(index);    index = (index+1% 768;    lastChange = millis();  } } void rgbFade(int i) {  if (i < 256) {    rgb(255-i, i, 0);  } else if (i < 512) {    rgb(0511-i, i-256);  } else {    rgb(i-5120767-i);  }} void rgb(int red, int green, int blue) {  analogWrite(RED_PIN, red);  analogWrite(GREEN_PIN, green);  analogWrite(BLUE_PIN, blue);}
scarica il file

Arduino Software Hero

Vuoi imparare a programmare Arduino, ma non sai da dove cominciare?

Iscriviti al corso online

Libri consigliati


Tutorial consigliati

E-commerce di elettronica

Sul nostro negozio online trovi tutti i componenti usati nei tutorial.
Inoltre hai un'ampia scelta di prodotti tra:

  • Arduino
  • Raspberry Pi
  • Sensori
  • Robotica
  • Componenti elettronici
  • Accessori

Compra online, ricevi comodamente a casa

Visita il negozio