Stap 9: drukknoppen
Drukknoppen maken de geigerteller veel gemakkelijker te gebruiken.
Drukknoppen
Voordat u de PiTFT installeert, soldeer op vier drukknoppen. #18 zal worden gebruikt voor Power On en Off. Er is niet nodig om uit te voeren van draden op de GPIO pinnen, omdat de PiTFT van bestuur de verbindingen maakt.
Op de Raspberry Pi 2 raak de pinnen voor de twee drukknoppen (#23 en #22) via een Ethernet-aansluiting de metalen behuizing van de aansluiting. Ik een klein stukje plastic uit één van de verschuiving of schroef pakketten geknipt en het tussen de ethernet-aansluiting en de pinnen gleed en vervolgens geplakt het in plaats.
#27 en #22 worden niet gebruikt, maar in de toekomst kunnen worden gebruikt.
Power-knop
Normaal gesproken, zwenking u vandoor uw Pi met:
$ sudo shutdown -h now
De kernel gebruikt in dit instructable kan elke GPIO te zijn van een uit-knop (wisselknop in- en uitschakelen).
Open een terminal venster en inloggen in geigerteller
$ ssh pi $ sudo nano /etc/modules
Controleer of de volgende regel in het bestand is, zo niet toe te voegen
rpi_power_switch
Sla het bestand
CTRL-o ENTER CTRL-x
Bewerk nu het config-bestand
$ sudo nano /etc/modprobe.d/adafruit.conf
en voeg de regel
Opties options rpi_power_switch gpio_pin=18 mode=0
Sla het bestand
CTRL-o ENTER CTRL-x
De power-knop om actief te maken
$ sudo reboot
Toets Achtergrondverlichting
De achtergrondverlichting van het display trekt 75mA. Om de batterijstroom te besparen, kunt u uitschakelen van de achtergrondverlichting. Open een terminal venster en inloggen in geigerteller
$ ssh pi $ sudo nano buttons.py
508 of 252, afhankelijk van de versie gebruiken. De onderstaande code is aangepast van de website van de Gemiddelde Man .
GPIO18 konden worden toegevoegd aan het onderstaande script. #18 zal afsluiten de Raspberry Pi, maar zal niet zwenking op weerom voort. De kernel oproep boven is hiervoor nodig.
Opmerking: kopiëren en plakken kunnen problemen veroorzaken met hoe groter dan '-teken, die is veranderd in "& gt;" zonder spaties. En dubbele aanhalingstekens kunnen veranderen tot cursieve koersen.
#!/usr/bin/python import RPi.GPIO as GPIO import time import os # Set GPIO mode 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) # Set up backlight GPIO os.system("sudo sh -c 'echo 508 > /sys/class/gpio/export'") # Give the system a quick break time.sleep(0.5) # Set the intitial counter to zero counter = 0 # var for the 'while' statement to keep it running var = 1 # Main program while var == 1: if (GPIO.input(23) == False): # Backlight control if (counter == 0): os.system("sudo sh -c 'echo 'out' > /sys/class/gpio/gpio508/direction'") counter = 1 print("counter now 1") time.sleep(0.5) elif (counter == 1) or (counter == 3): os.system("sudo sh -c 'echo '1' > /sys/class/gpio/gpio508/value'") counter = 2 print("counter now 2") time.sleep(0.5) elif (counter == 2): os.system("sudo sh -c 'echo '0' > /sys/class/gpio/gpio508/value'") counter = 3 print("counter now 3") time.sleep(0.5) if (GPIO.input(22) == False): os.system("/usr/bin/perl /home/pi/geiger.pl") time.sleep(0.5) if (GPIO.input(27) == False): print("27 working") time.sleep(0.5) GPIO.cleanup()
Sla het bestand
CTRL-o ENTER CTRL-x
Het script start bij het opstarten door het toevoegen van een crontab
$ sudo crontab -e
en het knopscript en de geigerteller collectie script toevoegen
sudo /usr/bin/python3 /home/pi/buttons.py >/dev/null 2>&1 & /usr/bin/python3 /home/pi/geiger.py >/dev/null 2>&1
Sla het bestand
CTRL-o ENTER CTRL-x