Table des matières:
2025 Auteur: John Day | [email protected]. Dernière modifié: 2025-01-13 06:57
Choses dont nous aurons besoin:
- Raspberry Pi avec Raspbian
- Capteur tactile d'adafruit
- Source d'alimentation (Batterie/CC)
- Ethernet ou WiFi pour Raspberry Pi
- Un autre ordinateur
Étape 1: Configuration de notre matériel Raspberry Pi
Tout d'abord, connectez notre capteur tactile aux broches GPIO de notre Raspberry Pi. Utilisez des câbles souples
Identifiez 3 broches sur notre capteur:
- GND - connecter à la broche de terre
- VCC - connecté à la broche 5V
- SIG - se connecter à une broche de signal
Nous utiliserons le 5V, la masse et le GPIO 18 sur notre raspberry pi dans cet exemple.
Étape 2: Configuration de notre environnement sur le Raspberry Pi
Obtenez l'adresse IP de notre raspberry Pi.
Ensuite, connectez-vous à notre raspberry pi en utilisant ssh:
ssh nom d'utilisateur@adresseip
puis tapez notre mot de passe.
Une fois que nous y sommes, installez apache2 en tant que serveur Web en tapant:
sudo apt-get installer apache2
Étape 3: Concevez un morceau de code Python pour lire l'entrée de notre capteur
Concevoir
Dans notre exemple de code, nous utilisons quelques commandes différentes.
Pour indiquer qu'on est content, on fait 2 appuis longs
Pour indiquer que nous sommes tristes, nous faisons un appui court et un appui long
Pour indiquer que nous sommes confus, nous faisons un tapotement court, attendons un temps, puis 2 tapotements courts. Pour indiquer que nous sommes satisfaits, nous effectuons un appui court, un écart court et un appui long
Pour indiquer qu'on s'ennuie, on tape 3 petits coups
Traduire ces commandes en chaînes: (t pour un appui court, T pour un appui long, g pour un écart court, G pour un écart long)
heureux: TgT
triste: tgT
confus: tGtgt
ennuyé: objectif
Ensuite, notre code affichera notre humeur actuelle dans un fichier html convivial pour le navigateur pour servir.
Code
importer RPi. GPIO en tant qu'heure d'importation GPIO
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") if current_cmd[-3:] == "tgT": current_cmd = "" mood("Happy") if current_cmd [-5:] == "tGtgt": current_cmd = "" mood("Confused") if current_cmd[-5:] == "tgtgt": current_cmd = "" mood("Bored")
def humeur(humeur):
fichier = open("index.html", "w") html = """
Reporter d'humeur portable
Hé, mon humeur la plus récente est
{}
"""
file.write(html.format(humeur))
tandis que(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()
Configuration pour travailler avec notre serveur Web
tapez ou téléchargez le fichier python ci-dessus dans l'emplacement de notre serveur Web, qui est par défaut /var/www/html
cd /var/www/html
sudo nano touch.py
Tapez ensuite le code ci-dessus
Étape 4: Démarrez notre serveur pour le voir en action
cd /var/www/html
sudo python touch.py
Tapez ensuite l'adresse IP de notre Raspberry Pi, nous devrions alors voir notre reporter d'humeur fonctionner !
Essayez différents types de commandes tactiles, et la page devrait s'actualiser automatiquement pour refléter cela !