• Erste Schritte
  • Hardware & GPIO
  • Projekte
  • Software
    • Webserver
  • Arduino & ESP8266
  • Hausautomatisierung
  • Sonstiges
    • News
Facebook Twitter YouTube
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
  • Einstieg
    • Erste Schritte
      • Raspberry Pi 3 Einstieg - Starter KitWas brauche und wie starte ich? – Raspberry Pi Einstieg
    • Einrichtung
      • microsd_karte_menuRaspbian Betriebssystem auf eine SD Karte flashen – Einfach & Schnell
      • wlanbluetooth_menuWLAN und Bluetooth einrichten – Raspberry Pi 4
      • wifi_menuWLAN Stick installieren und einrichten – Alternative
      • bash_menuSSH Zugriff einrichten via Putty – Kommandozeilen Zugriff
      • rdp_menuRemotedesktop Verbindung aufbauen – Fernsteuerung
    • Einsteiger Projekte
      • Sinnvolles Raspberry Pi Zubehör
      • 15 Raspberry Pi Projekte für Anfänger
      • Ampelschaltung mit GPIOs
      • GPIOs mit Port Expander erweitern
      • Elektronischer Würfel
      • 13 tolle Projekte für Kinder und Jugendliche
      • Roboter selber bauen
      • In Visual Studio Code mit C++ programmieren
      • Wünsch dir ein Tutorial
    • Programmieren lernen
      • Teil 1: Einführung
      • Teil 2: GPIOs steuern
      • Teil 3: GUI erstellen
      • Teil 4: PWM
      • C# GUI Apps entwickeln
  • Hardware & GPIO
    • 50 der wichtigsten Raspberry Pi Sensoren und Module – Aufgelistet mit Links zu den TutorialsRaspberry Pi Sensoren
    • Beliebte Tutorials
      • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
      • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
      • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Funksteckdosen (433MHz) steuern
      • Raspberry Pi Relais ModulRaspberry Pi: Relais-Schalter per GPIO steuern
      • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
      • Amazon-Alexa-deutsch-auf-dem-Raspberry-Pi-installierenAmazon Alexa (Deutsch) auf dem installieren
      • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
      • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren
      • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
      • Raspberry Pi USB Boot per Stick oder SSD Festplatte einrichtenUSB Boot per Stick oder SSD Festplatte
      • Analog
        • Raspberry Pi MCP3008 ADCMCP3008: Am Raspberry Pi analoge Signale auslesen
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
        • Raspberry Pi PulsmesserRaspberry Pi Pulsmesser: Herzfrequenz messen
        • Joystick am Raspberry Pi benutzen (mit MCP3008)Joystick am Raspberry Pi benutzen (mit MCP3008)
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Drehregler - Rotary EncoderKY040 Drehregler als Lautstärkeregler für den Raspberry Pi
        • Easpberry Pi Soil SensorBodenfeuchtigkeit mit dem Raspberry Pi messen
        • Raspberry Pi KeypadRaspberry Pi Keypad anschließen – Codeschloss
        • Raspberry Pi door sensorÜberwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
        • Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)Raspberry Pi Waage selber bauen (mit Gewichtssensor HX711)
      • Funk
        • 71-M-PU7vML.-S3L1500-Raspberry Pi’s über 433 MHz Funk kommunizieren lassen
        • Remote Control Raspberry Pi 433Mhz Radio TransmitterRaspberry Pi mit 433Mhz Funksender fernsteuern
        • Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433Mhz)Raspberry Pi Funksteckdosen (433MHz) steuern
        • Raspberry Pi MiFlora - Xiaomi Pflanzensensor in OpenHAB einbindenMiFlora – Xiaomi Pflanzensensor ins Smart Home einbinden
        • Raspberry Pi RFID RC522 TüröffnerRaspberry Pi RFID RC522 Tags auslesen (NFC)
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation (2.4 GHz): Arduino & Raspberry Pi
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen
        • Raspberry Pi Xbox 360 Wireless ControllerRaspberry Pi mittels Xbox 360 Controller steuern
        • Raspberry Pi GSM Modul - Huawei Internet SticksRaspberry Pi GSM Modul – Mobiles Internet
        • Raspberry Pi Bluetooth DatentransferRaspberry Pi Bluetooth Datentransfer zum Smartphone
      • Infrarot & Laser
        • Raspberry Pi Infrarot FernbedienungRaspberry Pi: Per IR Remote Befehle ausführen
        • infrarot sharp distance senserInfrarot Abstandsmessung mit dem Raspberry Pi
        • Raspberry Pi Laser Lichtschranke für weite DistanzenRaspberry Pi Laser Lichtschranke für weite Distanzen
        • Infrarot Raspberry Pi FernbedienungInfrarot Steuerung einrichten
        • Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messenRaspberry Pi Infrarot Lichtschranke bauen
        • Raspberry Pi Fotowiderstand HelligkeitssensorFotowiderstand (Helligkeitssensor) am Raspberry Pi
      • Temperatur & Navigation
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorRaspberry Pi: Luftfeuchtigkeit und Temperatur messen
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Raspberry Pi RTC Real Time ClockReal Time Clock Modul steuern
        • Rotation und Beschleunigung mit dem Raspberry Pi messenRotation und Beschleunigung mit dem Raspberry Pi messen
        • Raspberry Pi GPS ModulRaspberry Pi GPS Ortungs- / Navigationsgerät bauen
        • Raspberry Pi Kompass selber bauenRaspberry Pi Kompass selber bauen (HMC5883L)
        • Kontaktlosen Infrarot-Temperatursensor MLX90614 am Raspberry Pi auslesenMLX90614 – Kontaktlos Temperaturen messen
      • Displays
        • Raspberrry Pi HD44780 I2CHD44780 LCD Display per I2C ansteuern
        • Raspbery Pi LCD DisplayRaspberry Pi LCD Display: 16×2 Zeichen anzeigen
        • DisplayTipps & Tricks zum offiziellen 7″ Raspberry Pi Touchscreen
        • Raspberry Pi TouchscreenTestbericht zum 7″ Raspberry Pi Touchscreen Display
        • LCD Touch Display (3.2″) am Raspberry PiLCD Touch Display (3.2″) am Raspberry Pi
        • tft lcd touch displayRaspberry Pi LCD Touch Display Teil 2 – Anpassungen
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtRaspberry Pi LED Matrix – Projektübersicht
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige mit MAX7219 am Raspberry Pi (Anode)
        • Raspberry Pi Tablet Raspad TestberichtRaspberry Pi Tablet „Sunfounder RasPad“ Testbericht
      • Motoren & Sonstige
        • Raspberry Pi Stepper Motor Control with L293D / ULN2003ARaspberry Pi Schrittmotor ansteuern
        • Raspberry Pi Servo MotorRaspberry Pi Servo Motor Steuerung
        • Raspberry Pi PCA9685 mehrere Servos gleichzeitig steuernMehrere Servo Motoren per Raspberry Pi steuern
        • Raspberry Pi PIR Motion SensorBewegungsmelder PIR anschließen und steuern
        • How to use a Raspberry Pi Fingerprint Sensor for AuthenticationRaspberry Pi Fingerprint Sensor zur Authentifizierung nutzen
        • Raspberry Pi Akku AdapterRaspberry Pi mit Akkus/Batterien betreiben
        • Entfernung messen mit Ultraschallsensor HC-SR04 – Raspberry PiEntfernung messen mit Ultraschallsensor HC-SR04
        • Raspberry Pi WS2801B RGB LED Streifen anschließen und steuernWS2801 RGB LED Streifen anschließen und steuern
        • Raspberry Pi WS2812 RGB LED StripWS2812 RGB LED Streifen per Raspberry Pi steuern
        • Raspberry Pi Überwachungskamera LivestreamÜberwachungskamera Livestream einrichten
        • NoIRAufnahmen mit dem offiziellen Kamera Modul
        • Raspberry Pi Zero - establishing an Ethernet connection (ENC28J60)Raspberry Pi Zero – Ethernet Verbindung
  • Software
    • Webserver Installation
      • apache2_menu25Teil 1 – Apache2
      • php_menu25Teil 2 – PHP 5
      • mysql_menu25Teil 3 – MySQL
      • phpmyadmin_menu25Teil 4 – phpMyAdmin
      • ftp_menu25Teil 5 – FTP Server
      • dns_menu25Teil 6 – DNS Server via No-IP
      • home_menu25Homeverzeichnis ändern
      • share_25Samba Server: Dateien im Netzwerk teilen
      • nodejs_menu25Node.js Webserver installieren und GPIOs schalten
      • ssl_menu25SSL Zertifikat kostenlos mit Let’s Encrypt
      • wordpress_25Eigenen WordPress-Server einrichten
      • cloud-25Nextcloud auf dem Raspberry Pi installieren
    • Entertainment
      • led_menu25Raspberry Pi Ambilight für alle Geräte mit OSMC selber bauen
      • amazon_menu25Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
      • controller_25Raspberry Pi RetroPie – Spielekonsole selber bauen
      • kodi_menu25Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi
      • android_25Android TV Box zum selber bauen
      • apple-2316234_640Raspberry Pi als AirPlay-Empfänger
      • jukebox_menu25Raspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.)
      • steam_25Steam Spiele streamen
      • minecraft_menu25Raspberry Pi Minecraft Server
      • youtube_25YouTube Live Streaming einrichten
      • qr-code-tutorials-raspberrypi.de_25Raspberry Pi QR / Barcode Scanner
    • Fernsteuerung
      • rdp_menuRaspberry Pi Remotedesktop Verbindung
      • ssh_menu25SSH Zugriff einrichten via Putty (Windows)
      • vnc_menu25Raspberry Pi mittels VNC fernsteuern
      • welcome_menu25SSH Terminal Begrüßung ändern
      • telegram1_menu25Telegram Messenger auf dem RaspberryPi
      • telegram2_menu25Mit Telegram Messenger Raspberry Pi steuern
      • bluet_menu25Raspberry Pi Bluetooth Datentransfer zum Smartphone
      • alexa_voice_25Eigenen Raspberry Pi Alexa Skill bauen
      • microphone_25Sprachsteuerung selber bauen
      • mqtt_25MQTT Broker/Client Funkkommunikation
      • mail_25Vom Raspberry Pi Emails senden
      • twitter_25Per Twitter Bot Nachrichten posten
    • Weitere
      • loggen_menu25Sensordaten mit ThingSpeak loggen und auswerten
      • mysql_datalogger25Per lokaler MySQL Datenbank zum Raspberry Pi Datenlogger
      • opencv_menu25OpenCV auf dem Raspberry Pi installieren
      • arduino_menu30tWiringPi installieren & Pinbelegung (Raspberry Pi)
      • radio_menu25Raspberry Pi als Radio Sendestation
      • win10_menu25Windows 10 IoT auf dem Raspberry Pi installieren
      • printer_25Drucker einrichten und per Knopfdruck Bilder drucken
      • gsm_menu25Raspberry Pi GSM Modul – Mobiles Internet (LTE, 3G, UMTS)
      • autostart_menu25Autostart: Programm automatisch starten lassen
      • machine-learning-25Raspberry Pi Machine Learning erlernen
  • Projekte
      • roboter_menu30tRoboter
        • Raspberry Pi Roboter ProjektRaspberry Pi Roboter Projektübersicht
        • Raspberry Pi Roboter Bausatz fertigTeil 1: Zusammenbau
        • Raspberry Pi Roboter - Linien folgenTeil 2: Linien folgen lassen
        • Raspberry Pi Roboter per Infrarot Fernbedienung steuernTeil 3: Per Infrarot Fernbedienung steuern
        • Raspberry Pi Roboter: Ultraschall AutopilotTeil 4: Automatisch Hindernissen ausweichen
        • Raspberry Pi Roboter der eigenen Stimme folgen lassenTeil 5: Der eigenen Stimme folgen lassen
        • Raspberry Pi Roboter mit Xbox 360 Controller fernsteuernTeil 6: Mit Xbox 360 Controller Roboter fernsteuern
        • Raspberry Pi Robot Arm 6DOF6-Gelenkigen Roboter Arm am Raspberry Pi betreiben (6 DOF)
      • led_menu30LED Matrix
        • Raspberry Pi LED MAX7219 Dot Matrix – ProjektübersichtMAX7219 LED Matrix – Projektübersicht
        • 8×8 LED Dot Matrix Parts8×8 LED Matrix – Zusammenbau und Installation
        • Raspberry Pi Bibliothek für mehrzeilige m x n MAX7219 LED MatrizenBibliothek für mehrzeilige m x n MAX7219 LED Matrizen
        • Graphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnenGraphiken auf mehrzeiligen Raspberry Pi LED Matrizen zeichnen
        • Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry PiPong auf MAX7219 Matrizen spielen (mit Joystick)
        • Snake auf Raspberry Pi MAX7219 Matrizen spielenSnake auf Raspberry Pi MAX7219 Matrizen spielen
        • 7 Segment Anzeige (Anode) mit MAX7219 MAX7221 und Raspberry Pi7 Segment Anzeige (Anode) mit MAX7219/MAX7221
        • Raspberry Pi 7 Segment Anzeige Kathode mit MAX7219Raspberry Pi: 7 Segment Anzeigen mit MAX7219 steuern (Kathode)
      • wetterstation_menu30Wetterstation
        • Raspberry Pi Wetterstation mit OpenHAB 2 bauenEigene Raspberry Pi Wetterstation mit OpenHAB 2 bauen
        • Raspberry Pi Luftfeuchtigkeit/Temperatur SensorLuftfeuchtigkeit und Temperatur messen
        • raspberry_pi_thingspeak_daten_loggenSensordaten mit ThingSpeak loggen und auswerten
        • Raspberry Pi BMP180 SensorRaspberry Pi und I2C Luftdrucksensor BMP180
        • Measuring Temperature with a Raspberry Pi Temperature Sensor (1-Wire)Raspberry Pi Temperatursensor (1-Wire): Temperatur messen
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Raspberry Pi Gas Sensor MQ-2Raspberry Pi Gas Sensor (MQ-X) konfigurieren und auslesen
      • arduino_menu30tArduino & ESP8266
        • ESP8266 Microcontroller BoardEinführung & Programmierung des ESP8266 NodeMCU Boards
        • Raspberry Pi + ESP8266 NodeMCU: Per WLAN Daten sendenRaspberry Pi + ESP8266 NodeMCU: Per WLAN Daten senden
        • ESP8266 NodeMCU Außenposten-Wetterstation für den Raspberry PiESP8266 Wetterstation Außenposten für den Raspberry Pi
        • Mit dem NodeMCU ESP8266 433MHz Funksteckdosen steuernMit dem NodeMCU ESP8266 433MHz Funksteckdosen steuern
        • ESP8266 NodeMCU HD44780 LCD Display per I2C steuernNodeMCU ESP8266: HD44780 LCD Display per I2C steuern
        • ESP8266 Grafikdisplay: Am SSD1306 OLED per I2C Bilder & Text anzeigen
        • ESP8266 Google Maps API RoutenplanerESP8266 Google Maps API Routenplaner auf LCD anzeigen
        • 2000px-Arduino_Logo.svgRaspberry Pi und Arduino – Einführung
        • arduino unoArduino und Raspberry Pi miteinander kommunizieren lassen
        • Funkkommunikation zwischen Raspberry Pi's und Arduinos (2.4 GHz)Funkkommunikation zwischen Raspberry Pi’s und Arduinos (2.4 GHz)
        • NodeMCU: ESP8266 mit Solarpanel und Akku mit Strom versorgenNodeMCU: ESP8266 mit Solarzelle und Akku mit Strom versorgen
        • ESP8266 Access Point: Günstigen Wlan Repeater selber bauenESP8266 Access Point: Günstigen Wlan Repeater selber bauen
      • Mini Projekte
        • Raspberry Pi Gewächshaus automatisch selber bauenAutomatisches Raspberry Pi Gewächshaus selber bauen
        • Eigene Raspberry Pi Gartenbewässerung mit Webseite bauenEigene Gartenbewässerung mit Webseite bauen
        • Raspberry Pi Radio StationRaspberry Pi als Radio Sendestation verwenden
        • Raspberry Pi Radio ReceiverRaspberry Pi als Radioempfänger benutzen (Autoradio, Car PC)
        • spotify-logo-primary-horizontal-dark-background-rgbRaspberry Pi als Jukebox (Spotify, Soundcloud, TuneIn, uvm.) – Online Radio
        • Raspberry Pi RetroPie Guide - SNES Classic Spielekonsole selber bauenRaspberry Pi RetroPie Guide – SNES Spielekonsole bauen
        • Android + Raspberry Pi: Funksteckdosen App BedienungRaspberry Pi + Android/iOS: Funksteckdosen per App schalten
        • Indirekte Deckenbeleuchtung selber bauen mit farbigem LED LichtIndirekte Deckenbeleuchtung selber bauen mit farbigem LED Licht
  • Sonstiges
    • Wünsch dir ein Tutorial
    • News
    • Reviews
      • Pi Cap – Kapazitives Raspberry Pi Erweiterungsboard
      • Raspberry Pi Tablet „Sunfounder RasPad“ – Testbericht & Einrichtung
      • Testbericht zum 7″ Raspberry Pi Touchscreen Display
      • CrowPi 2 Testbericht: Laptop & Lern-Kit für Kinder
      • Daten auf dem Wio Terminal LCD Screen anzeigen
    • Raspberry Pi Zero
      • Offizielles 5$ Raspberry Pi Zero Modul vorgestellt
      • Raspberry Pi Zero – Ethernet Verbindung herstellen (ENC28J60)
      • Raspberry Pi: WS2801 RGB LED Streifen anschließen und steuern
  • Hausautomation
    • OpenHAB
      • steckdose_25Sonoff S20 Wifi Steckdose steuern
      • wireless_25Funksteckdosen (433 MHz) schalten
      • schalter_25Relais steuern (Rollladen, Lichter, etc.)
      • wetterstation_menu30Wetterstation mit OpenHAB 2 bauen
      • ws28_25WS28xx RGB LED Streifen steuern
      • touchscreen_25Touchscreen Panel bei Näherung aktivieren
      • mqtt_25MQTT Datenabfrage: Raspberry Pi an ESP8266
      • spotify_25Remote Spotify Player im Smart Home
      • heizung_25eQ-3 Thermostat im Smart Home
    • Einführung
      • Raspberry Pi Smart Home OpenHAB installierenOpenHAB installieren & konfigurieren
      • Home Assistant auf dem Raspberry Pi – Erste Schritte
    • ESP8266 NodeMCU
      • esp8266_25Einführung & Programmierung
      • arduino_25ESP8266: Arduino IDE installieren
      • lcd_25NodeMCU HD44780 LCD
      • battery_25Batteriebetrieb via Deep-Sleep
      • wifi_menuPer WLAN Daten senden
      • wetterstation_menu30Wetterstation Außenposten
      • maps_25Google Maps Routenplaner
      • wireless_25NodeMCU Funksteckdosen steuern
      • mail_25Vom NodeMCU Emails versenden
      • rgb_25WS2812B LEDs am Smartphone steuern
      • solar_25ESP8266 Stromversorgung mit Solarzelle
    • Überwachung
      • Aufnahmen mit dem offiziellen Kamera Modul des Raspberry Pi
      • Raspberry Pi: Überwachungskamera Livestream einrichten
      • mailbox_25Briefkasten Sensor – Email Benachrichtigung bei neuer Post
      • Raspberry Pi Überwachungskamera mit Webcam betreiben
      • Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais
      • ESP32 Cam Livestream Tutorial für Kamera Modul
    • Raspberry Pi + Android: Benachrichtigungen von Bewegungsmelder
    • Raspberry Pi + Android/iOS: Funksteckdosen per App schalten
    • Raspberry Pi + Android: Schwenkbarer Kamera-Livestream
      • Smart Home
        • Amazon Alexa (Deutsch) auf dem Raspberry Pi installieren
        • Raspberry Pi Funksteckdosen (433MHz) steuern – Tutorial
        • Raspberry Pi Sprachsteuerung selber bauen (Hausautomatisierung)
  • Englisch
  • Französisch
Tutorials for Raspberry Pi Tutorials for Raspberry Pi
Home»Hardware & GPIO»Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messen

Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messen

Facebook Twitter LinkedIn Tumblr Email Reddit
Raspberry Pi Infrarot Lichtschranke bauen und Geschwindigkeit messen
Teilen
Facebook Twitter LinkedIn Email Tumblr Reddit Telegram WhatsApp

In diesem Tutorial möchte ich den Aufbau und die Benutzung einer kleinen Infrarot Lichtschranke zeigen, welche ein Signal gibt, sobald die Lichtschranke unterbrochen wird. Dadurch, dass beide Lichtschranken hintereinander durchfahren werden, kann die Geschwindigkeit gemessen werden.

 

Zubehör

  • IR Sender & Empfänger (ich benutze diese)
  • Jumper Kabel
  • Widerstände (470Ω und 10kΩ)

 

Aufbau

Sobald die Lichtschranke unterbrochen wird, soll ein positives Signal gesendet werden, ansonsten ein negatives (0). Dazu verwende ich einen Pull-Up Widerstand, wobei anstelle des Schalters der IR Empfänger (schwarz) ist.

EGHS-PullUpDownSwitchProtected
Die beiden Lichtschranken sind bei mir 10cm von einander entfernt. Damit die Geschwindigkeit richtig berechnet wird, musst du ggf. den Abstand in deinem Skript anpassen. Der eigentliche Aufbau ist wie folgt:

lichtschranke_Steckplatine
Die kleine rote LED ist nur zum testen und kann weggelassen werden.

Sobald du die Schaltung aufgebaut hast, sollte die LED bereits aufleuchten, sobald die Lichtschranke geschlossen wird (z.B. Finger dazwischen).

 

Geschwindigkeit messen

Damit die Geschwindigkeit nun auch gemessen werden kann, wird die Zeit gemessen, die vergeht, bis beide Lichtschranken durchlaufen werden. Sollte der Abstand nicht genau 10cm sein, solltest du dies anpassen.

sudo nano distance_test.py

Und füge folgenden Code ein

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/python
import time
import RPi.GPIO as GPIO
 
GPIO_BEGIN_PIN = 4
GPIO_END_PIN = 17
 
DISTANCE = 10.0 # (in cm) Anpassen, falls notwendig
TIMEOUT = 5 # sek
 
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
 
if __name__ == '__main__':
    GPIO.setup(GPIO_BEGIN_PIN, GPIO.IN)
    GPIO.setup(GPIO_END_PIN, GPIO.IN)
    start_time, end_time = 0, 0
    
    while GPIO.input(GPIO_BEGIN_PIN) == GPIO.LOW:
        time.sleep(0.001)
        start_time = time.time()
    end_time = 0
 
    while GPIO.input(GPIO_END_PIN) == GPIO.LOW and time.time()-start_time < TIMEOUT:
        time.sleep(0.001)
    else:
        if time.time()-start_time >= TIMEOUT:
            print "Timeout"
            exit()
        else:
            end_time = time.time()
 
            speed = DISTANCE / (end_time - start_time)
            print "Geschwindigkeit: %.2f cm/s" % speed

Mit STRG+O und STRG+X speichern und beenden. Nun können wir es starten.

sudo python distance_test.py

Funktioniert das Skript nicht richtig, liegt dies höchstwahrscheinlich daran, dass die Lichtschranken nicht genau genug aufeinander zeigen und so etwas Strom fließen kann, dieser aber im nicht im akzeptierten Bereich liegt und es nicht bestimmt ist, ob 0 oder 1.

Abschießend noch ein Bild meines Aufbaus:

geschwindigkeit messen infrared infrarot infrarot lichtschranke IR lichtschranke pullup python TEMIC K153P
Teilen Facebook Twitter Pinterest LinkedIn Tumblr Email
Vorheriger BeitragRaspberry Pi LCD Display: 16×2 Zeichen anzeigen (HD44780)
Nächster Beitrag Joystick am Raspberry Pi benutzen (mit MCP3008)

Ähnliche Beiträge

ESP32 TDS Sensor: Wasserqualität im Smart Home messen

ESP32 pH-Sensor – Automatische pH-Messung für Pool und Hydroponik

Home Assistant auf dem Raspberry Pi – Erste Schritte

Mit der Raspberry Pi REST API via Python alle GPIOs steuern

193 Kommentare

  1. Maxe am 16. Januar 2015 17:26

    wie müsste man das Script verändern damit es nicht die Geschwindigkeit misst sondern einfach die Unterbrechung mitsamt datum und Uhrzeit anzeigt(eine kleine Alarmanlage?)?

    Antworten
    • Felix am 16. Januar 2015 17:41

      Anstelle des Codes ab Zeile 16:

      #Endlosschleife
      while True:
        while GPIO.input(GPIO_BEGIN_PIN) == GPIO.LOW:
          time.sleep(0.001)
        
        zeit = time.time()
        print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(zeit))
        # Skript(e) starten, versenden, etc.
        # ...
        
        # falls die Lichtschranke weiterhin unterbrochen ist, erst weitermachen, sobald sie frei ist
          while GPIO.input(GPIO_BEGIN_PIN) == GPIO.HIGH:
            time.sleep(0.001)
      

      Ist natürlich nur ein Beispiel, du kannst es nutzen wie du magst. Du brauchst eigentlich auch die zweite Lichtschranke nicht, wenn du keine Geschwindigkeit messen willst, sondern nur einen Auslöser (GPIO_END_PIN kannst du also weg lassen).

      Antworten
  2. Olli am 16. Januar 2015 20:00

    Hallo Felix,

    erstmal danke für das tolle Tutorial. Ich bin in sachen Linux und Raspberry Pi noch Anfänger.
    Auf der Suche nach einer Lichtschrankensteuerung bin ich auf deine Seite gestossen.
    Gleich hab ich die elektronische Schaltung nachgebaut und sie funktioniert auch so weit.
    Jedoch hab ich mit deinem Skript ein paar kleine Probleme:
    1. ist in deinem Skript „end_time“ nicht definiert. Diesen Fehler zu finden war noch relativ einfach. Hab einfach Zeile 16 bis 19 kopiert und mit „end_time“ und „GPIO_END_PIN“ modifiziert.

    2. Jedoch hab ich noch einen SytaxError in Zeile 21 und da komm ich nicht weiter. Bin ich zu blöd oder hast du da wirklich einen Fehler beim „=“ Zeichen.

    Danke und viele Grüsse
    Olli

    Antworten
    • Felix am 16. Januar 2015 20:30

      Hallo Olli,
      da ist beim editieren vorhin wohl etwas schief gegangen. Ich habe den Code jetzt nochmal eingefügt und verbessert.

      LG Felix

      Antworten
      • Olli am 16. Januar 2015 21:08

        Für was ist Zeile 14?
        Wenn ich dann diese Zeile weg lasse, kommt sofort nach einer Aktivierung der Lichtschschranke (egal welche zuerst) ein „Timeout“. Vieleicht mein Fehler beim Abtippen?

      • Felix am 16. Januar 2015 21:14

        Die Zeile if __name__ == '__main__': sagt, dass der folgende Code nur ausgeführt werden soll, wenn das Skript direkt gestartet wird (sudo python skript.py) und nicht, wenn es z.B. in anderen Skripten eingebunden wurde.
        Ohne diese Zeile sollte es dennoch funktionieren (aber die Tabs müssen angepasst werden, da Python ja ohne Klammern auskommt, daher die Whitespaces/Tabs nimmt).

      • Olli am 16. Januar 2015 21:43

        Vielen Dank!!!!!!!!!!!!!!
        Jetzt gehts. :-))
        Das mit den Tabs hab ich nicht gewusst. Mit Halbwissen sollte man halt nicht an sowas gehen. 😉
        Jetzt bin ich wieder um einen grossen Schritt weiter.
        Darf ich dich in den nächsten Tagen nochmal belästigen, falls ich mit meinem Prog noch fragen habe?
        Vielen Dank schon mal und viele Grüsse
        Olli

      • Felix am 16. Januar 2015 22:45

        Hi Olli,
        schön dass es nun klappt. Klar, du kannst jederzeit fragen, wenn etwas unklar ist 🙂
        LG Felix

  3. Maxe am 16. Januar 2015 20:10

    ok vielen dank auch für den anderen artikel!

    könntest du ein beitrag machen wo es um die ansteuerung eines servos geht?

    Antworten
    • Felix am 16. Januar 2015 20:15

      Gerne doch. Wenn Interesse besteht und ich ein wenig mehr Zeit finde, kann ich auch ein Tutorial zu Servos machen, muss aber erst einmal welche bestellen.

      Antworten
  4. Maxe am 16. Januar 2015 20:25

    ok sehr gut kannst du mir dann eine E-mail schicken wenn es online ist?

    Antworten
    • Felix am 16. Januar 2015 20:37

      Ich versuche dran zu denken 🙂

      Antworten
  5. Johannes am 17. März 2015 16:56

    Bei mir funktioniert das ganze nur, wenn ich den raum abdunkle und dann z.b. eine Glühlampe anschalte. Bei Tageslicht löst der Empfänger immer sofort aus. Ist das bei dir auch so? Den eigentlich sollte die maximale Wellenlänge bei Tageslicht bei ca 550 nm liegen (laut Wikipedia).

    Antworten
    • Felix am 17. März 2015 20:21

      Hast du mal einen größeren Widerstand ausprobiert?

      Antworten
  6. Johannes am 17. März 2015 16:56

    Bei mir funktioniert das ganze nur, wenn ich den raum abdunkle und dann z.b. eine Glühlampe anschalte. Bei Tageslicht löst der Empfänger immer sofort aus. Ist das bei dir auch so? Den eigentlich sollte die maximale Wellenlänge bei Tageslicht bei ca 550 nm liegen (laut Wikipedia).

    Antworten
    • Felix am 17. März 2015 20:21

      Hast du mal einen größeren Widerstand ausprobiert?

      Antworten
  7. Frank am 20. Mai 2015 20:16

    Hi und vielen Dank vorab für den tollen Beitrag.

    Leider bekomme ich es mit meinem Rasberry nicht hin die Lichtschranke nachzubauen. Der GPIO zeigt immer den gleichen Status an. Allerdings kommen bei mir auch nur 3,2 V am GPIO an, ist das evtl. zu wenig?

    Freue mich schon auf deine Antwort, da wir endlich unsere Kicker Turnament Anlage in betrieb nehmen wollen 😉

    Danke schonmal vorab

    Frank

    Antworten
    • Felix am 20. Mai 2015 20:20

      Hey, erstmal vielen Dank für das Lob 🙂
      3.2V sollten eigentlich kein Problem sein, der Schwellwert liegt deutlich drunter. Wie weit sind die Lichtschranken voneinander entfernt (Sender zu Empfänger)? Und hast du sie mal auf Funktionalität überprüft (am besten ohne Pi mittels einer kleinen Testschaltung)?

      Antworten
    • uwe am 2. Juni 2015 0:00

      Hallo Felix,
      Erst mal danke für das Tutorial super Arbeit da ich nicht mehr der Jüngste bin und auch Anfänger freue ich mich natürlich das ich was zum Nachbauen finde und dazu lerne.
      Nun versuche ich schon seit Tagen mir auch die Zeit anzeigen zu lassen Zeit = time.time()
      print time.strftime(‚%Y-%m-%d %H:%M:%S‘, time.localtime(zeit))es kommen nur Fehlermeldung .
      Ich würde gerne noch eine 2 Lichtschranke einbauen so das 2 zeiten gemessen werden mit der 1 Lichtschranke die zeit starten
      Und dan mit den 2 hintern einzel die zeit messen .
      Bedanke mich schon mal ich würde dir auch eine kleine spende für deine Projekte hinterlassen .

      Antworten
      • Felix am 2. Juni 2015 0:22

        Hallo Uwe,
        ich weiß nicht, ob es ein Tippfehler ist, aber du schreibst die Variable Zeit einmal groß und einmal klein. Die müssten gleich sein (Python unterscheidet zwischen Groß/Kleinschreibung). Ansonsten sollte der Aufruf stimmen.

        import time
        zeit = time.time()
        print(time.strftime(‘%Y-%m-%d %H:%M:%S’, time.localtime(zeit)))

        eine Alternative wäre datetime:

        from datetime import datetime
        print( str(datetime.now()) )

        LG Felix

      • Georg am 2. Juli 2017 12:01

        Hallo
        ich bin gerade an der Zeile „print(time.strftime(‘%Y-%m-%d %H:%M:%S’, time.localtime(zeit)))“ zerschellt! Nach einiger ist mir aufgefallen, dass Windows die einfachen Anführungszeichen anders darstellt (links geneigt, rechts geneigt, oben und unten). Durch copy&paste ergibt das Probleme! Anführungszeichen im Editor tippen und alles ist OK

  8. Frank am 20. Mai 2015 20:16

    Hi und vielen Dank vorab für den tollen Beitrag.

    Leider bekomme ich es mit meinem Rasberry nicht hin die Lichtschranke nachzubauen. Der GPIO zeigt immer den gleichen Status an. Allerdings kommen bei mir auch nur 3,2 V am GPIO an, ist das evtl. zu wenig?

    Freue mich schon auf deine Antwort, da wir endlich unsere Kicker Turnament Anlage in betrieb nehmen wollen 😉

    Danke schonmal vorab

    Frank

    Antworten
    • Felix am 20. Mai 2015 20:20

      Hey, erstmal vielen Dank für das Lob 🙂
      3.2V sollten eigentlich kein Problem sein, der Schwellwert liegt deutlich drunter. Wie weit sind die Lichtschranken voneinander entfernt (Sender zu Empfänger)? Und hast du sie mal auf Funktionalität überprüft (am besten ohne Pi mittels einer kleinen Testschaltung)?

      Antworten
    • uwe am 2. Juni 2015 0:00

      Hallo Felix,
      Erst mal danke für das Tutorial super Arbeit da ich nicht mehr der Jüngste bin und auch Anfänger freue ich mich natürlich das ich was zum Nachbauen finde und dazu lerne.
      Nun versuche ich schon seit Tagen mir auch die Zeit anzeigen zu lassen Zeit = time.time()
      print time.strftime(‚%Y-%m-%d %H:%M:%S‘, time.localtime(zeit))es kommen nur Fehlermeldung .
      Ich würde gerne noch eine 2 Lichtschranke einbauen so das 2 zeiten gemessen werden mit der 1 Lichtschranke die zeit starten
      Und dan mit den 2 hintern einzel die zeit messen .
      Bedanke mich schon mal ich würde dir auch eine kleine spende für deine Projekte hinterlassen .

      Antworten
      • Felix am 2. Juni 2015 0:22

        Hallo Uwe,
        ich weiß nicht, ob es ein Tippfehler ist, aber du schreibst die Variable Zeit einmal groß und einmal klein. Die müssten gleich sein (Python unterscheidet zwischen Groß/Kleinschreibung). Ansonsten sollte der Aufruf stimmen.

        import time
        zeit = time.time()
        print(time.strftime(‘%Y-%m-%d %H:%M:%S’, time.localtime(zeit)))

        eine Alternative wäre datetime:

        from datetime import datetime
        print( str(datetime.now()) )

        LG Felix

      • Georg am 2. Juli 2017 12:01

        Hallo
        ich bin gerade an der Zeile „print(time.strftime(‘%Y-%m-%d %H:%M:%S’, time.localtime(zeit)))“ zerschellt! Nach einiger ist mir aufgefallen, dass Windows die einfachen Anführungszeichen anders darstellt (links geneigt, rechts geneigt, oben und unten). Durch copy&paste ergibt das Probleme! Anführungszeichen im Editor tippen und alles ist OK

  9. Frank am 20. Mai 2015 23:53

    Testschaltung habe ich probiert funktioniert auch. Ich habe es jetzt ein wenig abgeändert und den Spanungsteiler geändert. 5 V sind jetzt die Spannungsversorgung und mit 24,7 kOhm als Vorwiederstand bekomme ich dann 3,4 V geliefert. Jetzt gehts auch mit dem GPIO.

    Trotzdem Danke

    Antworten
  10. Frank am 20. Mai 2015 23:53

    Testschaltung habe ich probiert funktioniert auch. Ich habe es jetzt ein wenig abgeändert und den Spanungsteiler geändert. 5 V sind jetzt die Spannungsversorgung und mit 24,7 kOhm als Vorwiederstand bekomme ich dann 3,4 V geliefert. Jetzt gehts auch mit dem GPIO.

    Trotzdem Danke

    Antworten
  11. uwe am 2. Juni 2015 14:23

    das hab ich nicht gesehen wen du es sagt ja das ist richtig
    ich hatte den obrigen txt genommen

    #Endlosschleife
    while True:
      while GPIO.input(GPIO_BEGIN_PIN) == GPIO.LOW:
        time.sleep(0.001)
      
      zeit = time.time()
      print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(zeit))
      # Skript(e) starten, versenden, etc.
    

    da ist es schon groß drin ich danke die für die schnelle anwort

    Antworten
  12. uwe am 2. Juni 2015 14:23

    das hab ich nicht gesehen wen du es sagt ja das ist richtig
    ich hatte den obrigen txt genommen

    #Endlosschleife
    while True:
      while GPIO.input(GPIO_BEGIN_PIN) == GPIO.LOW:
        time.sleep(0.001)
      
      zeit = time.time()
      print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(zeit))
      # Skript(e) starten, versenden, etc.
    

    da ist es schon groß drin ich danke die für die schnelle anwort

    Antworten
  13. Andy am 6. Juni 2015 18:13

    Hi,
    super Tutorials auf der Seite.
    Ich würde auch gerne nur eine Lichtschranke (so wie oben im Quelltext in den Kommentaren) bauen. Jedoch habe ich keine LEDS. Wie muss ich umstecken, sodass es trotzdem funktioniert? Bin nicht bewandert in Sachen Schaltungen. 🙁

    Antworten
    • Felix am 6. Juni 2015 23:41

      Einfach die Widerstände und alle Kabel, die zu den LEDs führen (und nicht von den IR Dioden genutzt werden) nicht verbinden. Den Code solltest du dann auch ggf. so anpassen, wie du ihn möchtest.

      Antworten
  14. Andy am 6. Juni 2015 18:13

    Hi,
    super Tutorials auf der Seite.
    Ich würde auch gerne nur eine Lichtschranke (so wie oben im Quelltext in den Kommentaren) bauen. Jedoch habe ich keine LEDS. Wie muss ich umstecken, sodass es trotzdem funktioniert? Bin nicht bewandert in Sachen Schaltungen. 🙁

    Antworten
    • Felix am 6. Juni 2015 23:41

      Einfach die Widerstände und alle Kabel, die zu den LEDs führen (und nicht von den IR Dioden genutzt werden) nicht verbinden. Den Code solltest du dann auch ggf. so anpassen, wie du ihn möchtest.

      Antworten
  15. Andrik am 18. Juni 2015 8:16

    Hallo,

    ich bin auf der Suche nach genau diesem Aufbau nur in etwas größer. Ich soll für ein Projekt auf der Arbeit eine Geschwindigkeitsanzeige installieren. Jetzt meine Frage:
    Kann man das alles auch in größer realisieren, so wie oben?
    Mit größeren Lichtschranken (Reflexions-Lichttaster von Pepperl & Fuchs) und einer LED-Großanzeige?

    Grüße

    Antworten
    • Felix am 18. Juni 2015 9:59

      Hey,
      je nachdem wie genau die Messung sein muss, sollte es mit entsprechenden Lichtschranken möglich sein. Ich würde dann aber auf eine Hardware nahe Sprache wie C oder C++ zurückgreifen und auch möglichst kurze Verbindungen nehmen, damit die Genauigkeit erhöht wird. Die Ansteuerung der LED Anzeigen (dazu gibt es hier auch ein paar Tutorials) sollte mit Python etwas einfacher sein und ein paar Millisekunden Verzögerung sollten dabei akzeptabel sein.
      LG Felix

      Antworten
  16. Andrik am 18. Juni 2015 8:16

    Hallo,

    ich bin auf der Suche nach genau diesem Aufbau nur in etwas größer. Ich soll für ein Projekt auf der Arbeit eine Geschwindigkeitsanzeige installieren. Jetzt meine Frage:
    Kann man das alles auch in größer realisieren, so wie oben?
    Mit größeren Lichtschranken (Reflexions-Lichttaster von Pepperl & Fuchs) und einer LED-Großanzeige?

    Grüße

    Antworten
    • Felix am 18. Juni 2015 9:59

      Hey,
      je nachdem wie genau die Messung sein muss, sollte es mit entsprechenden Lichtschranken möglich sein. Ich würde dann aber auf eine Hardware nahe Sprache wie C oder C++ zurückgreifen und auch möglichst kurze Verbindungen nehmen, damit die Genauigkeit erhöht wird. Die Ansteuerung der LED Anzeigen (dazu gibt es hier auch ein paar Tutorials) sollte mit Python etwas einfacher sein und ein paar Millisekunden Verzögerung sollten dabei akzeptabel sein.
      LG Felix

      Antworten
  17. LeoZ am 11. November 2015 8:29

    Hallo Felix,
    zuerst einmal Danke für das Tutorial.
    Ich muss im Zuge einer Berufschulprojektarbeit eine derartige Konstruktion aufbauen und wollte mich erkundigen, ob ich dich im Zweifelsfall per Email um Rat fragen könnte. Falls ja, einfach schreiben =)
    Grüße

    Antworten
    • Felix am 11. November 2015 9:03

      Hey LeoZ,
      Klar kannst du gerne machen 🙂
      LG Felix

      Antworten
  18. LeoZ am 11. November 2015 8:29

    Hallo Felix,
    zuerst einmal Danke für das Tutorial.
    Ich muss im Zuge einer Berufschulprojektarbeit eine derartige Konstruktion aufbauen und wollte mich erkundigen, ob ich dich im Zweifelsfall per Email um Rat fragen könnte. Falls ja, einfach schreiben =)
    Grüße

    Antworten
    • Felix am 11. November 2015 9:03

      Hey LeoZ,
      Klar kannst du gerne machen 🙂
      LG Felix

      Antworten
  19. LeoZ am 16. November 2015 8:06

    Hallo Felix,

    die Konsole gibt beim ausführen deines Scripts die Fehlermeldung
    File „distance_test.üy“, line 23
    (…)
    SyntaxError: invalid syntax
    aus.
    Irgendeine Idee woran das liegen könnte?
    Grüße 🙂

    Antworten
    • Felix am 16. November 2015 11:58

      Hey,
      folgendes: Zum einen hast du die Datei falsch benannt („.üy“) und zum zweiten habe ich den Code aktualisiert, da WordPress jedes mal die Leerzeichen entfernt (und Leerzeichen sind in Python wichtig).
      LG Felix

      Antworten
  20. LeoZ am 16. November 2015 8:06

    Hallo Felix,

    die Konsole gibt beim ausführen deines Scripts die Fehlermeldung
    File „distance_test.üy“, line 23
    (…)
    SyntaxError: invalid syntax
    aus.
    Irgendeine Idee woran das liegen könnte?
    Grüße 🙂

    Antworten
    • Felix am 16. November 2015 11:58

      Hey,
      folgendes: Zum einen hast du die Datei falsch benannt („.üy“) und zum zweiten habe ich den Code aktualisiert, da WordPress jedes mal die Leerzeichen entfernt (und Leerzeichen sind in Python wichtig).
      LG Felix

      Antworten
  21. LeoZ am 16. November 2015 13:50

    Hey,
    den Dateinamen habe ich nur hier falsch eingetippt 🙂
    ist der code oben jetzt aktualisiert oder wie darf ich das verstehen. Ich übernehme den Code in ein Textdokument, nenne es in .py um und führe es aus.
    Sollte das funktionieren?
    PS: in der Codierung für eine Alarmanlage meint „ab zeile 16“ alles unter Zeile 16 wird ersetzt oder AUCH zeile 16?
    LG Leo

    Antworten
    • Felix am 16. November 2015 17:14

      Genau, grad den jetzigen Code (mit Einrückungen) mit dem davor ersetzen. Der Code war zwar schon davor richtig, aber WordPress ersetzt gerne mal mehrere Leerzeichen hintereinander, daher waren die Einrückungen falsch. Vor Zeile 14 waren aber keine nöig, daher erst ab:
      if __name__ == '__main__':

      Antworten
  22. LeoZ am 16. November 2015 13:50

    Hey,
    den Dateinamen habe ich nur hier falsch eingetippt 🙂
    ist der code oben jetzt aktualisiert oder wie darf ich das verstehen. Ich übernehme den Code in ein Textdokument, nenne es in .py um und führe es aus.
    Sollte das funktionieren?
    PS: in der Codierung für eine Alarmanlage meint „ab zeile 16“ alles unter Zeile 16 wird ersetzt oder AUCH zeile 16?
    LG Leo

    Antworten
    • Felix am 16. November 2015 17:14

      Genau, grad den jetzigen Code (mit Einrückungen) mit dem davor ersetzen. Der Code war zwar schon davor richtig, aber WordPress ersetzt gerne mal mehrere Leerzeichen hintereinander, daher waren die Einrückungen falsch. Vor Zeile 14 waren aber keine nöig, daher erst ab:
      if __name__ == '__main__':

      Antworten
  23. LeoZ am 17. November 2015 9:42
    #!/usr/bin/python
    import time
    import RPi.GPIO as GPIO
     
    GPIO_BEGIN_PIN = 4
    GPIO_END_PIN = 17
     
    DISTANCE = 2.0 # (in cm) Anpassen, falls notwendig
    TIMEOUT = 5 # sek
     
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
     
    if __name__ == '__main__':
        GPIO.setup(GPIO_BEGIN_PIN, GPIO.IN)
        GPIO.setup(GPIO_END_PIN, GPIO.IN)
    
    #Endlosschleife
    while True:
      while GPIO.input(GPIO_BEGIN_PIN) == GPIO.LOW:
        time.sleep(0.001)
      
      zeit = time.time()
      print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(zeit))
      # Skript(e) starten, versenden, etc.
      # ...
      
      # falls die Lichtschranke weiterhin unterbrochen ist, erst weitermachen, sobald sie frei ist
        while GPIO.input(GPIO_BEGIN_PIN) == GPIO.HIGH:
          time.sleep(0.001)

    das ist jetzt der Code den ich verwende, wenn ich ihn ausführe passiert eigentlich garnichts, auch wenn ich beide lichtschranken unterbreche. Ich will an der Stelle nur Datum und Uhrzeit einer Unterbrechung, nicht die Geschwindigkeit mitbekommen und habe deshalb den Code aus einem deiner Kommentare ergänzt. Der Schaltkreis ist identlich mit deinem.
    Frage: brauche ich einen AD-wandler wenn ich ein digitales Signal an beispielsweise eine Alarmanlage weiterleiten will?
    beste Grüße,
    Leo

    Antworten
    • Felix am 17. November 2015 11:32

      Bei dir fehlen die Einrückungen nach if __name__ == '__main__': vor der while Schleife, so hat die If Abfrage keine wirkliche Auswirkung und du kannst sie auch weglassen (oder eben einrücken).
      Wie weit sind die IR Dioden voneinander entfernt? Evtl. liegt es daran, dass kein Signal ankommt. Wenn du nur eine Schranke hast, brauchst du GPIO_END_PIN nicht.
      bzgl Alarmanlage lässt sich das nicht so einfach sagen: Je nachdem, ob sie ein digitales/analoges Signal erwartet bzw wie hoch die Spannung ist. Ggf. könntest du ein Relais benutzen.
      PS: Überprüfe deine Einrückungen alle mal. Ich bin mir nicht sicher ob es an WordPress liegt oder du gekürzt hast, aber z.B. die letzte while Schleife ist anders eingerückt, als das print davor.
      LG Felix

      Antworten
  24. LeoZ am 17. November 2015 9:42
    #!/usr/bin/python
    import time
    import RPi.GPIO as GPIO
     
    GPIO_BEGIN_PIN = 4
    GPIO_END_PIN = 17
     
    DISTANCE = 2.0 # (in cm) Anpassen, falls notwendig
    TIMEOUT = 5 # sek
     
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
     
    if __name__ == '__main__':
        GPIO.setup(GPIO_BEGIN_PIN, GPIO.IN)
        GPIO.setup(GPIO_END_PIN, GPIO.IN)
    
    #Endlosschleife
    while True:
      while GPIO.input(GPIO_BEGIN_PIN) == GPIO.LOW:
        time.sleep(0.001)
      
      zeit = time.time()
      print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(zeit))
      # Skript(e) starten, versenden, etc.
      # ...
      
      # falls die Lichtschranke weiterhin unterbrochen ist, erst weitermachen, sobald sie frei ist
        while GPIO.input(GPIO_BEGIN_PIN) == GPIO.HIGH:
          time.sleep(0.001)

    das ist jetzt der Code den ich verwende, wenn ich ihn ausführe passiert eigentlich garnichts, auch wenn ich beide lichtschranken unterbreche. Ich will an der Stelle nur Datum und Uhrzeit einer Unterbrechung, nicht die Geschwindigkeit mitbekommen und habe deshalb den Code aus einem deiner Kommentare ergänzt. Der Schaltkreis ist identlich mit deinem.
    Frage: brauche ich einen AD-wandler wenn ich ein digitales Signal an beispielsweise eine Alarmanlage weiterleiten will?
    beste Grüße,
    Leo

    Antworten
    • Felix am 17. November 2015 11:32

      Bei dir fehlen die Einrückungen nach if __name__ == '__main__': vor der while Schleife, so hat die If Abfrage keine wirkliche Auswirkung und du kannst sie auch weglassen (oder eben einrücken).
      Wie weit sind die IR Dioden voneinander entfernt? Evtl. liegt es daran, dass kein Signal ankommt. Wenn du nur eine Schranke hast, brauchst du GPIO_END_PIN nicht.
      bzgl Alarmanlage lässt sich das nicht so einfach sagen: Je nachdem, ob sie ein digitales/analoges Signal erwartet bzw wie hoch die Spannung ist. Ggf. könntest du ein Relais benutzen.
      PS: Überprüfe deine Einrückungen alle mal. Ich bin mir nicht sicher ob es an WordPress liegt oder du gekürzt hast, aber z.B. die letzte while Schleife ist anders eingerückt, als das print davor.
      LG Felix

      Antworten
  25. LeoZ am 17. November 2015 13:33

    Reicht es, nach if __name__== '__main__': alles mit einem Tab weiter einzurücken – bzw wie weit reicht die if-verzweigung also bis zu welchem Befehl muss ich per Tab einrücken?

    Die Dioden sind ca 1.5-2cm außeinander. Davon habe ich zwei paare mit Quelle und Empfänger wie in deinem Beispiel.

    Ohne AD-Wandler müsste die Konsole auf dem Pi trotzdem eine Unterbrechung anzeigen, wenn ich das script ausführe und BEIDE Lichtschranken unterbreche, richtig?

    Antworten
  26. LeoZ am 17. November 2015 13:33

    Reicht es, nach if __name__== '__main__': alles mit einem Tab weiter einzurücken – bzw wie weit reicht die if-verzweigung also bis zu welchem Befehl muss ich per Tab einrücken?

    Die Dioden sind ca 1.5-2cm außeinander. Davon habe ich zwei paare mit Quelle und Empfänger wie in deinem Beispiel.

    Ohne AD-Wandler müsste die Konsole auf dem Pi trotzdem eine Unterbrechung anzeigen, wenn ich das script ausführe und BEIDE Lichtschranken unterbreche, richtig?

    Antworten
  27. LeoZ am 17. November 2015 14:42

    Hallo Felix,
    status ist wie folgt, das Skript funktioniert, gibt aber eine permanente Unterbrechung also geschlossenen Stromkreis an. Die Lichtschranken sind allerdings ununterbrochen und auf den LEDs kein Strom. Die Konsole gibt im Millisekundentakt die Zeit und das Datum aus. Habe ich einen Steck-Fehler am Schaltkreis so dass auf den PINs permanent Strom anliegt, oder reagieren die PINS laut dem Script einfach falsch herum, sprich Datum/Zeit werden bei KEINEM Strom an den PINS ausgegeben?
    Sry für die vielen Posts,
    Grüße, Leo

    Antworten
    • Felix am 17. November 2015 15:37

      Hey Leo,
      bzgl. Python und den Einrückungen solltest du dir evtl. die Syntax von Python ansehen: Statt Klammern wird in Python der Code, der z.B. nach einem if ausgeführt werden soll, eine Ebene (sei es ein Tab, ein/zwei/beliebig viele Leerzeichen) eingerückt.
      Wenn das Skript sonst soweit funktioniert, ist das ja schon mal gut. Da ich deinen Schaltplan nicht kenne, kann ich dir nicht sagen, ob du evtl. etwas falsch verbunden hast, aber das hört sich sehr danach an, dass „zu viel“ Strom durch gelangt und dadurch dauerhaft ein Signal ankommt. Du könntest einen größeren Widerstand ausprobieren (oder Poti zum drehen) und schauen, ob das hilft. Wenn nicht sehen wir weiter.
      LG Felix

      Antworten
  28. LeoZ am 17. November 2015 14:42

    Hallo Felix,
    status ist wie folgt, das Skript funktioniert, gibt aber eine permanente Unterbrechung also geschlossenen Stromkreis an. Die Lichtschranken sind allerdings ununterbrochen und auf den LEDs kein Strom. Die Konsole gibt im Millisekundentakt die Zeit und das Datum aus. Habe ich einen Steck-Fehler am Schaltkreis so dass auf den PINs permanent Strom anliegt, oder reagieren die PINS laut dem Script einfach falsch herum, sprich Datum/Zeit werden bei KEINEM Strom an den PINS ausgegeben?
    Sry für die vielen Posts,
    Grüße, Leo

    Antworten
    • Felix am 17. November 2015 15:37

      Hey Leo,
      bzgl. Python und den Einrückungen solltest du dir evtl. die Syntax von Python ansehen: Statt Klammern wird in Python der Code, der z.B. nach einem if ausgeführt werden soll, eine Ebene (sei es ein Tab, ein/zwei/beliebig viele Leerzeichen) eingerückt.
      Wenn das Skript sonst soweit funktioniert, ist das ja schon mal gut. Da ich deinen Schaltplan nicht kenne, kann ich dir nicht sagen, ob du evtl. etwas falsch verbunden hast, aber das hört sich sehr danach an, dass „zu viel“ Strom durch gelangt und dadurch dauerhaft ein Signal ankommt. Du könntest einen größeren Widerstand ausprobieren (oder Poti zum drehen) und schauen, ob das hilft. Wenn nicht sehen wir weiter.
      LG Felix

      Antworten
  29. LeoZ am 18. November 2015 8:06

    betrieben wird das ganze ja vom 3.3V PIN am RasPi, ansonsten habe ich dieselben Wiederstände wie du verwendet (470Ohm, 10KOhm). Woher sollte der Unterschied zu deinem Beispiel kommen? Welche soll ich versuchen zu ersetzen und durch einen wie großen?
    LG Leo 🙂

    Antworten
    • Felix am 18. November 2015 15:46

      Benutzt du auch die selben IR Dioden (meine waren von Pollin)? Sollte zwar auch mit anderen IR Lichtschranken funktionieren, aber evtl. haben diese andere Eigenwiederstände. Falls du einen Poti kannst du den mal statt dem Widerstand einsetzen und schauen, ob sich bei Verändern des Wertes etwas tut.
      LG Felix

      Antworten
  30. LeoZ am 18. November 2015 8:06

    betrieben wird das ganze ja vom 3.3V PIN am RasPi, ansonsten habe ich dieselben Wiederstände wie du verwendet (470Ohm, 10KOhm). Woher sollte der Unterschied zu deinem Beispiel kommen? Welche soll ich versuchen zu ersetzen und durch einen wie großen?
    LG Leo 🙂

    Antworten
    • Felix am 18. November 2015 15:46

      Benutzt du auch die selben IR Dioden (meine waren von Pollin)? Sollte zwar auch mit anderen IR Lichtschranken funktionieren, aber evtl. haben diese andere Eigenwiederstände. Falls du einen Poti kannst du den mal statt dem Widerstand einsetzen und schauen, ob sich bei Verändern des Wertes etwas tut.
      LG Felix

      Antworten
  31. Torsten am 13. Dezember 2015 19:53

    Hallo Felix,
    ich habe einen ähnlichen Aufbau wie du und habe daher versucht deinen Code für mich anzupassen. Ich bekomme aber selbst ohne Anpassung berereits einen „Invalid Syntax“-Error bei der ersten while-Bedingung. Leider kenne ich mich mit Python und GPIOs kaum aus. Dürfte ich dich bitten einen kurzen Blick darauf zu werfen? Vielleicht ist der Fehler ja total simpel und ich sehe ihn einfach nicht.
    Vielen Dank für deine Mühe!
    Torsten

    #!/usr/bin/python
    import time
    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
    
    LSein = 17
    LSaus = 18
    TOUT = 2 # Timeout nach 2 sek
    weg = 0.5 # Strecke zwischen den Lichtschranken [m]
    
    GPIO.setup(LSein, GPIO.IN)
    GPIO.setup(LSaus, GPIO.IN)
    
    while GPIO.input(LSein) == GPIO.LOW
        time.sleep(0.001)
        start_time = time.time()
    end_time = 0
    
    while GPIO.input(LSaus) == GPIO.LOW and time()-start_time = TOUT:
            print("Timeout")
            exit()
        else:
            end_time = time.time()
    
            geschw = weg / (end_time - start_time)
            print("Geschwindigkeit: %.2f m/s" % geschw)
    Antworten
    • Torsten am 13. Dezember 2015 19:55

      na das mit dem Code hat ja super geklappt 😀 wie macht ihr das mit den grauen Kästchen? Auf jeden Fall sind die Einrückungen richtig, die habe ich oft genug überprüft

      Antworten
      • Felix am 13. Dezember 2015 20:18

        Einfach mit <pre>Text</pre> 😉

    • Felix am 13. Dezember 2015 20:21

      Zwei Fehler:
      while GPIO.input(LSein) == GPIO.LOW da fehlt der Doppelpunkt am Ende.

      and time()-start_time = TOUT: da müssen zwei GLeichheitsszeichen hin: and time()-start_time == TOUT:
      Außerdem ist in der zweiten While Schleife ein else, aber entweder fehlt ein if oder die Einrückung ist falsch.
      LG Felix

      Antworten
    • Torsten am 17. Dezember 2015 1:25

      Oh danke, auf den Doppelpunkt wäre ich nie gekommen.

      Bei der zweiten while sind beim Kopieren anscheinen ein paar Zeilen verloren gegangen, eigentlich sieht das so bei mir aus:

      while GPIO.input(LSaus) == GPIO.LOW and time()-start_time = TOUT:
              print("Timeout")
              exit()
          else:
              end_time = time.time()
      
              geschw = weg / (end_time - start_time)
              print("Geschwindigkeit: %.2f m/s" % geschw)
      

      Ja, liegt am Kopieren, war wieder weg. Habe es jetzt hoffentlich richtig von Hand eingefügt.

      Werde deine Korrektur gleich morgen früh mal probieren. Vielen Dank schonmal!

      Antworten
  32. Torsten am 13. Dezember 2015 19:53

    Hallo Felix,
    ich habe einen ähnlichen Aufbau wie du und habe daher versucht deinen Code für mich anzupassen. Ich bekomme aber selbst ohne Anpassung berereits einen „Invalid Syntax“-Error bei der ersten while-Bedingung. Leider kenne ich mich mit Python und GPIOs kaum aus. Dürfte ich dich bitten einen kurzen Blick darauf zu werfen? Vielleicht ist der Fehler ja total simpel und ich sehe ihn einfach nicht.
    Vielen Dank für deine Mühe!
    Torsten

    #!/usr/bin/python
    import time
    import RPi.GPIO as GPIO
    GPIO.setmode(GPIO.BCM)
    GPIO.setwarnings(False)
    
    LSein = 17
    LSaus = 18
    TOUT = 2 # Timeout nach 2 sek
    weg = 0.5 # Strecke zwischen den Lichtschranken [m]
    
    GPIO.setup(LSein, GPIO.IN)
    GPIO.setup(LSaus, GPIO.IN)
    
    while GPIO.input(LSein) == GPIO.LOW
        time.sleep(0.001)
        start_time = time.time()
    end_time = 0
    
    while GPIO.input(LSaus) == GPIO.LOW and time()-start_time = TOUT:
            print("Timeout")
            exit()
        else:
            end_time = time.time()
    
            geschw = weg / (end_time - start_time)
            print("Geschwindigkeit: %.2f m/s" % geschw)
    Antworten
    • Torsten am 13. Dezember 2015 19:55

      na das mit dem Code hat ja super geklappt 😀 wie macht ihr das mit den grauen Kästchen? Auf jeden Fall sind die Einrückungen richtig, die habe ich oft genug überprüft

      Antworten
      • Felix am 13. Dezember 2015 20:18

        Einfach mit <pre>Text</pre> 😉

    • Felix am 13. Dezember 2015 20:21

      Zwei Fehler:
      while GPIO.input(LSein) == GPIO.LOW da fehlt der Doppelpunkt am Ende.

      and time()-start_time = TOUT: da müssen zwei GLeichheitsszeichen hin: and time()-start_time == TOUT:
      Außerdem ist in der zweiten While Schleife ein else, aber entweder fehlt ein if oder die Einrückung ist falsch.
      LG Felix

      Antworten
    • Torsten am 17. Dezember 2015 1:25

      Oh danke, auf den Doppelpunkt wäre ich nie gekommen.

      Bei der zweiten while sind beim Kopieren anscheinen ein paar Zeilen verloren gegangen, eigentlich sieht das so bei mir aus:

      while GPIO.input(LSaus) == GPIO.LOW and time()-start_time = TOUT:
              print("Timeout")
              exit()
          else:
              end_time = time.time()
      
              geschw = weg / (end_time - start_time)
              print("Geschwindigkeit: %.2f m/s" % geschw)
      

      Ja, liegt am Kopieren, war wieder weg. Habe es jetzt hoffentlich richtig von Hand eingefügt.

      Werde deine Korrektur gleich morgen früh mal probieren. Vielen Dank schonmal!

      Antworten
  33. Torsten am 17. Dezember 2015 1:27

    Also irgendwie wollen die Zeilen nicht, sind schon wieder verschwunden 😀 Ich habe es aber praktisch oben abgeschrieben, da ist noch das erste else und if mit print(„Timeout“) vor

    Antworten
    • Felix am 17. Dezember 2015 9:48

      Poste es mal auf http://pastebin.com und verlink es hier.

      Antworten
    • Torsten am 17. Dezember 2015 17:30

      Ich habe mal mein gesamtes Programm reinkopiert: http://pastebin.com/Y7N6cfFx

      Ich konnte es leider noch nicht austesten, da das kleinste Zeitintervall bei mir nur 0,01s ist. Kann man das ändern? Sonst ist man bei der Messung mit 0,5m Abstand zwischen den Lichtschranken (leider gegeben, den Abstand kann ich nicht ändern) ja auf 50m/s begrenzt. Ich bräuchte da eher so 1000m/s. Kann ich das kleinste Zeitintervall auf 0.00001s ändern?

      Ich muss nicht lange messen, d.h. vor dem Komma reichen ein paar Stellen.

      Antworten
  34. Torsten am 17. Dezember 2015 1:27

    Also irgendwie wollen die Zeilen nicht, sind schon wieder verschwunden 😀 Ich habe es aber praktisch oben abgeschrieben, da ist noch das erste else und if mit print(„Timeout“) vor

    Antworten
    • Felix am 17. Dezember 2015 9:48

      Poste es mal auf http://pastebin.com und verlink es hier.

      Antworten
    • Torsten am 17. Dezember 2015 17:30

      Ich habe mal mein gesamtes Programm reinkopiert: http://pastebin.com/Y7N6cfFx

      Ich konnte es leider noch nicht austesten, da das kleinste Zeitintervall bei mir nur 0,01s ist. Kann man das ändern? Sonst ist man bei der Messung mit 0,5m Abstand zwischen den Lichtschranken (leider gegeben, den Abstand kann ich nicht ändern) ja auf 50m/s begrenzt. Ich bräuchte da eher so 1000m/s. Kann ich das kleinste Zeitintervall auf 0.00001s ändern?

      Ich muss nicht lange messen, d.h. vor dem Komma reichen ein paar Stellen.

      Antworten
  35. Martin am 14. Januar 2016 10:43

    hey ich hab mal eine frage,
    für ein projekt hab ich vor die geschwindigkeit beim kickern zu messen (1. lichtscranke beim angreifer und 2. im tor),

    wie weit dürfen der sender und der empfänger auseinander sein?

    Antworten
    • Felix am 14. Januar 2016 11:27

      Kommt auf die verwendeten Module an. Bei den hier verwendeten hatte ich bei ca. 5-7cm gute Ergebnisse.

      Antworten
  36. Martin am 14. Januar 2016 10:43

    hey ich hab mal eine frage,
    für ein projekt hab ich vor die geschwindigkeit beim kickern zu messen (1. lichtscranke beim angreifer und 2. im tor),

    wie weit dürfen der sender und der empfänger auseinander sein?

    Antworten
    • Felix am 14. Januar 2016 11:27

      Kommt auf die verwendeten Module an. Bei den hier verwendeten hatte ich bei ca. 5-7cm gute Ergebnisse.

      Antworten
  37. Martin am 14. Januar 2016 11:55

    bis jetzt ist der plan die von dir als alternative vorgeschlagenen zu verwenden

    http://www.amazon.de/gp/product/B00EFOTJZE?ie=UTF8&linkCode=as2&camp=1634&creative=6738&tag=754-21&creativeASIN=B00EFOTJZE

    der abstand währe allerdings deutlich größer(~74cm)
    ist das machbar? oder gibts da ein besseren vorschlag deinerseits?
    Ich hab mir auch überlegt einen Laser zu verwenden, würde das auch mit einem einfachen fotowiderstand funktionieren?

    Antworten
    • Felix am 14. Januar 2016 14:00

      Hm das kommt auf das Modell an, da müsstest du mal testen. Ich habe so einen großen Abstand nie gebraucht.
      Ein Fotowiderstand würde nicht mit Infrarot funktionieren (Umgebungshelligkeit zu hoch), wahrscheinlich aber mit einem Laser (falls das in Frage kommt). Dazu einfach den Fotowiderstand platzieren und den Laser direkt darauf zielen lassen.

      Antworten
  38. Martin am 14. Januar 2016 11:55

    bis jetzt ist der plan die von dir als alternative vorgeschlagenen zu verwenden

    http://www.amazon.de/gp/product/B00EFOTJZE?ie=UTF8&linkCode=as2&camp=1634&creative=6738&tag=754-21&creativeASIN=B00EFOTJZE

    der abstand währe allerdings deutlich größer(~74cm)
    ist das machbar? oder gibts da ein besseren vorschlag deinerseits?
    Ich hab mir auch überlegt einen Laser zu verwenden, würde das auch mit einem einfachen fotowiderstand funktionieren?

    Antworten
    • Felix am 14. Januar 2016 14:00

      Hm das kommt auf das Modell an, da müsstest du mal testen. Ich habe so einen großen Abstand nie gebraucht.
      Ein Fotowiderstand würde nicht mit Infrarot funktionieren (Umgebungshelligkeit zu hoch), wahrscheinlich aber mit einem Laser (falls das in Frage kommt). Dazu einfach den Fotowiderstand platzieren und den Laser direkt darauf zielen lassen.

      Antworten
  39. Martin am 14. Januar 2016 14:07

    wenn ich mal dumm fragen darf,

    wie sieht den so eine abfrage vom fotowiederstand im python aus? bin selbst erst extremer anfänger
    hier mal code: http://pastebin.com/Xn9i0wc8

    Antworten
    • Felix am 14. Januar 2016 14:10

      Am besten mit einem Transistor (Pull-Up oder Pull-Down, je nachdem was dir lieber ist). Du kannst dich dabei an der Schaltung hier orientieren, nur statt Magnetschalter nimmst du einen Fotowiderstand: Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais

      Antworten
  40. Martin am 14. Januar 2016 14:07

    wenn ich mal dumm fragen darf,

    wie sieht den so eine abfrage vom fotowiederstand im python aus? bin selbst erst extremer anfänger
    hier mal code: http://pastebin.com/Xn9i0wc8

    Antworten
    • Felix am 14. Januar 2016 14:10

      Am besten mit einem Transistor (Pull-Up oder Pull-Down, je nachdem was dir lieber ist). Du kannst dich dabei an der Schaltung hier orientieren, nur statt Magnetschalter nimmst du einen Fotowiderstand: Überwachung von Fenstern und Türen mit dem Raspberry Pi und Reed-Relais

      Antworten
  41. Martin am 14. Januar 2016 15:24

    erstmal vielen danke für die hilfe,

    könntest du mir aber bitte noch sagen ob dieser laser funktioniieren würde?
    http://ebay.eu/1l9TYeu
    und mir dann noch bitte sagen ob dieser schaltplan funktionieren würde(man sollte sehen das ich ein anfänger bin)
    http://imgur.com/BuT17rl

    Antworten
    • Felix am 14. Januar 2016 17:35

      Hallo Martin,
      ja das sollte funktionieren (links Laser, rechts Fotowiderstand). Modul sollte in Ordnung sein, kommt allerdings aus China 😀

      Antworten
  42. Martin am 14. Januar 2016 15:24

    erstmal vielen danke für die hilfe,

    könntest du mir aber bitte noch sagen ob dieser laser funktioniieren würde?
    http://ebay.eu/1l9TYeu
    und mir dann noch bitte sagen ob dieser schaltplan funktionieren würde(man sollte sehen das ich ein anfänger bin)
    http://imgur.com/BuT17rl

    Antworten
    • Felix am 14. Januar 2016 17:35

      Hallo Martin,
      ja das sollte funktionieren (links Laser, rechts Fotowiderstand). Modul sollte in Ordnung sein, kommt allerdings aus China 😀

      Antworten
  43. Holger am 17. Januar 2016 10:54

    Moin zusammen,

    ich bekomme immer diese Fehlermeldung 🙁

    Traceback (most recent call last):
    File „geschw.py“, line 26, in
    if time.time()-start_time >= TIMEOUT:
    NameError: name ’start_time‘ is not defined

    Die Schaltung an sich funktioniert. Die LED sind dunkel und wenn ich die Lichtschranke unterbreche, leuchtet die jeweilige.

    Ich komme nur mit der Fehlermeldung nicht weiter, weil eigentlich start_time definiert ist.

    Gruß
    Holger

    Antworten
    • Holger am 17. Januar 2016 12:02

      Hat sich aufgeklärt. Die Lichtschranken müssen ja wirklich extrem nah gegenüber stehen. 4cm zwischen Sender und Empfänger waren zu viel.

      Gruß
      Holger

      Antworten
  44. Holger am 17. Januar 2016 10:54

    Moin zusammen,

    ich bekomme immer diese Fehlermeldung 🙁

    Traceback (most recent call last):
    File „geschw.py“, line 26, in
    if time.time()-start_time >= TIMEOUT:
    NameError: name ’start_time‘ is not defined

    Die Schaltung an sich funktioniert. Die LED sind dunkel und wenn ich die Lichtschranke unterbreche, leuchtet die jeweilige.

    Ich komme nur mit der Fehlermeldung nicht weiter, weil eigentlich start_time definiert ist.

    Gruß
    Holger

    Antworten
    • Holger am 17. Januar 2016 12:02

      Hat sich aufgeklärt. Die Lichtschranken müssen ja wirklich extrem nah gegenüber stehen. 4cm zwischen Sender und Empfänger waren zu viel.

      Gruß
      Holger

      Antworten
  45. EOL am 23. Januar 2016 21:45

    Hey, bin am Aufbau, hab alles bei Conrad gekauft. Der Fototransistor hat allerdings 3 pins, was soll ich tun? kannst du mir ein Bild des ganzen Konstrukts schicken?
    DANKE

    Antworten
    • Felix am 23. Januar 2016 21:52

      Hey,
      schau am besten mal im Datenblatt nach, was die Pins bedeuten.

      Antworten
    • EOL am 24. Januar 2016 16:50

      Hey, ist leider keins dabei 🙁 Kannst du mir mal ein Bild des ganzen Gerätes senden? Hab da so wenig Vorstellung…

      Antworten
    • EOL am 24. Januar 2016 17:03

      Da steht: Linker Pin OUT
      Mittlerer Pin: GND
      Rechter Pin: VCC

      was bedeutet das? Bin schlecht in dem Bereich. Wie weit kann ich die Platine mit IR von dem Raspberry entfernt aufstellen?

      Grüße

      Antworten
      • Felix am 24. Januar 2016 17:13

        VCC und GND stehen für die Spannung (Plus und Minus). Ohne Datenblatt ist es aber schwer zu sagen, was du für ein Modul hast. Es könnte eine Art Fototransistor sein oder ein richtiger IR Empfänger. Den Abstand müsstest du durch testen heraus finden.

    • EOL am 24. Januar 2016 19:38

      Hey, das Datenblatt ist verlinkt.
      http://www.produktinfo.conrad.com/datenblaetter/175000-199999/184302-da-01-en-IR_RECEIVER_2_7_5_5V_OS_0038K_K.pdf

      Bild brauch ich keins, hoffe ich nerve nicht.
      Grüße

      Antworten
      • Felix am 24. Januar 2016 19:40

        Und mit welchem Modul sendest du? Ich habe nicht alle IR Dioden getestet, um sicher sagen zu können mit welchen es funktioniert (+ den Abstand).

    • EOL am 25. Januar 2016 18:17

      Hey, Datenblatt: http://www.produktinfo.conrad.com/datenblaetter/150000-174999/153641-da-01-ml-IR_Emitter_LD274_de_en.pdf

      Wie weit könne die IR Module vom Raspberry entfernt sein?
      Grüße

      Antworten
      • Felix am 25. Januar 2016 18:49

        Ich bin mir ehrlich gesagt nicht sicher, ob dein Empfänger dafür geeignet ist. Daher kann ich dir auch nicht genau sagen, wie groß die Entfernung sein kann.
        Du müsstest wohl einen anderen Weg gehen, da der Empfänger nicht wie ein IR Fototransistor benutzt werden kann. Du kannst mit der Diode senden und mit dem Empfänger auf das Signal warten (bzw. die Unterbrechung) und darauf reagieren. Eventuell hilft dir dies weiter (womit eine höhere Distanz möglich sein sollte): Raspberry Pi Infrarot Steuerung – Einrichten von LIRC
        Natürlich bedarf es einiger Anpassung.

  46. EOL am 23. Januar 2016 21:45

    Hey, bin am Aufbau, hab alles bei Conrad gekauft. Der Fototransistor hat allerdings 3 pins, was soll ich tun? kannst du mir ein Bild des ganzen Konstrukts schicken?
    DANKE

    Antworten
    • Felix am 23. Januar 2016 21:52

      Hey,
      schau am besten mal im Datenblatt nach, was die Pins bedeuten.

      Antworten
    • EOL am 24. Januar 2016 16:50

      Hey, ist leider keins dabei 🙁 Kannst du mir mal ein Bild des ganzen Gerätes senden? Hab da so wenig Vorstellung…

      Antworten
    • EOL am 24. Januar 2016 17:03

      Da steht: Linker Pin OUT
      Mittlerer Pin: GND
      Rechter Pin: VCC

      was bedeutet das? Bin schlecht in dem Bereich. Wie weit kann ich die Platine mit IR von dem Raspberry entfernt aufstellen?

      Grüße

      Antworten
      • Felix am 24. Januar 2016 17:13

        VCC und GND stehen für die Spannung (Plus und Minus). Ohne Datenblatt ist es aber schwer zu sagen, was du für ein Modul hast. Es könnte eine Art Fototransistor sein oder ein richtiger IR Empfänger. Den Abstand müsstest du durch testen heraus finden.

    • EOL am 24. Januar 2016 19:38

      Hey, das Datenblatt ist verlinkt.
      http://www.produktinfo.conrad.com/datenblaetter/175000-199999/184302-da-01-en-IR_RECEIVER_2_7_5_5V_OS_0038K_K.pdf

      Bild brauch ich keins, hoffe ich nerve nicht.
      Grüße

      Antworten
      • Felix am 24. Januar 2016 19:40

        Und mit welchem Modul sendest du? Ich habe nicht alle IR Dioden getestet, um sicher sagen zu können mit welchen es funktioniert (+ den Abstand).

    • EOL am 25. Januar 2016 18:17

      Hey, Datenblatt: http://www.produktinfo.conrad.com/datenblaetter/150000-174999/153641-da-01-ml-IR_Emitter_LD274_de_en.pdf

      Wie weit könne die IR Module vom Raspberry entfernt sein?
      Grüße

      Antworten
      • Felix am 25. Januar 2016 18:49

        Ich bin mir ehrlich gesagt nicht sicher, ob dein Empfänger dafür geeignet ist. Daher kann ich dir auch nicht genau sagen, wie groß die Entfernung sein kann.
        Du müsstest wohl einen anderen Weg gehen, da der Empfänger nicht wie ein IR Fototransistor benutzt werden kann. Du kannst mit der Diode senden und mit dem Empfänger auf das Signal warten (bzw. die Unterbrechung) und darauf reagieren. Eventuell hilft dir dies weiter (womit eine höhere Distanz möglich sein sollte): Raspberry Pi Infrarot Steuerung – Einrichten von LIRC
        Natürlich bedarf es einiger Anpassung.

  47. EOL am 25. Januar 2016 19:27

    Hey, Datenblatt:
    http://www.produktinfo.conrad.com/datenblaetter/150000-174999/153641-da-01-ml-IR_Emitter_LD274_de_en.pdf

    Wie weit kann ich die Platine vom Raspberry weg bauen?

    Antworten
    • Felix am 25. Januar 2016 19:28

      Sorry, ich weiß nicht wirklich was du meinst.

      Antworten
  48. EOL am 25. Januar 2016 19:27

    Hey, Datenblatt:
    http://www.produktinfo.conrad.com/datenblaetter/150000-174999/153641-da-01-ml-IR_Emitter_LD274_de_en.pdf

    Wie weit kann ich die Platine vom Raspberry weg bauen?

    Antworten
    • Felix am 25. Januar 2016 19:28

      Sorry, ich weiß nicht wirklich was du meinst.

      Antworten
  49. Thomas am 8. März 2016 8:24

    Hallo,

    ich habe dein Versuch einmal nachgebaut und es funktioniert auch mit einer Lichtschranke. Ich würde jedoch gerne einen größeren Bereich abdecken, also auch weiter oben noch einen Sensor anbringen. Dann dachte ich mir einfach, dass ich diese Parallel schalte. Das dürfte jedoch nicht klappen, weil dann immer beide Schranken gleichzeitig durchbrochen werden müssten.
    Gibt es eine Möglichkeit mehrere Lichtschranken „übereinander“ zu positionieren, damit es auch noch funktioniert?
    (Brauche es für einen Kicker Tisch und das Tor ist leider etwas größer^^)

    Antworten
    • Felix am 8. März 2016 14:32

      Du könntest entweder stärkere Sender/Empfänger Paare nehmen, oder z.B. einen Fototransistor und einen Mini-Laser. An den Fototransistor hängst du einen größeren Widerstand (musst du mal testen, ab wann das normale Umgebungslicht ignoriert wird). Wenn ich Zeit finde, werde ich vielleicht in Zukunft dazu mal ein Tutorial machen, ist aber eigentlich recht simpel.
      LG Felix

      Antworten
  50. Thomas am 8. März 2016 8:24

    Hallo,

    ich habe dein Versuch einmal nachgebaut und es funktioniert auch mit einer Lichtschranke. Ich würde jedoch gerne einen größeren Bereich abdecken, also auch weiter oben noch einen Sensor anbringen. Dann dachte ich mir einfach, dass ich diese Parallel schalte. Das dürfte jedoch nicht klappen, weil dann immer beide Schranken gleichzeitig durchbrochen werden müssten.
    Gibt es eine Möglichkeit mehrere Lichtschranken „übereinander“ zu positionieren, damit es auch noch funktioniert?
    (Brauche es für einen Kicker Tisch und das Tor ist leider etwas größer^^)

    Antworten
    • Felix am 8. März 2016 14:32

      Du könntest entweder stärkere Sender/Empfänger Paare nehmen, oder z.B. einen Fototransistor und einen Mini-Laser. An den Fototransistor hängst du einen größeren Widerstand (musst du mal testen, ab wann das normale Umgebungslicht ignoriert wird). Wenn ich Zeit finde, werde ich vielleicht in Zukunft dazu mal ein Tutorial machen, ist aber eigentlich recht simpel.
      LG Felix

      Antworten
  51. Beste Grüße Enrico am 15. März 2016 11:12

    Schön guten Tag,

    vielen Dank für die hilfreichen Tips. Ich wollte das ganze erweitern, dass ab einer bestimmten Geschwindigkeit eine DUO LED Grün oder Rot aufleuchtet. Da ich totaler anfänger bin wollte ich Sie Fragen wie der Code und die Verdrahtung erweitert werden muss?
    Vielen Dank im Voraus

    Antworten
    • Felix am 15. März 2016 11:41

      Hey,
      was meinst du genau? Sobald die Lichtschranke durchbrochen wird eine LED erleuchten lassen? Falls ja: Raspberry Pi Ampelschaltung mit GPIO Teil 1

      Antworten
    • Enrico am 19. März 2016 12:19

      Hallo ,

      vielen Dank für die schnelle Antwort. Ich wollte gerne mit dieser Schaltung eine Blitzeranlage simulieren. Sprich das ab einer bestimmten Geschwindigkeit eine LED leuchtet.

      Beste Grüße

      Antworten
      • Felix am 19. März 2016 12:26

        Hallo Enrico,
        wenn du die Geschwindigkeit eines näher kommenden Objekts feststellen willst, kannst du u.a. auch das Tutorial ansehen:
        Infrarot Abstandsmessung mit dem Raspberry Pi (Sharp GP2Y0A02YK0F)
        Das kann ähnlich zu einem Blitzer funktionieren: In einer Dauerschleife misst du den Abstand und sollte dieser Sich nähern kannst du aus der Zeitdifferenz der letzten Messung und der Differenz der Entfernung die Geschwindigkeit berechnen.

    • Enrico am 26. April 2016 20:49

      Schön guten Abend,

      ich wollte das Programm mal testen, kriege aber immer folgende Fehlermeldung:

      Traceback (most recent cail last) :
      File „distance.py“, line 26, in
      if time.time()-start_time >= TIMEOUT:
      NameError: name ’start_time‘ is not difined

      Ich hab den oberen Code nur kopiert und eingefügt. Woran kann das liegen?
      Vielen Dank im Voraus ! 🙂

      Antworten
      • Felix am 26. April 2016 20:52

        Schreib in Zeile 17 folgendes (ein Tab zum einrücken): start_time, end_time = 0, 0
        Hab es im Skript aktualisiert 🙂

    • Enrico am 29. April 2016 12:39

      hey,

      vielen Dank hat geklappt. Aber wie kann es sein, dass obwohl die Lichtschranke nicht unterbrochen wurde, mir Geschwindigkeiten angezeigt werden?

      Beste Grüße

      Antworten
      • Felix am 29. April 2016 15:38

        Ich nehme an, dass ein Signal übertragen wurde. Das kann z.B. durch anderes (Infrarot)Licht, was den Empfänger erreicht hat passieren.

    • Enrico am 4. Mai 2016 18:24

      Fehlt eventuell eine While Schleife? Da er mir ja sofort Timeout ausgibt , wenn ich das Programm Starte und nicht die erste Lichtschranke durchbrechen. Kriege es leider immer noch nicht hin. Bin auch schon mehr mals den Aufbau durch gegangen.

      Beste Grüße

      Antworten
      • Felix am 4. Mai 2016 20:06

        Wo im Code meinst du genau? Es kann auch an deinen Lichtschranken liegen, sodass durch diese „immer“ Strom fließt, wodurch keine echte Messung entsteht.

  52. Beste Grüße Enrico am 15. März 2016 11:12

    Schön guten Tag,

    vielen Dank für die hilfreichen Tips. Ich wollte das ganze erweitern, dass ab einer bestimmten Geschwindigkeit eine DUO LED Grün oder Rot aufleuchtet. Da ich totaler anfänger bin wollte ich Sie Fragen wie der Code und die Verdrahtung erweitert werden muss?
    Vielen Dank im Voraus

    Antworten
    • Felix am 15. März 2016 11:41

      Hey,
      was meinst du genau? Sobald die Lichtschranke durchbrochen wird eine LED erleuchten lassen? Falls ja: Raspberry Pi Ampelschaltung mit GPIO Teil 1

      Antworten
    • Enrico am 19. März 2016 12:19

      Hallo ,

      vielen Dank für die schnelle Antwort. Ich wollte gerne mit dieser Schaltung eine Blitzeranlage simulieren. Sprich das ab einer bestimmten Geschwindigkeit eine LED leuchtet.

      Beste Grüße

      Antworten
      • Felix am 19. März 2016 12:26

        Hallo Enrico,
        wenn du die Geschwindigkeit eines näher kommenden Objekts feststellen willst, kannst du u.a. auch das Tutorial ansehen:
        Infrarot Abstandsmessung mit dem Raspberry Pi (Sharp GP2Y0A02YK0F)
        Das kann ähnlich zu einem Blitzer funktionieren: In einer Dauerschleife misst du den Abstand und sollte dieser Sich nähern kannst du aus der Zeitdifferenz der letzten Messung und der Differenz der Entfernung die Geschwindigkeit berechnen.

    • Enrico am 26. April 2016 20:49

      Schön guten Abend,

      ich wollte das Programm mal testen, kriege aber immer folgende Fehlermeldung:

      Traceback (most recent cail last) :
      File „distance.py“, line 26, in
      if time.time()-start_time >= TIMEOUT:
      NameError: name ’start_time‘ is not difined

      Ich hab den oberen Code nur kopiert und eingefügt. Woran kann das liegen?
      Vielen Dank im Voraus ! 🙂

      Antworten
      • Felix am 26. April 2016 20:52

        Schreib in Zeile 17 folgendes (ein Tab zum einrücken): start_time, end_time = 0, 0
        Hab es im Skript aktualisiert 🙂

    • Enrico am 29. April 2016 12:39

      hey,

      vielen Dank hat geklappt. Aber wie kann es sein, dass obwohl die Lichtschranke nicht unterbrochen wurde, mir Geschwindigkeiten angezeigt werden?

      Beste Grüße

      Antworten
      • Felix am 29. April 2016 15:38

        Ich nehme an, dass ein Signal übertragen wurde. Das kann z.B. durch anderes (Infrarot)Licht, was den Empfänger erreicht hat passieren.

    • Enrico am 4. Mai 2016 18:24

      Fehlt eventuell eine While Schleife? Da er mir ja sofort Timeout ausgibt , wenn ich das Programm Starte und nicht die erste Lichtschranke durchbrechen. Kriege es leider immer noch nicht hin. Bin auch schon mehr mals den Aufbau durch gegangen.

      Beste Grüße

      Antworten
      • Felix am 4. Mai 2016 20:06

        Wo im Code meinst du genau? Es kann auch an deinen Lichtschranken liegen, sodass durch diese „immer“ Strom fließt, wodurch keine echte Messung entsteht.

  53. Sascha am 6. Juli 2016 0:41

    Hallo Felix,

    erstmal danke für das tolle Tutorial.
    Ich würde gerne ein Sprintanlage für Sportler bauen.
    Dafür würde ich gerne gerne IR Sender und Empfänger verwenden. Weißt du, ob die IR Sender und Empfänger die du verwendet hast eine Entfernung von 2 Metern schaffen?
    Bzw gibt es da noch eine andere Möglichkeit?
    Viele Dank im voraus,
    Sascha

    Antworten
    • Felix am 6. Juli 2016 0:47

      Hallo Sascha,
      diese lichtempfindlichen IR Dioden werden sich eher weniger eignen. Dafür würde ich einen Sharp IR Distanzsensor nehmen. Im „offenen“ Zustand misst er immer die selbe Distanz. Sobald jemand durch läuft, verringert sich die gemessene Distanz und du weißt, dass die Lichtschranke unterbrochen wurde. Details dazu hier: Infrarot Abstandsmessung mit dem Raspberry Pi (Sharp GP2Y0A02YK0F)
      Alternativ kannst du auch einen Laser + Photodiode nehmen.
      LG, Felix

      Antworten
    • Sascha am 6. Juli 2016 1:50

      okay, vielen Dank für die Antwort.
      der Distanzsensor ist mit etwas zu teuer, da ich 3 oder 4 auf 30 Meter aufstellen möchte.
      Die Idee mit den Photodioden ist mir auch gekommen, jedoch war ich mir dabei nicht ganz sicher. Aber da du das auch vorgeschlagen hast, werde ich das Mal auf die Art und Weise in Angriff nehmen.
      Ich werde dann eine Hülle um die Photodiode bauen, um sie vor Sonneneinstrahlung zu schützen.

      Nochmals vielen Dank und liebe Grüße,
      Sascha

      Antworten
  54. Sascha am 6. Juli 2016 0:41

    Hallo Felix,

    erstmal danke für das tolle Tutorial.
    Ich würde gerne ein Sprintanlage für Sportler bauen.
    Dafür würde ich gerne gerne IR Sender und Empfänger verwenden. Weißt du, ob die IR Sender und Empfänger die du verwendet hast eine Entfernung von 2 Metern schaffen?
    Bzw gibt es da noch eine andere Möglichkeit?
    Viele Dank im voraus,
    Sascha

    Antworten
    • Felix am 6. Juli 2016 0:47

      Hallo Sascha,
      diese lichtempfindlichen IR Dioden werden sich eher weniger eignen. Dafür würde ich einen Sharp IR Distanzsensor nehmen. Im „offenen“ Zustand misst er immer die selbe Distanz. Sobald jemand durch läuft, verringert sich die gemessene Distanz und du weißt, dass die Lichtschranke unterbrochen wurde. Details dazu hier: Infrarot Abstandsmessung mit dem Raspberry Pi (Sharp GP2Y0A02YK0F)
      Alternativ kannst du auch einen Laser + Photodiode nehmen.
      LG, Felix

      Antworten
    • Sascha am 6. Juli 2016 1:50

      okay, vielen Dank für die Antwort.
      der Distanzsensor ist mit etwas zu teuer, da ich 3 oder 4 auf 30 Meter aufstellen möchte.
      Die Idee mit den Photodioden ist mir auch gekommen, jedoch war ich mir dabei nicht ganz sicher. Aber da du das auch vorgeschlagen hast, werde ich das Mal auf die Art und Weise in Angriff nehmen.
      Ich werde dann eine Hülle um die Photodiode bauen, um sie vor Sonneneinstrahlung zu schützen.

      Nochmals vielen Dank und liebe Grüße,
      Sascha

      Antworten
  55. Marc am 19. Juli 2016 22:45

    Hallo,
    ich habe folgende LEDs bestellt: https://www.amazon.de/pairs-Infrared-Diode-Emission-Receiver/dp/B00EFOTJZE?ie=UTF8&camp=1634&creative=6738&creativeASIN=B00EFOTJZE&linkCode=as2&redirect=true&tag=754-21
    Der Empfänger hat 3 Anschlüsse. Deiner hat zwei. In wieweit müsste ich etwas verändern?
    LG

    Antworten
    • Felix am 20. Juli 2016 0:18

      Die Paare von Pollin sind eher „Pseudo“ IR Module, da sie keine Signale senden, sondern eher wie Phototransistoren arbeiten. Du könntest aber mal versuchen einfach eine Spannung an den Datenpin zu legen.

      Antworten
    • Marc am 24. Juli 2016 21:27

      Wieso eine Spannung an den Datenpin anlegen. Es ist laut Amazon ein „Out“ Pin. Ist die Frage, wie ich die Ausgangsströme irwie am Pi auslesen kann. LEDs sind noch nicht angekommen, daher konnte ich es noch nicht testen. Du hattest diese LEDs ja als Alternative vorgeschlagen, dann müsste es ja irwie gehen. Will nur prüfen, ob IR ankommt oder nicht.
      LG

      Antworten
      • Felix am 24. Juli 2016 21:39

        Das war auf den Sender bezogen. Was du mit diesen IR LEDs ausprobieren kannst, ist folgendes:
        Raspberry Pi Fernbedienung: Infrarot Steuerung einrichten
        Allerdings kann es sein, dass trotz „direkter“ Unterbrechung zwischen Sender/Empfänger, noch weiter ein Signal empfangen wird (kommt auf die Fläche des unterbrechenden Objekts an).

  56. Marc am 19. Juli 2016 22:45

    Hallo,
    ich habe folgende LEDs bestellt: https://www.amazon.de/pairs-Infrared-Diode-Emission-Receiver/dp/B00EFOTJZE?ie=UTF8&camp=1634&creative=6738&creativeASIN=B00EFOTJZE&linkCode=as2&redirect=true&tag=754-21
    Der Empfänger hat 3 Anschlüsse. Deiner hat zwei. In wieweit müsste ich etwas verändern?
    LG

    Antworten
    • Felix am 20. Juli 2016 0:18

      Die Paare von Pollin sind eher „Pseudo“ IR Module, da sie keine Signale senden, sondern eher wie Phototransistoren arbeiten. Du könntest aber mal versuchen einfach eine Spannung an den Datenpin zu legen.

      Antworten
    • Marc am 24. Juli 2016 21:27

      Wieso eine Spannung an den Datenpin anlegen. Es ist laut Amazon ein „Out“ Pin. Ist die Frage, wie ich die Ausgangsströme irwie am Pi auslesen kann. LEDs sind noch nicht angekommen, daher konnte ich es noch nicht testen. Du hattest diese LEDs ja als Alternative vorgeschlagen, dann müsste es ja irwie gehen. Will nur prüfen, ob IR ankommt oder nicht.
      LG

      Antworten
      • Felix am 24. Juli 2016 21:39

        Das war auf den Sender bezogen. Was du mit diesen IR LEDs ausprobieren kannst, ist folgendes:
        Raspberry Pi Fernbedienung: Infrarot Steuerung einrichten
        Allerdings kann es sein, dass trotz „direkter“ Unterbrechung zwischen Sender/Empfänger, noch weiter ein Signal empfangen wird (kommt auf die Fläche des unterbrechenden Objekts an).

  57. Benjamin Jin am 14. Januar 2017 11:59

    Hallo Felix! Vielen Dank für dein Tutorial!

    Ich hab noch nicht viel Erfahrung mit Schaltungen und werde aus dem Datenblatt nicht schlau.. kannst du mir sagen welche Spannung und welchen Strom ich für die Fotodiode und den Empfänger mindestens brauche? Die Diode und der Fototransistor werden höchstens 1 cm voneinander entfernt sein. Außerdem möchte ich für das Projekt 7 Lichtschranken mit einem raspberry pi 3 verbinden, würde da die 3,3V oder 5V spannungsquelle ausreichen? Wenn du mir die Fragen beantworten könntest wäre ich dir sehr dankbar!

    LG, ein Student

    Antworten
    • Felix am 14. Januar 2017 12:03

      Hallo Benjamin,
      die 3.3V reichen auch für mehrere Dioden und Empfänger aus. WIchtig ist dabei die Stromsärke und nicht die Spannung. Vielleicht kennst du das Beispiel der Flussbreite und Fließgeschwindigkeit?

      Antworten
  58. Benjamin Jin am 14. Januar 2017 11:59

    Hallo Felix! Vielen Dank für dein Tutorial!

    Ich hab noch nicht viel Erfahrung mit Schaltungen und werde aus dem Datenblatt nicht schlau.. kannst du mir sagen welche Spannung und welchen Strom ich für die Fotodiode und den Empfänger mindestens brauche? Die Diode und der Fototransistor werden höchstens 1 cm voneinander entfernt sein. Außerdem möchte ich für das Projekt 7 Lichtschranken mit einem raspberry pi 3 verbinden, würde da die 3,3V oder 5V spannungsquelle ausreichen? Wenn du mir die Fragen beantworten könntest wäre ich dir sehr dankbar!

    LG, ein Student

    Antworten
    • Felix am 14. Januar 2017 12:03

      Hallo Benjamin,
      die 3.3V reichen auch für mehrere Dioden und Empfänger aus. WIchtig ist dabei die Stromsärke und nicht die Spannung. Vielleicht kennst du das Beispiel der Flussbreite und Fließgeschwindigkeit?

      Antworten
  59. Marcel vN am 3. März 2017 7:16

    Hallo, ich möchte Ihren Aufbau für ein Schulprojekt benutzen. Nun habe ich die Frage, wie weit der Sender und Empfänger der Lichtschranke auseinandersitzen dürfen. Da wir mit einem Lego-Mindstorme arbeiten müssten die Abstände deutlich größer sein, als in Ihrem Aufbau.

    Liebe Grüße

    Antworten
    • Felix am 3. März 2017 11:24

      Hallo Marcel,
      der Abstand sollte nicht so groß sein (wenige cm). Es ist ein Tutorial geplant, in dem eine Lichtschranke per Laser gebaut wird. Könnte allerdings noch etwas dauern.
      LG, Felix

      Antworten
    • Marcel am 4. März 2017 15:16

      Vielen Dank für Deine schnelle Antwort.
      Das heißt ein Lego Mindstrome Roboter von ca 20 cm Breite könnte damit nicht gemessen werden?

      Liebe Grüße

      Antworten
      • Felix am 4. März 2017 15:25

        Nein, leider nicht. Du kannst allerdings mit diesem Tutorial dauerhaft den Abstand messen und somit auch erfahren, wenn etwas die Schranke durchfährt.

    • Marcel am 4. März 2017 15:37

      Also gibt es auch keine ’stärkeren‘ Infrarotsender mit denen es realisierbar wäre?

      Antworten
      • Marcel am 15. März 2017 18:31

        Guten Abend,

        ich habe jetzt gerade mal die Schaltung so nachgebaut und das Skript in Python 2.x auf meinem Raspberry Pi zero gespeichert. Wenn ich das Modul dann laufen lasse kommt sofort in blau der Schriftzug „Timeout“ und in einem Fenster das aufgeht steht: „The program is still running! Do you want to kill it?“. Kannst Du mir sagen, wo der Fehler liegt?
        Liebe Grüße

  60. Marcel vN am 3. März 2017 7:16

    Hallo, ich möchte Ihren Aufbau für ein Schulprojekt benutzen. Nun habe ich die Frage, wie weit der Sender und Empfänger der Lichtschranke auseinandersitzen dürfen. Da wir mit einem Lego-Mindstorme arbeiten müssten die Abstände deutlich größer sein, als in Ihrem Aufbau.

    Liebe Grüße

    Antworten
    • Felix am 3. März 2017 11:24

      Hallo Marcel,
      der Abstand sollte nicht so groß sein (wenige cm). Es ist ein Tutorial geplant, in dem eine Lichtschranke per Laser gebaut wird. Könnte allerdings noch etwas dauern.
      LG, Felix

      Antworten
    • Marcel am 4. März 2017 15:16

      Vielen Dank für Deine schnelle Antwort.
      Das heißt ein Lego Mindstrome Roboter von ca 20 cm Breite könnte damit nicht gemessen werden?

      Liebe Grüße

      Antworten
      • Felix am 4. März 2017 15:25

        Nein, leider nicht. Du kannst allerdings mit diesem Tutorial dauerhaft den Abstand messen und somit auch erfahren, wenn etwas die Schranke durchfährt.

    • Marcel am 4. März 2017 15:37

      Also gibt es auch keine ’stärkeren‘ Infrarotsender mit denen es realisierbar wäre?

      Antworten
      • Marcel am 15. März 2017 18:31

        Guten Abend,

        ich habe jetzt gerade mal die Schaltung so nachgebaut und das Skript in Python 2.x auf meinem Raspberry Pi zero gespeichert. Wenn ich das Modul dann laufen lasse kommt sofort in blau der Schriftzug „Timeout“ und in einem Fenster das aufgeht steht: „The program is still running! Do you want to kill it?“. Kannst Du mir sagen, wo der Fehler liegt?
        Liebe Grüße

  61. Roko am 20. März 2017 21:03

    Hallo,

    ich habe mir diese Lichschranke gekauft:

    http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=172344546765&ssPageName=ADME:X:DERP:DE:1123

    Folgendes, ich habe eine Holzplatte mit einem Loch (Breite von Pfandflaschen), darunter befindet sich ein ganz normaler großer Sack, in dem die Flaschen reinfallen sollen. Nun habe ich mir überlegt in diese Holzplatte die Lichtschranke zu integrieren, um somit die Anzahl der hineingeworfenen Flaschen zu zählen. Bei genau 40 Pfandflaschen, sollte der Pi mir eine kurze Benachrichtung per Mail schicken, um 10 Euro an Pfand abzugeben 🙂 Optimal wäre noch eine 7- Segment Anzeige, um die aktuelle Anzahl an Flaschen ablesen zu können.

    Wie wäre ein Beispiel Skript für so ein Vorhaben? Z.b. mit Python
    Es spielt keine Rolle aus welchem Material die Pfandflaschen bestehen, da ich es privat verwenden möchte und auf den Pfandwert achte
    Wie sieht es mit der Reflexion von Plastik aus?

    Liebe Grüße und Danke im Vorraus

    Roko

    Antworten
  62. Roko am 20. März 2017 21:03

    Hallo,

    ich habe mir diese Lichschranke gekauft:

    http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&item=172344546765&ssPageName=ADME:X:DERP:DE:1123

    Folgendes, ich habe eine Holzplatte mit einem Loch (Breite von Pfandflaschen), darunter befindet sich ein ganz normaler großer Sack, in dem die Flaschen reinfallen sollen. Nun habe ich mir überlegt in diese Holzplatte die Lichtschranke zu integrieren, um somit die Anzahl der hineingeworfenen Flaschen zu zählen. Bei genau 40 Pfandflaschen, sollte der Pi mir eine kurze Benachrichtung per Mail schicken, um 10 Euro an Pfand abzugeben 🙂 Optimal wäre noch eine 7- Segment Anzeige, um die aktuelle Anzahl an Flaschen ablesen zu können.

    Wie wäre ein Beispiel Skript für so ein Vorhaben? Z.b. mit Python
    Es spielt keine Rolle aus welchem Material die Pfandflaschen bestehen, da ich es privat verwenden möchte und auf den Pfandwert achte
    Wie sieht es mit der Reflexion von Plastik aus?

    Liebe Grüße und Danke im Vorraus

    Roko

    Antworten
  63. Jörg am 1. Mai 2017 19:04

    Hallo,
    ich hab die LS nachgebaut, hat auch auf Anhieb geklappt -also eine super Anleitung.
    Nur dachte ich, ich könnte damit eine Strecke von ca 15cm überwachen (Abstand Sender-Empfänger)
    klappt aber nicht, wie ich dann später gelesen habe. Was könnte ich jetzt machen??????
    LG Jörg

    Antworten
  64. Jörg am 1. Mai 2017 19:04

    Hallo,
    ich hab die LS nachgebaut, hat auch auf Anhieb geklappt -also eine super Anleitung.
    Nur dachte ich, ich könnte damit eine Strecke von ca 15cm überwachen (Abstand Sender-Empfänger)
    klappt aber nicht, wie ich dann später gelesen habe. Was könnte ich jetzt machen??????
    LG Jörg

    Antworten
  65. Harry am 18. Juni 2017 18:31

    Hallo!
    Könnte ich die Schaltung benutzen, um die Geschwindigkeit eines RC Autos zu messen? Man könnte statt einer vorgegebenen Strecke von 10cm einen Punkt auf dem Reifen erfassen und so die aktuelle Geschwindigkeit ausrechnen lassen. Oder geht das einfacher?

    Antworten
  66. Harry am 18. Juni 2017 18:31

    Hallo!
    Könnte ich die Schaltung benutzen, um die Geschwindigkeit eines RC Autos zu messen? Man könnte statt einer vorgegebenen Strecke von 10cm einen Punkt auf dem Reifen erfassen und so die aktuelle Geschwindigkeit ausrechnen lassen. Oder geht das einfacher?

    Antworten
  67. Bernd am 22. Juni 2017 20:52

    Vielen Dank für die klasse Erläuterungen! Als Anfänger in Sachen Pi habe ich mich mal an dieses Projekt rangetraut, weil ich die Geschwindigkeit von HotWheels Autos auf einer typischen HotWheels Bahn messen wollte. Hat auch schon mal alles auf Anhieb geklappt.
    Jetzt will ich die Messwerte nur nicht mehr auf dem Monitor anzeigen, sondern auf einem kleinem OLED Display. Das wird dann der nächste Meilenstein für mich. Mal sehen, wie weit ich damit komme. Aber an dieser Stelle nochmal Danke für die vielen nützlichen Infos auf dieser Seite.

    Antworten
  68. Bernd am 22. Juni 2017 20:52

    Vielen Dank für die klasse Erläuterungen! Als Anfänger in Sachen Pi habe ich mich mal an dieses Projekt rangetraut, weil ich die Geschwindigkeit von HotWheels Autos auf einer typischen HotWheels Bahn messen wollte. Hat auch schon mal alles auf Anhieb geklappt.
    Jetzt will ich die Messwerte nur nicht mehr auf dem Monitor anzeigen, sondern auf einem kleinem OLED Display. Das wird dann der nächste Meilenstein für mich. Mal sehen, wie weit ich damit komme. Aber an dieser Stelle nochmal Danke für die vielen nützlichen Infos auf dieser Seite.

    Antworten
  69. Frank am 17. Juli 2017 16:39

    Hallo Felix,
    zunächst einmal ein großes Lob hierfür Deine Projektseite.
    Dazu habe ich folgende Frage:
    Wie ließe sich das Projekt dahin gehend abwandeln, dass anstatt die Geschwindigkeit nur Unterbrechungen in der Schranke/Lichtstrahl registriert bzw. gezählt werden.
    Also wie ein elektronisches Zählwerk?

    Antworten
    • Felix am 18. Juli 2017 12:29

      Du könntest nur eine Lichtschranke nutzen einen GPIO Trigger setzen. Schau dir dazu auch dieses Tutorial an: Raspberry Pi Laser Lichtschranke für weite Distanzen

      Antworten
  70. Frank am 17. Juli 2017 16:39

    Hallo Felix,
    zunächst einmal ein großes Lob hierfür Deine Projektseite.
    Dazu habe ich folgende Frage:
    Wie ließe sich das Projekt dahin gehend abwandeln, dass anstatt die Geschwindigkeit nur Unterbrechungen in der Schranke/Lichtstrahl registriert bzw. gezählt werden.
    Also wie ein elektronisches Zählwerk?

    Antworten
    • Felix am 18. Juli 2017 12:29

      Du könntest nur eine Lichtschranke nutzen einen GPIO Trigger setzen. Schau dir dazu auch dieses Tutorial an: Raspberry Pi Laser Lichtschranke für weite Distanzen

      Antworten
  71. Mario am 30. Juli 2017 19:56

    Hallo hätte da ein paar Fragen zur Geschwindigkeitsmessung. Den raspberry habe ich mir schon zugelegt. Aber bei der Lichtschranke hätte ich gerne eine Methode wo auf der einen Seite die Diode und auf der anderen Seite eine Art Katzenauge ist. Bei der Entfernung von Diode zum Katzenauge müsste der Abstand wenigsten 1,60 cm betragen. Nun meine Frage: gibt es Dioden welche den Abstand mühelos überbrücken können und wenn ja, welche kann ich da kaufen. Ich glaube, das wenn es sowas gibt bestimmt auch der Schaltplan von oben noch anglichen werden müsste. Danke erst einmal für die Hilfe

    Antworten
  72. TimRoe am 12. Januar 2018 14:37

    Hallo Felix,

    leider klappt das Ganze bei mir nicht so wie es soll.
    Wenn ich den Code starten möchte bekomme ich immer nur die Meldung „Timeout“.
    Kannst du mir vielleicht helfen.
    Danke im voraus.

    Timo

    Antworten
  73. Patrick Amrhein am 20. Oktober 2020 14:47

    Hallo Felix! Vielen Dank für deine digitale Hilfe. Deine komplette Website hat mir schon bei so manchem Projekt geholfen 😀 Ich hätte nun eine Frage zur Geschwindigkeitsmessung:
    Wie kann ich die Lichtschranke anpassen, dass wenn diese von links nach rechts durchfahren wird, die rechte LED leuchtet und wenn sie von rechts nach links durchfahren wird, die linke LED leuchtet?
    Vielen Dank, Gruß Patrick

    Antworten
    • Felix am 20. Oktober 2020 20:27

      Du kannst z.B. bei jeder Unterbrechung einer Lichtschranke dir den Timestamp merken und dann schauen, welcher kleiner ist. Wenn die andere Lichtschranke nach einer Sekunde nicht unterbrochen wurde, werden beide Werte zurückgesetzt (und falls beide durchbrochen wurden).

      Antworten
  74. Kurt Mühlemann am 7. November 2020 16:35

    Lieber Felix
    Ich bin spät auf Deine Seite gestossen und empfinde sie aber als sehr lehrreich. Herzliche Gratulation dazu.
    Bei der Lichtschranke habe ich doch ein paar Schwierigkeiten gehabt, weil ich nicht genau wusste, was mir die Chinesen in den Briefumschlaf mit je 5 IR-Sendern und 5 IR-Empfängern getan hatten:
    (1) Was ist der Sender und was ist der Empfänger? Nun, mit der Kamera des Smartphones kann man den IR-Sender leuchten sehen.
    (2) Was ist im Empfänger genau darin? Ist es ein Fototransistor, der durchschaltet, wenn seine Basis Licht empfängt oder ist es eine Diode. Nun es stellte sich heraus, dass es eine Fotodiode ist.

    Die Fotodiode soll in Sperrrichtung gepolt sein, d.h. die Anode soll an VSS und die Kathode über den 10kOhm-Widerstand an VCC verbunden sein. Wenn dann Licht auf die Diode fällt, leitet sie. Die Spannung an der roten LED wird auf VSS gezogen, und die rote LED verlöscht.

    Das ist meiner Meinung nach in Deinem Schema falsch dargestellt: Die Anode statt der Kathode der IR-Empfängerdiode sollte mit VSS verbunden sein.

    Antworten

Hinterlasse einen Kommentar Antwort abbrechen

Raspberry Pi: eQ-3 Thermostat mit OpenHAB im Smart Home nutzen

Mediencenter Raspbmc als SmartTV mit dem Raspberry Pi

MLX90614 – Kontaktlos mit dem Raspberry Pi Temperaturen messen

Pong auf MAX7219 Matrizen spielen (mit Joystick) – Raspberry Pi

Nextcloud Anleitung: Eigene Raspberry Pi Cloud einrichten und konfigurieren

ESP8266 Wetterstation Außenposten für den Raspberry Pi

Blog abonnieren

Abboniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!

Tutorials for Raspberry Pi
Facebook Twitter YouTube
  • Kontakt & Impressum
  • Unterstützen
  • Datenschutz

Tippe den Suchbegriff oben ein und drücke Enter, um danach zu suchen. Drücke Esc, um abzubrechen.