Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5...
Transcript of Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5...
![Page 1: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/1.jpg)
Raspberry Pi GPIO
Štěpán Bechynský@stepanb
![Page 2: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/2.jpg)
General-purpose input/output
● Obecné vstupně/výstupní rozhraní● Hodnoty 0/1, které odpovídají napětí podle
použité logiky● Jednotlivé konektory (pins) mohou mít speciální
funkci
![Page 3: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/3.jpg)
3,3 V
![Page 4: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/4.jpg)
Speciální funkce
● Digital● I2C
– Více sběrnic
– Vestavěný pull-up rezistor 1k8
● SPI– Dvakrát CE
– Další je třeba řešit manuálně
● PWM– Jeden HW PWM
● UART
![Page 5: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/5.jpg)
Základní GPIO (původní desky)
3.3 V 1 2 5 V
GPIO 2 i2C SDA 3 4 5 V
GPIO 3 i2C SCL 5 6 GND
GPIO 4 7 8 UART Tx
GND 9 10 UART Rx
GPIO 17 11 12 PWM GPIO 18
GPIO 27 13 14 GND
GPIO 22 15 16 GPIO 23
3.3 V 17 18 GPIO 24
GPIO 10 SPI MOSI 19 20 GND
GPIO 9 SPI MISO 21 22 GPIO 25
GPIO 11 SPI SCLK 23 24 SPI CE0 GPIO 8
GND 25 26 SPI CE1 GPIO 7
![Page 6: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/6.jpg)
Rozšíření GPIO (+ desky)
HAT ID EEPROM SDA 27 28 HAT ID EEPROM SCL
GPIO 5 29 30 GND
GPIO 6 31 32 GPIO 23
GPIO 13 33 34 GND
GPIO 19 35 36 GPIO 16
GPIO 26 37 38 GPIO 20
GND 39 40 GPIO 21
![Page 7: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/7.jpg)
DEMO – interaktivní rozložení pinů
![Page 8: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/8.jpg)
Textová konzole na UART
● Výchozí nastavení● Pin 8 (Tx) a 10 (Rx)● Lze vypnout pomocí nástroje raspi-config● Pozor na napětí!
![Page 9: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/9.jpg)
DEMO – textová konzole na UART
![Page 10: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/10.jpg)
Blikání LED – HW Hello World!
● Připojte LED a rezistor na GPIO pin● Nastavte GPIO pin na výstup● Zapisujte 0/1
![Page 11: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/11.jpg)
DEMO – Hellow World!
![Page 12: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/12.jpg)
Základní konfigurace
● Systém– GPIO funguje bez nastavování
– I2C, SPI nebo One Wire● Device Tree ● Moduly jádra
● C, bash – knihovna WiringPi● Python – balíček python-smbus, knihovna spidev● Ruby – balíček ruby-dev a gem wiringpi
![Page 13: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/13.jpg)
/etc/modules
# /etc/modules: kernel modules to load at boot time.
sndbcm2835
# SPI devices
spidev
# I2C devices
i2cdev
# 1Wire devices
w1gpio
# 1Wire thermometer devices
w1therm
![Page 14: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/14.jpg)
DEMO – I2C
![Page 15: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/15.jpg)
![Page 16: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/16.jpg)
DEMO – teploměr DS18B20
![Page 17: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/17.jpg)
Omezení
● 3,3 V● Omezený proud● Chybí ADC● Chybí hodiny reálného času● Jedno hardwarowé PWM
![Page 18: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/18.jpg)
3,3 V
● Používejte vhodné periférie– Pozor na periférie pro Arduino
● Převodníky logických úrovní
![Page 19: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/19.jpg)
Omezený proud
● Používejte samostatné napájení pro periférie● Tranzistorový spínač nebo něco podobného
Autor: Andreas B Mundt, CC A-SA
![Page 20: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/20.jpg)
PWM
● Externí moduly● Softwarová simulace
– DMA
– Python: knihovna RPIO.PWM
![Page 21: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/21.jpg)
ADC, hodiny reálného času
● Externí modul– Různí dodavatelé
– DIY
● Typicky komunikují pomocí sběrnice I2C
![Page 22: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/22.jpg)
PICAXE
● Mikrokontrolér postavený na PIC● Velmi levné● Programovací jazyk BASIC● Není třeba specializovaný programátor
– Sériový port, 2x rezistor● Řada X2 podporuje režim I2C Slave
![Page 23: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/23.jpg)
DEMO – PICAXE
![Page 24: Raspberry Pi GPIO · raspberry pi gpio Štěpán bechynský ... 3.3 v 1 2 5 v gpio 2 i2c sda 3 4 5 v gpio 3 i2c scl 5 6 gnd gpio 4 7 8 uart tx gnd 9 10 uart rx ... 9 spi miso 21 22](https://reader030.fdocuments.net/reader030/viewer/2022040112/5e75800a534b4a5d76672548/html5/thumbnails/24.jpg)
Zdroje
● http://elinux.org/RPi_Low-level_peripherals ● http://pi.gadgetoid.com/pinout/pin3_gpio0 ● http://wiringpi.com ● http://www.adafruit.com ● http://www.hobbyrobot.cz ● http://www.picaxe.com