GPIO Raspberry PI

Exported from Notepad++
Raspberry PI gpio screen apt-get update apt-get upgrade git clone git://git.drogon.net/wiringPi cd wiringPi git pull origin ./build gpio -v gpio readall +—–+—–+———+——+—+—Pi 3B–+—+——+———+—–+—–+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +—–+—–+———+——+—+—-++—-+—+——+———+—–+—–+ | | | 3.3v | | | 1 || 2 | | | 5v | | | | 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5v | | | | 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | | | 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 0 | IN | TxD | 15 | 14 | | | | 0v | | | 9 || 10 | 1 | IN | RxD | 16 | 15 | | 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 | | 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | | | 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 | | | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 | | 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | | | 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 | | 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 | | | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 | | 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 | | 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | | | 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 | | 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | | | 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 | | 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 | | | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 | +—–+—–+———+——+—+—-++—-+—+——+———+—–+—–+ | BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM | +—–+—–+———+——+—+—Pi 3B–+—+——+———+—–+—–+ ################################################## ################################################## pinout ,——————————–. | oooooooooooooooooooo J8 +==== | 1ooooooooooooooooooo | USB | +==== | Pi Model 3B V1.2 | | +—-+ +==== | |D| |SoC | | USB | |S| | | +==== | |I| +—-+ | | |C| +====== | |S| | Net | pwr |HDMI| |I||A| +====== `-| |——–| |—-|V|——-‘ Revision : a02082 SoC : BCM2837 RAM : 1024Mb Storage : MicroSD USB ports : 4 (excluding power) Ethernet ports : 1 Wi-fi : True Bluetooth : True Camera ports (CSI) : 1 Display ports (DSI): 1 J8: 3V3 (1) (2) 5V GPIO2 (3) (4) 5V GPIO3 (5) (6) GND GPIO4 (7) (8) GPIO14 GND (9) (10) GPIO15 GPIO17 (11) (12) GPIO18 GPIO27 (13) (14) GND GPIO22 (15) (16) GPIO23 3V3 (17) (18) GPIO24 GPIO10 (19) (20) GND GPIO9 (21) (22) GPIO25 GPIO11 (23) (24) GPIO8 GND (25) (26) GPIO7 GPIO0 (27) (28) GPIO1 GPIO5 (29) (30) GND GPIO6 (31) (32) GPIO12 GPIO13 (33) (34) GND GPIO19 (35) (36) GPIO16 GPIO26 (37) (38) GPIO20 GND (39) (40) GPIO21 For further information, please refer to https://pinout.xyz/ #### pinout +——————| |–| |——+ | ooooooooooooo P1 |C| |A| | | 1oooooooooooo +-+ +-+ | | 1ooo | | P5 oooo +—+ +==== | |SoC| | USB | |D| Pi Model +—+ +==== | |S| B V2.0 | | |I| |C|+====== | |S|| Net | |I|+====== =pwr |HDMI| | +—————-| |———-+ Revision : 000e SoC : BCM2835 RAM : 512Mb Storage : SD USB ports : 2 (excluding power) Ethernet ports : 1 Wi-fi : False Bluetooth : False Camera ports (CSI) : 1 Display ports (DSI): 1 P1: 3V3 (1) (2) 5V GPIO2 (3) (4) 5V GPIO3 (5) (6) GND GPIO4 (7) (8) GPIO14 GND (9) (10) GPIO15 GPIO17 (11) (12) GPIO18 GPIO27 (13) (14) GND GPIO22 (15) (16) GPIO23 3V3 (17) (18) GPIO24 GPIO10 (19) (20) GND GPIO9 (21) (22) GPIO25 GPIO11 (23) (24) GPIO8 GND (25) (26) GPIO7 P5: 5V (1) (2) 3V3 GPIO28 (3) (4) GPIO29 GPIO30 (5) (6) GPIO31 GND (7) (8) GND For further information, please refer to https://pinout.xyz/ ################################################## ################################################## #Test manueller test echo “17” > /sys/class/gpio/export echo “out” > /sys/class/gpio/gpio17/direction echo “1” > /sys/class/gpio/gpio17/value echo “17” > /sys/class/gpio/unexport # gpio Test gpio export 17 out gpio -g write 17 1 gpio -g read 17 gpio -g write 17 0 ################################################## #C++ test #http://raspberrypiguide.de/howtos/raspberry-pi-gpio-how-to/ vi gpio_write.cpp -> // WiringPi-Api einbinden #include <wiringPi.h> // C-Standardbibliothek einbinden #include <stdio.h> int main() { // Starte die WiringPi-Api (wichtig) if (wiringPiSetup() == -1) return 1; // Schalte GPIO 17 (=WiringPi Pin 0) auf Ausgang // Wichtig: Hier wird das WiringPi Layout verwendet (Tabelle oben) pinMode(0, OUTPUT); // Dauerschleife while(1) { // LED an digitalWrite(0, 1); // Warte 100 ms delay(100); // LED aus digitalWrite(0, 0); // Warte 100 ms delay(100); } } ++ gpio_write.cpp -o gpio_write -lwiringPi ./gpio_write ################################################## #Relais Schaltung PIN Belegung am Pi: gpio 26 gpio 27 gpio 28 gpio 29 Physical | V | Mode | Name | wPi | BCM | 32 | 0 | IN | GPIO.26 | 26 | 12 | 36 | 0 | IN | GPIO.27 | 27 | 16 | 38 | 0 | IN | GPIO.28 | 28 | 20 | 40 | 0 | IN | GPIO.29 | 29 | 21 | ### gpio export 12 out gpio export 16 out gpio export 20 out gpio export 21 out #LEDs am Relais leuchten heller und es macht klick. gpio -g write 12 1 gpio -g write 16 1 gpio -g write 20 1 gpio -g write 21 1 # gpio -g write 12 0 gpio -g write 16 0 gpio -g write 20 0 gpio -g write 21 0 ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ #4 Kanal Relais Steuerung #Info – https://www.4hf.de/banana-pi/raspberry-pi-relais-schalten-ueber-gpio-172.htm #Hardware 4-Wege Relais (Hong Wai Relais, schlechte Qualität) – Yizhet 5V 4 Kanal Relais Modul DC5V 230V Relais Optokoppler 4 Channel Relay Relais Raspberry Pi Relais Arduino für Arduino TTL Logik PIC DSP AVR ARM Relais Modul (4 Kanal) Rolladenmotor – 3T-MOTORS Rolladenmotor 10Nm, SW40, 25 kg Zugkraft, für 40 mm 8kant Rollladen-Wellen, Rolladenantrieb 3T35-10, Rohrmotor mit mechanischen Endabschaltern Pins – Aukru 40pcs x 20cm female-female jumper Kabel dupont wire Steckbrücken Drahtbrücken für Arduino Raspberry pi Breadboard (weiblichen zu weiblichen) Rolladenmotor Schaltung getestet mit (3T-Motors Typ: 3T35-10) Kabelanschluss: AUF Funktion am Rolladenmotor Am Rolladenmotor Auf(lauf) Kabelfarbe schwarz Am Relais Relaiseingang 2 (Mitte Power [L-Leiter]; Links schwarzes Kabel vom Rolladenmotor) Am Pi PIN: 32 GPIO Kanal: 12 Status AUS: Wert 1 #gpio -g write 12 1 Status AN: Wert 0 #gpio -g write 12 0 AB Funktion am Rolladenmotor Am Rolladen Ab(lauf) Kabelfarbe brau Am Relais Relaiseingang 4 (Mitte Power [L-Leiter]; Links braunes Kabel vom Rolladenmotor) Am Pi PIN: 38 GPIO Kanal: 20 Status AUS: Wert 0 #gpio -g write 20 1 Status AN: Wert 1 #gpio -g write 20 1 L-Leiter an den beiden Relaiseingängen wird Y mäßig verdoppelt. PE Leiter vom Rolladenmotor auf Schuko Stecker PE Eingang. Blaues Kabel auf N Leiter auf Schuko Stecker. ############## 0815 Stecker (mit Lampe drin) Kabelanschluss: L-Leiter (Power) von Schuko Dose, in Stecker Dose N-Leiter von Schuko Dose, an Relais Eingang 4, Mitte N-Leiter von Stecker Dose, an Relais Eingang 4, Links Am Pi PIN: 38 GPIO Kanal: 20 Status AUS: Wert 0 (Licht aus) Status AN: Wert 1 (Licht an) ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ #Tempertaur Messung #Hardware Pins – Aukru 40pcs x 20cm female-female jumper Kabel dupont wire Steckbrücken Drahtbrücken für Arduino Raspberry pi Breadboard (weiblichen zu weiblichen) Tempertur Messer – Digitaler Temperatursensor DS18B20 Modul Board für Arduino Raspberry Pi – DaoRier DS18B20 Digital Temperature Sensor Module Sensormodul für Arduino Raspberry Pi – Elviray Neue Ds18b20 Thermometer Temperatursensor Sondenmodul Für Arduino Raspberry Pi #Anleitung – http://baddotrobot.com/blog/2016/03/23/homebrew-temperature-logger/ – https://st-page.de/2018/01/20/tutorial-raspberry-pi-temperaturmessung-mit-ds18b20/ – https://www.iz8mbw.net/raspberrypi/1wire/ #Verkabelung pinout 3V3 (1) GPIO4 (7) GND (9) #Vorgehen. vi /boot/config.txt -> #Ans Ende hinzufügen. Je nachdem welche GPIO port genutzt wird. #parasitic Power dtoverlay=w1-gpio,gpiopin=4,pullup=on vi /etc/modules -> #Ans Ende hinzufügen. w1-therm rpi-update #Pi Firmware update. im screen. reboot cd /sys/bus/w1/devices/ ls -al insgesamt 0 drwxr-xr-x 2 root root 0 Jul 1 15:00 . drwxr-xr-x 4 root root 0 Jul 1 14:51 .. lrwxrwxrwx 1 root root 0 Jul 1 15:01 00-500000000000 -> ../../../devices/w1_bus_master2/00-500000000000 lrwxrwxrwx 1 root root 0 Jul 1 15:01 00-900000000000 -> ../../../devices/w1_bus_master2/00-900000000000 lrwxrwxrwx 1 root root 0 Jul 1 14:51 28-030597790d9b -> ../../../devices/w1_bus_master1/28-030597790d9b lrwxrwxrwx 1 root root 0 Jul 1 14:51 w1_bus_master1 -> ../../../devices/w1_bus_master1 lrwxrwxrwx 1 root root 0 Jul 1 14:51 w1_bus_master2 -> ../../../devices/w1_bus_master2 cat 28-030597790d9b/w1_slave 0e 02 55 05 7f a5 81 66 76 : crc=76 YES 0e 02 55 05 7f a5 81 66 76 t=32875 #Temp in Celius cat /sys/bus/w1/devices/28-030597790d9b/w1_slave | grep -i “t=” | awk -F “=” ‘{print $2}’ | xargs -I % echo “scale=3; % / 1000” | bc -l 32.875 ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ # 433 MHZ Steuerung (Heizkörperthermostatreglung) #Hardware Aukru 433 MHz Funk- Sende und Empfänger Modul Superregeneration Wireless Transmitter-Modul #Anleitung – https://tutorials-raspberrypi.de/raspberry-pi-funksteckdosen-433-mhz-steuern/ – https://forum-raspberrypi.de/forum/thread/32506-lampen-sprachsteuerung-via-google-now/ – https://tutorials-raspberrypi.de/raspberry-pis-ueber-433mhz-funk-kommunizieren-lassen/ Verkabelung am Sender (kleines quadratisches Bauteil) Am Sender Bausteil: Verkabelung am Empfänger (kleines, längliches Rechteck Bauteil) Am Empfenger Bauteil: git clone –recursive https://github.com/ninjablocks/433Utils.git cd 433Utils/RPi_utils make all Am Empfänger ./RFSniffer Am Sender ./codesend 1234 Mit dem “RFSniffer” kann man jede beliebige Sequenz mitscheiden. ## Eigenes Programm nano steuerung.cpp -> #include “”/root/temp/433Utils/rc-switch/RCSwitch.h” #include <stdlib.h> #include <stdio.h> int main(int argc, char *argv[]) { int PIN = 0; // siehe wiring Pi Belegung int codeSocketDon = 5510417; //Sende Sequenz Nummer int codeSocketDoff = 5510420; //Sende Sequenz Nummer if (wiringPiSetup() == -1) return 1; RCSwitch mySwitch = RCSwitch(); mySwitch.enableTransmit(PIN); if (atoi(argv[1]) == 1) { // hier kannst du deine eigenen Bedingungen setzen mySwitch.send(codeSocketDon, 24); } else { mySwitch.send(codeSocketDoff, 24); } return 0; } g++ -DRPI /root/temp/433Utils/rc-switch/RCSwitch.cpp steuerung.cpp -o steuerung -lwiringPi ./steuerung 1 ## ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ #Ultraschallsensor #Info – https://tutorials-raspberrypi.de/entfernung-messen-mit-ultraschallsensor-hc-sr04/ – https://tutorials-raspberrypi.de/ampelschaltung-mit-gpio-teil-1/ #Hardware HC-SR04 Modul #Verkabelung #Python installieren apt-get install python-dev wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.6.1.tar.gz tar -xzf RPi.GPIO-0.6.1.tar.gz cd RPi.GPIO-0.6.1 python setup.py install vi ultraschallsensor_entfernung.py -> #Bibliotheken einbinden import RPi.GPIO as GPIO import time #GPIO Modus (BOARD / BCM) GPIO.setmode(GPIO.BCM) #GPIO Pins zuweisen GPIO_TRIGGER = 18 GPIO_ECHO = 24 #Richtung der GPIO-Pins festlegen (IN / OUT) GPIO.setup(GPIO_TRIGGER, GPIO.OUT) GPIO.setup(GPIO_ECHO, GPIO.IN) def distanz(): # setze Trigger auf HIGH GPIO.output(GPIO_TRIGGER, True) # setze Trigger nach 0.01ms aus LOW time.sleep(0.00001) GPIO.output(GPIO_TRIGGER, False) StartZeit = time.time() StopZeit = time.time() # speichere Startzeit while GPIO.input(GPIO_ECHO) == 0: StartZeit = time.time() # speichere Ankunftszeit while GPIO.input(GPIO_ECHO) == 1: StopZeit = time.time() # Zeit Differenz zwischen Start und Ankunft TimeElapsed = StopZeit – StartZeit # mit der Schallgeschwindigkeit (34300 cm/s) multiplizieren # und durch 2 teilen, da hin und zurueck distanz = (TimeElapsed * 34300) / 2 return distanz if __name__ == ‘__main__’: try: while True: abstand = distanz() print (“Gemessene Entfernung = %.1f cm” % abstand) time.sleep(1) # Beim Abbruch durch STRG+C resetten except KeyboardInterrupt: print(“Messung vom User gestoppt”) GPIO.cleanup() python ultraschallsensor_entfernung.py (Einmal mit der Hand über den Sensor fahren) Gemessene Entfernung = 0.5 cm Gemessene Entfernung = 175.8 cm Gemessene Entfernung = 175.8 cm Gemessene Entfernung = 175.7 cm Gemessene Entfernung = 47.6 cm Gemessene Entfernung = 176.2 cm Gemessene Entfernung = 46.8 cm Gemessene Entfernung = 48.5 cm Gemessene Entfernung = 175.3 cm ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ #Drehgestell https://www.antratek.de/pan-tilt-bracket-kit-for-raspberry-pi-camera?gclid=EAIaIQobChMI85D1vaDs5AIVled3Ch2MMAD-EAQYAyABEgKtM_D_BwE ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ #Relais Gehäuse SainSmart 8 Kanal Relais Modul mit Acryl-Gehäuse Arduino Smart Intelligent Home https://www.amazon.de/SainSmart-Relais-Acryl-Geh%C3%A4use-Arduino-Intelligent/dp/B01NBN740U #Pi Gehäuse Quattro Case Raspberry Pi VESA & HDD Gehäuse Schwarz https://www.rasppishop.de/Quattro-Case-Raspberry-Pi-VESA-HDD-Gehaeuse-Schwarz ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ #Schalter erkennung #Info – https://howchoo.com/g/mwnlytk3zmm/how-to-add-a-power-button-to-your-raspberry-pi – https://raspberrypihq.com/use-a-push-button-with-raspberry-pi-gpio/ – https://www.makeuseof.com/tag/add-button-raspberry-pi-project/ – https://electropeak.com/learn/tutorial-raspberry-pi-gpio-programming-using-python-full-guide/ ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ #GPIO Erweiterung – http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_GPIO_C.html ############################################################################################################################################ ############################################################################################################################################ ############################################################################################################################################ ########################## #Fals Scripte mit mehreren GPIO Ports zusammenarbeiten sollen, empfiehlt es sich die die anderen GPIOs stumm zu schalten, um doppelt geschaltet (Servos) Motoren nicht in Kollision zu bringen. #Bsp. Rolladenmotor für AB und AUF. Während der AUF Phase ist die AB Phase gespeert (unexport) und umgekehrt. #!/bin/bash set -x echo “12” > /sys/class/gpio/unexport echo “16” > /sys/class/gpio/export gpio export 16 out gpio -g write 16 0; sleep 2; gpio -g write 16 1 echo “16” > /sys/class/gpio/unexport ########################## QUICK COMMANDS #Test Feld Ausgangs Status #Ausgangstellung/Boot (Rolladen aus) gpio export 12 out gpio export 16 out gpio export 20 out gpio export 21 out # gpio -g write 12 1 gpio -g write 16 1 gpio -g write 20 1 gpio -g write 21 1 # gpio -g write 12 0 gpio -g write 16 0 gpio -g write 20 0 gpio -g write 21 0 # #Rolladen AUF gpio -g write 12 0; sleep 2; gpio -g write 12 1 #Rolladen AB gpio -g write 16 0; sleep 2; gpio -g write 16 1 #LICHT AN/AUS gpio -g write 20 0; sleep 2; gpio -g write 20 1 ##########################

Post Revisions: