Benutzer:GpsKarsten/RPI Door Opener: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
(added Python code)
K (Hardware)
 
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
nutzen des Raspberry Pis zum betätigen des Türsummers
 +
= Hardware =
 +
== Schaltplan ==
 +
[[Datei:Schaltplan RPI Door-Opener.svg|thumb|als KiCad Export]]
 +
<code>
 +
 +
                              PR26MF2xNSZ
 +
                              +---------+
 +
    (+5V)                      |        |
 +
    |                        -+1  IC1  8+-----o
 +
    |    +------+            |        |
 +
    +----|  R1  |--+-----i1---+2        |
 +
          +------+  |  D1      |        |
 +
                    +-|<|--+---+3      6+-----o
 +
                          |  |        |
 +
                          |  -+4      5+-
 +
                          |  |        |
 +
            +------+      |  +---------+
 +
      o-----|  R2  |------K
 +
            +------+      |
 +
                          |
 +
                          ---
 +
</code>
 +
bei interesse an den KiCad Dateien bei [[Benutzer:GpsKarsten|mir]] melden
 
== Werte ==
 
== Werte ==
 
* zu Schaltende Leitung: 15 V Wechselspannung; Strom < 1A
 
* zu Schaltende Leitung: 15 V Wechselspannung; Strom < 1A
Zeile 9: Zeile 33:
 
* R2 = zwischen 1k und 5.2k = hier 3,86k Ohm => ib = TODO
 
* R2 = zwischen 1k und 5.2k = hier 3,86k Ohm => ib = TODO
  
== Bestellte Teile ==
+
== Teile ==
* ([http://www.reichelt.de/Solid-State-Relais/S202-S02/3//index.html?ACTION=3&GROUPID=3298&ARTICLE=15439&SHOW=1&START=0&OFFSET=500& Solid-state-Relais 8A])
 
 
* [http://www.reichelt.de/Solid-State-Relais/S26M-D02/3//index.html?ACTION=3&GROUPID=3298&ARTICLE=15447&SHOW=1&START=0&OFFSET=500& Solid-state-Relais 0,6A]
 
* [http://www.reichelt.de/Solid-State-Relais/S26M-D02/3//index.html?ACTION=3&GROUPID=3298&ARTICLE=15447&SHOW=1&START=0&OFFSET=500& Solid-state-Relais 0,6A]
== Teile aus der Kramkiste ==
 
 
* eine Glas-Diode
 
* eine Glas-Diode
 
* 150 Ohm
 
* 150 Ohm
Zeile 42: Zeile 64:
 
GPIO.cleanup()
 
GPIO.cleanup()
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
== C ==
 +
* nutzen der [http://wiringpi.com/download-and-install/ wiringPi lib]
 +
* [https://projects.drogon.net/raspberry-pi/wiringpi/pins/ pinbelegung für die lib]
 +
 +
<syntaxhighlight lang="c">
 +
#include <stdio.h>
 +
#include <wiringPi.h>
 +
//gpio 25
 +
#define DOOR 6
 +
 +
int main (void) {
 +
    printf ("Raspberry Pi - Door Opener\n");
 +
 +
    if (wiringPiSetup () == -1)
 +
        return 1;
 +
 +
    pinMode (DOOR, OUTPUT);
 +
 +
   
 +
    digitalWrite (DOOR, HIGH);
 +
    // On
 +
    printf ("on\n");
 +
    delay (3000) ; //in ms
 +
 +
    digitalWrite (DOOR, LOW);
 +
    // Off
 +
    printf ("off\n");
 +
 +
    return 0 ;
 +
}
 +
</syntaxhighlight>
 +
 +
setzten des [http://en.wikipedia.org/wiki/Sticky_bit Sticky Bits] um das Programm als normaler User ausführen zu können
 +
 +
sudo chmod +s program

Aktuelle Version vom 18. September 2013, 11:00 Uhr

nutzen des Raspberry Pis zum betätigen des Türsummers

Hardware

Schaltplan

als KiCad Export

                              PR26MF2xNSZ
                              +---------+
   (+5V)                      |         |
    |                        -+1  IC1  8+-----o
    |    +------+             |         |
    +----|  R1  |--+-----i1---+2        |
         +------+  |  D1      |         |
                   +-|<|--+---+3       6+-----o
                          |   |         |
                          |  -+4       5+-
                          |   |         |
           +------+       |   +---------+
     o-----|  R2  |------K
           +------+       |
                          |
                         ---

bei interesse an den KiCad Dateien bei mir melden

Werte

  • zu Schaltende Leitung: 15 V Wechselspannung; Strom < 1A
  • verwendes Solid-State-Relais mit 0,6A Schaltstrom
    • HIGH: I ~ 22mA LOW: I < 0,1mA
    • U ~ 1,3V
  • i1 = 20-25mA
  • R1(5V) = (5V-1.6V)/i1 = hier 150 Ohm => i1 = 22mA
  • R2 = zwischen 1k und 5.2k = hier 3,86k Ohm => ib = TODO

Teile

Software

Python

  • Nachteil - läuft nur als root
#!/usr/bin/python
import RPi.GPIO as GPIO
import time

def initOpenDoor():
    GPIO.setmode(GPIO.BCM)
    GPIO.setup(25, GPIO.OUT)

def OpenDoor():
    GPIO.output(25, GPIO.HIGH)
    print("HIGH")
    time.sleep(3)
    GPIO.output(25, GPIO.LOW)
    print("low")

initOpenDoor()
OpenDoor()
GPIO.cleanup()

C

#include <stdio.h> 
#include <wiringPi.h> 
//gpio 25
#define DOOR 6 

int main (void) { 
    printf ("Raspberry Pi - Door Opener\n"); 

    if (wiringPiSetup () == -1)
        return 1;

    pinMode (DOOR, OUTPUT); 

     
    digitalWrite (DOOR, HIGH); 
    // On 
    printf ("on\n");
    delay (3000) ; //in ms

    digitalWrite (DOOR, LOW);
    // Off
    printf ("off\n");

    return 0 ; 
}

setzten des Sticky Bits um das Programm als normaler User ausführen zu können

sudo chmod +s program