micro-dev.de Alles zum Mikrocontroller im Netz. Arduino, Raspberry Pi und Co.
Lichtschranke mit Arduino UNO - Druckversion

+- micro-dev.de Alles zum Mikrocontroller im Netz. Arduino, Raspberry Pi und Co. (https://micro-dev.de)
+-- Forum: Boards & Controller (https://micro-dev.de/forumdisplay.php?fid=25)
+--- Forum: Arduino (https://micro-dev.de/forumdisplay.php?fid=26)
+--- Thema: Lichtschranke mit Arduino UNO (/showthread.php?tid=42)

Seiten: 1 2


Lichtschranke mit Arduino UNO - tesacrep - 16.01.2014

Hallo,
habe eben eine kleine Lichtschranke mit einem Laser und Photowiderstand gebaut. Einfaches Prinzip, einfache Umsetzung.

Verwendung:
Hatte mir überlegt eine Lichtschranke mit einem Arduino mit Ethernetshield zu bauen, um zu sehen ob Post im Briefkasten ist. Und auch sonst gibt es sicher viele Verwendungsmöglichkeiten.

Komponenten:
- Lasermodul
- Steckbrett
- Steckbrücken
- Arduino Uno
- Photowiderstand
- 10K Ohm Widerstand

Programierung:
Für das lesen des Photowiederstands verwende ich einen Anlogen Eingang des Arduino.
Den Rest erledigt eine IF/ELSE Schleife.

Code:
const float ref = 5.0;  // Referenzspannung
const int sen = 0; // sensor an analogpin 0
int out = 13; // LED an pin 13 (Zeigt an ob Lichtscharanke betätigt ist)

void setup()
{
   pinMode(out, OUTPUT); // LED als outpup
}
void loop()
{
  int var = analogRead(sen);  // Wert vom Sensor einlesen
  float v = (var / 1023.0) * ref;  //Berechnen
  if (v > 4.70) {    // If schleife
      digitalWrite(out, LOW); // AN
  }
  else {
      digitalWrite(out, HIGH); // AUS
      delay (2000); // Durch eine delay bleibt die LED nach betätigung länger an.
 }
}

Oder als Download: [attachment=55]

Bilder:
HINWEIS: Den Strahl des Lasers kann man natürlich sonst nicht sehen.
[Bild: attachment.php?aid=56]
Hier ist der Strahl gestört, bedeutet die LED an Pin 13 Leuchtet.
[Bild: attachment.php?aid=57]
Und hier der Aufbau von oben ohne unterbrechung.
[Bild: attachment.php?aid=58]


RE: Lichtschranke mit Arduino UNO - tesacrep - 21.05.2014

Ich wurde nach dem Schaltplan gefragt, ich hoffe dieser ist einigermasen ersichtlich:
[Bild: attachment.php?aid=142]


RE: Lichtschranke mit Arduino UNO - theOnlyExpert - 22.05.2014

Naja also der Schaltplan ist nicht wirklich ersichtlich, allerdings sollte man noch anmerken, dass der 10kOhm Widerstand nur ein "PullUp" ist damit am Analogeingang des Arduinos überhaupt ein Wert eingelesen werden kann.

So gesehen is dein Sensor wie folgend beschaltet :

5V |---Pull Up 10k---| > A0 < |---Photoresistor / Phototransistor---| GND

Die Werte können dann per analogRead(pin) ausgelesen werden und anschließen über eine if / else - Verzweigung verarbeitet werden Wink

Bsp.

Code:
if(analogRead(0) >= 500)
{
     //zustand1
}
else
{
    //zustand2
}

MfG

TheOnlyExpert


RE: Lichtschranke mit Arduino UNO - tesacrep - 22.05.2014

Hallo erstmal theOnlyExpert,

Ich glaube du hast da was vertauscht:

Zitat:5V |---Pull Up 10k---| > A0 < |---Photoresistor / Phototransistor---| GND

Denn, das ganze ist so:

GND |---Pull Up 10k---| > A0 < |---Photoresistor / Phototransistor---| 5V

Zitat:Die Werte können dann per analogRead(pin) ausgelesen werden und anschließen über eine if / else - Verzweigung verarbeitet werden Wink

Im obigen beispiel ist es ja auch eine IF/ELSE Verzweigung. Ich lasse nur gerne den wert davor noch in Volt umrechnen, damit komme ich besser zurecht.

Mfg, tesacrep


RE: Lichtschranke mit Arduino UNO - Unilein - 22.05.2014

Erstmal herzlich willkommen theOnlyExpert.

Ich muss zugeben, der Schaltplan ist wirklich schwer zu lesen. Du arbeitest doch auch mit Eagle tesacrep, oder nicht? Dort ist ein hübscher Plan ja keine große Sache. Mir persönlich fehlt hier die Orientierung. Wo ist GND und wo ist Vcc? Sei es drum Smile. Ich benötige gerade keine Lichtschranke. Ein paar Laserdioden habe ich aber dennoch herumliegen.

Übrigens ist ein Widerstand, der einen Pin auf Low hält also zwischen Pin und GND ein Pull-Down-Widerstand.


RE: Lichtschranke mit Arduino UNO - tesacrep - 23.05.2014

Okay, ich gebe zu dass ich hätte mehr geben können. ConfusedConfused

Ja ich benutze eagle, aber ich habe den Schaltplan auf dem Notebook erstellt (auch mit Eagle), aber ich habe keine Farben verwendet.
+ ist Rund
- ist der Strich

Ich habe versucht alle zu bezeichnen, aber bei dem + und - sind schlecht zu erkennen, das liegt daran das eagle immer ein kleines + hinzufügt, um zu zeigen wo die Schriftzeichen sind.

Das ist natürlich ungünstig, ich werde versuchen das ganze in Zukunft besser dazustellen.

Mfg, tesacrep


RE: Lichtschranke mit Arduino UNO - Unilein - 23.05.2014

Du kannst doch die Symbole aus der Bibliothek benutzen. Die sind dort schon vordefiniert. Da musst Du selbst nix zeichnen.


RE: Lichtschranke mit Arduino UNO - tesacrep - 23.05.2014

Ich weiß, das hätte ich machen sollen, aber hatte nicht viel zeit, un bin mit den Linien schneller, vieleicht tu ich ihn die nächsten Tage nochmal Updaten.


RE: Lichtschranke mit Arduino UNO - Thomas123 - 11.06.2014

Hallo,

super Anleitung, das kommt meinem Problem eigentlich recht nahe...
Bin neu hier, hoffe jedoch das ihr mir weiterhelfen könnt! Wäre euch sehr dankbar Smile

Ich würde gerne mir einer Reflex-Lichtschranke & Arduino die Zeit eines sich rotierenden Teils messen. D.h. es soll die Zeit gemessen werden, in der das Lichtsignal uzurück geworfen wird.
Wie realisiert man diese Zeitmessung im Code bzw. wie weiß der Timer wann er zu starten und zu stoppen hat !?


Habe eben schon ein neues thema für mein Problem geöffnet, da hat ich diesen Thread jedoch nocht nicht gefunden...

Schono mal danke!


RE: Lichtschranke mit Arduino UNO - praktikant1504 - 27.06.2014

Es hat funktioniert! Wir sind online mit unserer Smart Postbox: http://siio.de/smarter-briefkasten-studenten-der-hochschule-offenburg-bauen-wlan-briefkasten/