Table des matières:
- Étape 1: Pièces
- Étape 2: Procédure
- Étape 3: Programmation
- Étape 4: Dépannage et modification
- Étape 5: Matériel
Vidéo: Détecteur d'humeur pour chien (Raspberry Pi): 5 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
Ce Instructable est conçu pour prendre les sons d'un chien et déterminer s'ils doivent être approchés ou non avec des indicateurs LED. La plupart des propriétaires de chiens connaissent leurs animaux de compagnie et peuvent lire les signaux qu'ils émettent, donc ce Instructable est principalement destiné aux étrangers qui peuvent entrer en contact avec votre chien.
Étape 1: Pièces
Tu auras besoin de:
- Tarte aux framboises
- LED rouge/vert (X2)
- Surveiller
- Clavier/souris avec USB
- Clé Wi-Fi
- Micro USB externe
- Résistance 330 ohms (X2)
Pièces en option
- Alimentation externe Raspberry Pi
- Collier de chien
Étape 2: Procédure
La première étape pour commencer ce projet est d'observer les comportements et les schémas associés à votre chien. Vous pouvez cliquer ICI pour un guide simple sur ce que vous devriez rechercher. Dans mon cas, mon chien hurle chaque fois qu'il est excité ou heureux de voir quelqu'un et aboie par intermittence lorsqu'il est nerveux ou aggravé. Dans les prochaines étapes, je vais vous expliquer comment modifier mon programme afin de s'adapter aux comportements de votre chien.
Étape 3: Programmation
Vous trouverez ci-dessous le programme Python que j'ai utilisé pour mon chien. Dans la prochaine étape, je vais vous expliquer comment modifier le programme pour le comportement de votre chien. N'exécutez pas le programme tout de suite car il ne fonctionnera pas tant que vous ne passerez pas à l'étape suivante.
#!/usr/bin/pythonimport pyaudio import sys import thread from time import sleep from array import array import RPi. GPIO as GPIO
écorce=0
howl=False hold=0 barkLength=5 delay=0 wait = 2 flag = 0 red = 7 green=5 exitFlag = False
def toggleLightRed(c):
GPIO.setmode(GPIO. BOARD) GPIO.setup(rouge, GPIO. OUT) GPIO.output(c, True) sleep(10) GPIO.output(c, False) print("Red toggled")
def toggleLightGreen(c):
GPIO.setmode(GPIO. BOARD) GPIO.setup(vert, GPIO. OUT) GPIO.output(c, True) sleep(10) GPIO.output(c, False) print("Vert basculé")
def principal():
aboiement global hurlement global prise globale aboiement globalLongueur retard global drapeau global global rouge global vert
morceau = 8192
FORMAT = pyaudio.paInt16 CANAUX = 1 RATE = 44100 seuil = 3000 max_value = 0 p = pyaudio. PyAudio() stream = p.open(format=FORMAT, channels=CANELS, rate=RATE, input=True, output=True, frames_per_buffer=chunk) GPIO.setmode(GPIO. BOARD) GPIO.setup(rouge, GPIO. OUT) GPIO.setup(vert, GPIO. OUT) try: print "Detection initialized" while True: try: data = stream.read(chunk) sauf IOError as ex: if ex[1] != pyaudio.paInputOverflowed: raise data = '\x00' * chunk as_ints = array('h', data) max_value = max(as_ints) while max_value>threshold: delay= 0 hold=hold+1 try: data = stream.read(chunk) sauf IOError as ex: if ex[1] != pyaudio.paInputOverflowed: raise data = '\x00' * chunk as_ints = array('h', data) max_value = max(as_ints) if hold>=barkLength: howl=True print "HOWL DETECTED" toggleLightGreen(green) GPIO.cleanup() elif hold>0 et hold
if _name_ == '_main_':
principale()
Étape 4: Dépannage et modification
Installer
Avant d'exécuter le programme, vous devrez taper ce qui suit dans le terminal pour installer PyAudio:
sudo apt-get intall python-pyaudio
Après cela, vous pouvez tester le programme pour vous assurer qu'il fonctionne correctement.
Dépannage
Vous pouvez rencontrer l'erreur suivante:
IOError: [Errno Input overflowed] -9981
Pour résoudre ce problème, augmentez simplement le nombre attribué au bloc variable jusqu'à ce que l'erreur n'apparaisse plus.
Modifier
La variable barkLength dicte le nombre de boucles du programme avant qu'un bruit ne soit plus considéré comme un aboiement, mais comme un hurlement. Si vos chiens hurlent mais ne le font que pendant une courte rafale, vous devez diminuer ce nombre.
Les variables rouge et verte se réfèrent aux ports de sortie qui seront utilisés pour les indicateurs LED. Ceux-ci peuvent être modifiés pour s'adapter à vos besoins.
Bien que je n'utilise pas activement le délai variable dans mon programme, il peut être observé pour indiquer la fréquence des aboiements ou des hurlements.
La variable hold fait référence au nombre de boucles du programme lorsque le niveau de bruit est supérieur au seuil et est utilisée pour déterminer si un hurlement a lieu. Cette variable ne doit en aucun cas être modifiée car les hurlements sont détectés par la manipulation de la variable barkLength.
La variable seuil peut être abaissée si l'aboiement n'est pas très fort ou augmentée s'il y a un bruit de fond qui pourrait être interprété à tort comme un bruit émanant du chien.
Étape 5: Matériel
C'est à ce stade que vous devriez avoir un programme entièrement fonctionnel qui affiche à l'écran ce que le matériel va faire. C'est à ce stade du projet que vous devez décider s'il s'agira d'un microphone fixe installé à un endroit (par exemple, un endroit de la maison où le chien fréquente ou entre normalement en contact avec les visiteurs) ou si le projet sera minimisé. et attaché au collier du chien pour fournir une rétroaction immédiate à la personne interagissant avec le chien.
Stationnaire
La chose la plus simple à faire est de tout laisser sur une planche à pain car il n'y aura aucun mouvement qui pourrait détacher les fils. Connectez les cathodes des LED rouges à la broche de terre du Raspberry Pi et aux anodes via une résistance de 330 ohms ou directement dans la broche 7 du Raspberry Pi. Faites de même avec les LED vertes mais connectez les anodes à la broche 5. Exécutez le programme et vous devriez avoir un projet terminé une fois que vous avez modifié le code selon vos besoins.
Non-stationnaire
Je recommanderais de terminer d'abord la version stationnaire juste pour m'assurer que tout fonctionne, puis de continuer à partir de là en soudant tout ensemble afin qu'aucun fil ne se déconnecte du mouvement du chien.
Fixez les LED au collier de manière à ce qu'elles soient toutes les deux dans une position confortable et puissent être vues par quelqu'un qui s'approche.
Ensuite, connectez votre alimentation externe telle que celle vue ICI au raspberry pi et fixez-la au collier d'une manière confortable pour le chien.
Une fois que tout est bien en place, lancez le programme, attachez le collier au chien et le tour est joué !
Conseillé:
LAMPE D'HUMEUR (Rodrigo Jimenez 20052) : 3 étapes
MOOD LAMP (Rodrigo Jimenez 20052) : Lien de la vidéo en youtube : https://youtu.be/H4ghI6UAJw8
Lampe Nuage d'Humeur : 5 Étapes
Mood Cloud Lamp: Esta lámpara de humor puede ayudarte a crear un ambiente agradable conforme a los colores que dessees poner. Este tiene dos funciones en las cuales pueden ser de forma manual, en donde tu puedas jugar con los colores conforme a tú gusto partiendo de
Catapulte automatique pour lancer de la nourriture pour animaux de compagnie (chien, chat, poulet, etc.), lancer des balles et plus encore ! : 4 étapes (avec photos)
Catapulte automatique pour lancer de la nourriture pour animaux de compagnie (chien, chat, poulet, etc.), lancer des balles et plus encore ! : Bonjour et bienvenue dans mon premier Instructable ! Notre chien adore sa nourriture, elle va littéralement tout manger en quelques secondes. J'ai imaginé des moyens de ralentir cela, des balles avec la nourriture à l'intérieur à la jeter partout dans la cour. Étonnamment, elle est
Mangeoire automatique pour chien Raspberry Pi et diffuseur vidéo en direct : 3 étapes
Mangeoire automatique pour chien Raspberry Pi & Streamer vidéo en direct : Ceci est mon mangeoire automatique pour chien alimenté par Raspberry PI. Je travaillais du matin de 11h à 21h. Mon chien devient fou si je ne le nourris pas à temps. Surfé sur google pour acheter des mangeoires automatiques, ils ne sont pas disponibles en Inde et importation coûteuse
Détecteur de fumée IOT : mettre à jour le détecteur de fumée existant avec IOT : 6 étapes (avec photos)
Détecteur de fumée IOT : Mettre à jour le détecteur de fumée existant avec IOT : Liste des contributeurs, Inventeur : Tan Siew Chin, Tan Yit Peng, Tan Wee Heng Superviseur : Dr Chia Kim Seng Département de génie mécatronique et robotique, Faculté de génie électrique et électronique, Universiti Tun Hussein Onn Malaisie.Distribuer