Benutzer:GpsKarsten/RPI Door Opener: Unterschied zwischen den Versionen
Aus Stratum 0
K (desc) |
K (→Software - c code) |
||
Zeile 48: | Zeile 48: | ||
* nutzen der [http://wiringpi.com/download-and-install/ wiringPi lib] | * nutzen der [http://wiringpi.com/download-and-install/ wiringPi lib] | ||
* [https://projects.drogon.net/raspberry-pi/wiringpi/pins/ pinbelegung für die 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> |
Version vom 7. September 2013, 12:32 Uhr
nutzen des Raspberry Pis zum betätigen des Türsummers
Inhaltsverzeichnis
Hardware
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
Bestellte Teile
Teile aus der Kramkiste
- eine Glas-Diode
- 150 Ohm
- 3,86 KOhm
- Bipolar Transistor BC546B
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
- nutzen der wiringPi lib
- 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>