Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-13 06:58
Saker vi kommer att behöva:
- Raspberry Pi med Raspbian
- Touch -sensor från adafruit
- Strömkälla (batteri/likström)
- Ethernet eller WiFi för Raspberry Pi
- En annan dator
Steg 1: Konfigurera vår Raspberry Pi -maskinvara
Anslut först vår beröringssensor till GPIO -stiften på vår Raspberry Pi. Använd några flexibla kablar
Identifiera 3 stift på vår sensor:
- GND - anslut till jordstift
- VCC - ansluten till 5V stift
- SIG - anslut till en signalstift
Vi kommer att använda 5V, mark och GPIO 18 på vår hallon pi i detta exempel.
Steg 2: Konfigurera vår miljö på Raspberry Pi
Skaffa IP -adressen till vår hallon Pi.
Anslut sedan till vår hallon pi med ssh:
ssh användarnamn@ipaddress
skriv sedan in vårt lösenord.
När vi är inne installerar du apache2 som vår webbserver genom att skriva in:
sudo apt-get install apache2
Steg 3: Utforma en bit Python -kod för att läsa inmatning från vår sensor
Design
I vår exempelkod använder vi ett par olika kommandon.
För att indikera att vi är nöjda gör vi två långa tryckningar
För att indikera att vi är ledsna gör vi en kort tryckning och en lång tryckning
För att indikera att vi är förvirrade gör vi en kort tryckning, väntar ett slag och sedan två korta tryckningar. För att indikera att vi är nöjda gör vi ett kort tryck, ett kort mellanrum och ett långt tryck
För att indikera att vi är uttråkade har vi tre korta kranar
Översätta dessa till strängkommandon: (t för kort tryckning, T för lång tryckning, g för kort gap, G för långt gap)
glad: TgT
ledsen: tgT
förvirrad: tGtgt
uttråkad: tgtgt
Då får vi vår kod att mata ut vårt nuvarande humör till en webbläsarvänlig HTML-fil för servering.
Koda
importera RPi. GPIO som GPIOimporttid
GPIO.cleanup ()
GPIO.setmode (GPIO. BCM) GPIO.setup (18, GPIO. IN)
touch_count = 0
touch_state = 0 touch_duration = 0 gap_duration = 0 current_cmd = ""
def cmd ():
global current_cmd if current_cmd [-3:] == "TgT": current_cmd = "" mood ("Sad") om current_cmd [-3:] == "tgT": current_cmd = "" humör ("Happy") om current_cmd [-5:] == "tGtgt": current_cmd = "" mood ("Confused") if current_cmd [-5:] == "tgtgt": current_cmd = "" mood ("Bored")
def humör (humör):
file = open ("index.html", "w") html = """
Bärbar stämningsreporter
Hej, mitt senaste humör är
{}
"""
file.write (html.format (humör))
medan (1):
time.sleep (0.001) if (GPIO.input (18)): if touch_state == 0: if gap_duration> 2000: gap_duration = 0 if gap_duration> 200: current_cmd = current_cmd + "G" else: current_cmd = current_cmd + "g "gap_duration = 0 touch_state = 1 touch_count = touch_count + 1 if touch_state == 1: touch_duration = touch_duration + 1 else: if gap_duration 200: current_cmd = current_cmd +" T "else: current_cmd = current_cmd +" t "touch_duration = 0 cmd ()
GPIO.cleanup ()
Inställning för att fungera med vår webbserver
skriv eller ladda upp ovanstående pythonfil till vår webbserverplats, som är standard till/var/www/html
cd/var/www/html
sudo nano touch.py
Skriv sedan in koden ovan
Steg 4: Starta vår server för att se den i aktion
cd/var/www/html
sudo python touch.py
Skriv sedan in IP -adressen för vår Raspberry Pi, då ska vi se vår humörreporter jobba!
Prova olika typer av pekskommandon, så ska sidan uppdateras automatiskt för att återspegla det!