Arduino

RLS 08 analog

En RLS 08 analog är en enkel uppsättning med flera IR-sensorer. Sensorn består av åtta sensorer som kan ge åtta olika analoga och digitala utgångar.

Vad är en IR-sensor ?

En IR-sensor är en passiv elektronisk infraröd sensor som mäter infrarött ljus som strålar ut från föremål i sitt synfält (det är alltså en närhetssensor).

Kopplingsschema

IR-sensor koppling

  1. Anslut GND på IR-linjeföljarsensorn till GND på Arduino.
  2. Anslut VCC för IR-linjeföljare till 5V Arduino.
  3. Anslut digital utgång från sensor A till digital stift 4 på Arduino.
  4. Anslut digital utgång för sensor B till digital stift 5 på Arduino.
  5. Anslut digital utgång från sensor C till digital stift 6 på Arduino.
  6. Anslut digital utgång från sensor D till digital stift 7 på Arduino.
  7. Anslut digital utgång från sensor E till digital stift 8 på Arduino.
  8. Anslut digital utgång från sensor F till digital stift 9 på Arduino.
  9. Anslut digital utgång för sensor G till digital stift 10 på Arduino.
  10. Anslut digital utgång från sensor H till digital stift 11 på Arduino.

Kod

#include <FastLED.h> //LED library initialization
int a,b,c,d,e,f,g,h,j=0; //Variables to store Sensor data

#define NUM_LEDS 90 // How many leds in your strip?
#define DATA_PIN 3 // Data pin of LED will be connected here on arduino

// Define the array of leds
CRGB leds[NUM_LEDS];

void setup() { 
  pinMode(4,INPUT); //Digital Input Pin for IR sensor
  pinMode(5,INPUT); //Digital Input Pin for IR sensor
  pinMode(6,INPUT); //Digital Input Pin for IR sensor
  pinMode(7,INPUT); //Digital Input Pin for IR sensor
  pinMode(8,INPUT); //Digital Input Pin for IR sensor
  pinMode(9,INPUT); //Digital Input Pin for IR sensor
  pinMode(10,INPUT);//Digital Input Pin for IR sensor
  pinMode(11,INPUT);//Digital Input Pin for IR sensor
  
  LEDS.addLeds<WS2812,DATA_PIN,RGB>(leds,NUM_LEDS); //LED initialization
  LEDS.setBrightness(84); // Brightness of LED (0-255 range)
}

void fadeall() { for(int i = 0; i < NUM_LEDS; i++) { leds[i].nscale8(250); } } //Function for Fading Effect

void loop() { 
  a=digitalRead(4); //Read input from sensor A
  b=digitalRead(5); //Read input from sensor B
  c=digitalRead(6); //Read input from sensor C
  d=digitalRead(7); //Read input from sensor D
  e=digitalRead(8); //Read input from sensor E
  f=digitalRead(9); //Read input from sensor F
  g=digitalRead(10);//Read input from sensor G
  h=digitalRead(11);//Read input from sensor H
  
  static uint8_t hue = 0; // Variable 8 bit
 
  // First slide the led in one direction
  if(a==1)
  {
    if(b==1)
    {
  for(int i = 4; i < 55; i++) {
    // Set the i'th led to red 
    leds[i] = CHSV(hue++, 255, 255);
    // Show the leds
    FastLED.show(); 
    // now that we've shown the leds, reset the i'th led to black
    // leds[i] = CRGB::Black;
    fadeall();
    // Wait a little bit before we loop around and do it again
    delay(10);
                              }
    }
  }

  if(g==1)
{
  if(f==1)
  {
  // Now go in the other direction.  
  for(int i = (56)-1; i >= 4; i--) {
    // Set the i'th led to red 
    leds[i] = CHSV(hue++, 255, 255);
    // Show the leds
    FastLED.show();
    // now that we've shown the leds, reset the i'th led to black
    // leds[i] = CRGB::Black;
    fadeall();
    // Wait a little bit before we loop around and do it again
    delay(10);
                                   }
  }
}
          }

Länk till original artikel

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *

Denna webbplats använder Akismet för att minska skräppost. Lär dig hur din kommentardata bearbetas.