Bärbar Raspberry Pi geigermätare med Display (9 / 12 steg)
Steg 9: tryckknappar
Tryckknappar gör geigermätare mycket enklare att använda.
Tryck-knappar
Innan du installerar PiTFT, löda på fyra tryckknappar. #18 kommer att användas för Power On och Off. Det finns inget behov att köra ledningar till GPIO stift, eftersom PiTFT styrelsen gör anslutningarna.
På Raspberry Pi 2 röra stiften för de två tryck-knapparna (#23 och #22) över Ethernet-kontakten metallhölje av jack. Jag klippt en liten plastbit från förskjutning eller skruv-paket och gled det mellan ethernet-kontakten och stiften och sedan tejpade den på plats.
#27 och #22 används inte, men kan användas i framtiden.
Power-knappen
Normalt, stänga du av din Pi med:
$ sudo shutdown -h nu
Kärnan i detta instructable tillåter någon GPIO vara en strömbrytare (av / på och av).
Öppna ett terminalfönster och inloggning till geigermätare
$ ssh pi
$ sudo nano/etc/modules
Kontrollera om följande rad i filen, om inte lägga till den
rpi_power_switch
Spara filen
CTRL-o retur CTRL-x
Redigera config-filen
$ sudo nano /etc/modprobe.d/adafruit.conf
och Lägg till rad
alternativ rpi_power_switch gpio_pin = 18 mode = 0
Spara filen
CTRL-o retur CTRL-x
Så att strömbrytaren aktiv
$ sudo omstart
Bakgrundsbelysning knappen
Bakgrundsljuset på displayen ritar 75mA. För att spara på batteriet, kan du stänga av bakgrundsbelysningen. Öppna ett terminalfönster och inloggning till geigermätare
$ ssh pi
$ sudo nano buttons.py
Använda 508 eller 252, beroende på version. Koden nedan är anpassad från den Genomsnittlige mannen webbplatsen.
GPIO18 kunde läggas till skriptet nedan. #18 kommer att stänga Raspberry Pi, men kommer inte att slå på den. För detta behövs kernel samtalet ovan.
Obs: kopiera och klistra in kan orsaka problem med desto större än-symbol, som ändras till "& gt;" utan mellanslag. Och dubbla citattecken kan ändra till kursiverade citat.
#! / usr/bin/python
importera RPi.GPIO som GPIO
Importera tid
importera os
# Set GPIO läge
GPIO.setmode (GPIO. BCM)
# Setup GPIO
GPIO.setup (23, GPIO. IN, pull_up_down = GPIO. PUD_UP)
GPIO.setup (22, GPIO. IN, pull_up_down = GPIO. PUD_UP)
GPIO.setup (27, GPIO. IN, pull_up_down = GPIO. PUD_UP)
# GPIO.setup(18, GPIO. IN, pull_up_down = GPIO. PUD_UP)
# Ställ in bakgrundsbelysningen GPIO
OS.system ("sudo sh - c" echo 508 > /sys/class/gpio/export'")
# Ge systemet en snabb paus
Time.Sleep(0.5)
# Ange första noll
räknare = 0
# var för "medan" uttalande att hålla det igång
var = 1
# Huvudprogrammet
samtidigt var == 1:
om (GPIO.input(23) == False): # bakgrundsbelysning kontroll
om (counter == 0):
OS.system ("sudo sh - c ' echo 'out' > /sys/class/gpio/gpio508/direction'")
räknare = 1
skriva ut ("counter nu 1")
Time.Sleep(0.5)
Elif (counter == 1) eller (counter == 3):
OS.system ("sudo sh - c"echo ' 1' > /sys/class/gpio/gpio508/value'")
räknare = 2
skriva ut ("counter nu 2")
Time.Sleep(0.5)
Elif (counter == 2):
OS.system ("sudo sh - c"echo "0" > /sys/class/gpio/gpio508/value "")
räknare = 3
skriva ut ("counter nu 3")
Time.Sleep(0.5)
om (GPIO.input(22) == False):
OS.system ("/ usr/bin/perl /home/pi/geiger.pl")
Time.Sleep(0.5)
om (GPIO.input(27) == False):
Skriv ut ("27 arbetar")
Time.Sleep(0.5)
GPIO.cleanup()
Spara filen
CTRL-o retur CTRL-x
Starta skriptet vid uppstart genom att lägga till en crontab
$ sudo crontab -e
och lägga till den knappen och geigermätare samling tecken
sudo /usr/bin/python3 /home/pi/buttons.py >/dev/null 2 > & 1 &
/usr/bin/python3 /home/pi/geiger.py >/dev/null 2 > & 1
Spara filen
CTRL-o retur CTRL-x