IR-Array

En IR-Array består av 3 IR-sensorer (sensorer som känner av infra rött ljus). Om du tittar närmare ser du att varje sensor har två prockar, en blå och en svart. Den blåa är en IR-LED och den svarta är själva IR-sensorn. När IR-LED:n är kopplad till ström ger den ifrån sig infrarött ljus. Du kan inte se det med egna ögon, men om du har en kamera i din mobiltelefon kan du rikta den mot LED:n så kommer du att se IR-ljuset på mobilskärmen. När du håller sensorerna nära en vit yta kommer den vita ytan att reflektera mycket av det IR-ljus som strålar från LED:n. Det reflekterade IR-ljuset kommer kommer att registreras av IR-sensorn. Om du håller den över en svart yta istället kommer nästan inget IR-ljus att reflekteras. På detta sätt kan sensorn skilja på svart och vitt.

https://vimeo.com/93635860

Material

  • 1 Arduino Uno
  • 1 Education-sköld
  • 1 IR-Array
  • 5 labbkablar

Instruktioner


  1. Fäst skölden på Arduinons ovansida
  2. Koppla IR1 till A1, IR2 till A2 och IR3 till A3.
  3. Koppla IR-Arrayns GND till Arduinons GND och 5V till 5V.
  4. Koppla Arduinon till datorn och ladda upp exemplet ’IRArray’

Kod

Hitta koden i File>Examples>EducationShield>Help>IRArray

 

Du bör nu öppna seriemonitorn och flytta IR-Arrayn över en svart eller vitt yta. Om en sensor är ovanför en svart yta bör ett värde runt 330 skrivas ut. Om den är ovanför en vit yta bör värdet ligga runt 400.

Kommandon

  • IRArray( IR1, IR2, IR3 ) - Skapar ett IRArray-objekt.
    • Parametrar
      • (intIR1 - den analoga pin till vilken den första IR-sensorn är kopplad.
      • (intIR2 - den analoga pin till vilken den andra IR-sensorn är kopplad.
      • (intIR3 - den analoga pin till vilken den tredje IR-sensorn är kopplad.

  • test() - skriver ut varje  IR-sensors värde till seriemonitorn.

  • setThreshold(threshold) - Bestämmer tröskelvärdet mellan vitt och svart. Använd test() för att kolla värdena du får ut från svart och vitt, och bestäm sedan ett tröskelvärde där emellan.
    • Parametrar
      • (int) threshold – Tröskelvärdet mellan vitt och svart. Standard är 380.

Övriga kommandon

  • readLine() - returnerar riktningen av en svart linje på en vit yta.
    • Retur
      • (int) - Ett värde mellan -100 till 100. När värdet är nära 0 befinner sig IR-Arrayn i mitten på den svarta linjen.  När den är nära -100 eller 100, befinner den sig på den ena eller andra sidan av linjen.

  • readBinary() - Returnerar det kombinerade värdet från de individuella sensor-avläsningarna.
    • Retur
      • (int) - Returnerar det kombinerade värdet från de individuella sensor-avläsningarna.

Problemlösning

  • Var noga med att kopplingarna mellan IR-Arrayn, kablarna och Arduinon är korrekta.
  • Om du flyttar IR1 från svart till vitt men värdet från IR2 är det enda som ändras behöver du antingen ändra de analoga pinsen i koden eller på kopplingarna till Arduinons analoga pins.