Table des matières:

Distributeur automatique de chien : 10 étapes
Distributeur automatique de chien : 10 étapes

Vidéo: Distributeur automatique de chien : 10 étapes

Vidéo: Distributeur automatique de chien : 10 étapes
Vidéo: TOP 3 : Meilleur Distributeur de Croquettes Automatique 2020 2024, Novembre
Anonim
Distributeur automatique de chien
Distributeur automatique de chien
Distributeur automatique de chien
Distributeur automatique de chien
Distributeur automatique de chien
Distributeur automatique de chien

Avec mon projet je m'assure que lorsque vous laissez votre chien seul à la maison, il/elle ne soit jamais sans nourriture.

Le chargeur automatique sera "piraté" à partir d'un distributeur de cornflakes. Le distributeur est le réservoir de nourriture pour chien, la roue en bas sera connectée à un servomoteur qui laisse automatiquement tomber la nourriture lorsque le berceau est presque vide et lorsque le chien est suffisamment proche. Au bas du distributeur, il y aura un tube en PVC attaché qui déposera bien la nourriture pour chien dans le berceau. Ce projet comportera donc 3 capteurs dont 2 non abordés en classe et 1 actionneur.

Le premier capteur est le lecteur RFID. Ce capteur vérifie quand le chien s'approche du berceau. La RFID sera intégrée au collier du chien. Si ce capteur remarque que le chien est suffisamment proche, il transmettra un signal au deuxième capteur. Le deuxième capteur est le capteur de poids (non couvert en classe) qui mesure la nourriture dans le berceau, si ce capteur détecte que le poids est trop faible, il enverra un signal au servomoteur qui fera tomber la nourriture dans le berceau (avec confirmation de la RFID et du capteur de poids). En bref, le chien ne reçoit de la nourriture supplémentaire que lorsqu'il est suffisamment près du berceau et lorsque le berceau est presque vide. Bien sûr, il existe également une limite que vous pouvez définir vous-même via le serveur Web; pour que le chien ne reçoive pas trop de nourriture par jour. Le troisième capteur est un capteur de lumière qui illumine un projecteur à LED lorsqu'il fait trop sombre autour du berceau. L'actionneur sera donc un servomoteur relié à la roue du distributeur.

Ce projet est destiné aux chiens, vous pouvez également l'utiliser pour d'autres petits animaux de compagnie.

Fournitures

Framboise Pi 3

Cellule de charge (1KG)

Amplificateur de cellule de charge HX711

Bol de nourriture

Distributeur de céréales

Bois (+ vis et tournevis)

Capteur de lumière

LED

Lecteur RFID rc522

Fils de cavalier

16*2 LCD (affichage)

Servomoteur

Adaptateur secteur 5V

Résistance 470 Ohm

Tube en PVC

Planche à pain

Potentiomètre

Vu

Papier abrasif

Pistolet au silicium

Étape 1: configuration de Pi

Configuration Pi
Configuration Pi

Installer

Pour commencer, nous devons d'abord configurer votre Pi.

Vous aurez besoin de deux choses:

- Imageur de disque Win32 de

- Image du système d'exploitation Raspbian de

Téléchargez le fichier ZIP et extrayez-le où vous le souhaitez.

L'installation

1. Sélectionnez votre image via l'icône du dossier

2. Sélectionnez votre carte SD via le menu déroulant

3. Cliquez sur écrire

Maintenant, nous devrons faire un peu plus de bricolage avec certains paramètres afin que nous puissions accéder au Pi.

1. Accédez au répertoire de démarrage de la carte SD

2. Ouvrez le fichier "cmdline.txt"

3. Ajoutez ip=169.254.10.1 À la fin de la longue ligne de texte séparée par un espace (sur la même ligne).

4. Enregistrez le fichier.

5. Créez un fichier nommé ssh sans extension dans le même répertoire

Vous pouvez maintenant éjecter la carte SD et la mettre dans votre Pi.

De liaison

Maintenant, nous devons configurer le logiciel.

Branchez d'abord un câble LAN, une extrémité dans votre ordinateur de bureau/ordinateur portable et l'autre dans votre Pi.

Maintenant, démarrez le Raspberry Pi.

1. Installez Putty à partir de

2. Saisissez 169.254.10.1 dans la zone IP.

3. Assurez-vous que SSH est sélectionné et que le port 22 est rempli.

4. Cliquez sur Ouvrir

5. Saisissez le nom d'utilisateur: pi

6. Renseignez le mot de passe: framboise

Raspi-config

Ouvrez l'utilitaire Raspi-config en utilisant:

sudo raspi-config

Activez les options suivantes dans la catégorie interfaces

- 1 fil

- SPI

Désactivez les options suivantes dans la catégorie des options de démarrage

- Écran de démarrage

Enfin, définissez le paramètre Desktop/CLI dans la catégorie des options de démarrage sur Desktop Autologin.

Wifi

Pour la mangeoire pour chien, nous devons disposer d'une connexion wifi, alors assurez-vous d'avoir vos informations d'identification wifi à proximité.

1. Passez en mode racine

sudo -i

2. Collez cette ligne mais assurez-vous que le SSID et le mot de passe sont tous les deux renseignés

wpa_passphrase "SSID" "MOT DE PASSE" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. Entrez le client WPA.

Wpa_cli

4. Sélectionnez l'interface

Interface wlan0

5. Recharger la configuration

Reconfigurer

Assurez-vous que vous êtes correctement connecté en tapant ip a et en vérifiant si vous avez une adresse IP sur les interfaces WLAN0.

Paquets

Maintenant que nous sommes connectés à Internet, nous devrons installer des packages.

Nous devrons d'abord actualiser les listes de paquets pour la dernière.

mise à jour sudo apt

Python

Nous forcerons Raspbian à utiliser Python 3

update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

update-alternatives --install /usr/bin/python python /usr/bin/python3 2

MariaDB

Collez la ligne suivante pour installer la base de données.

sudo apt installer mariadb-server

Ensuite, nous devrons sécuriser notre installation.

mysql_secure_installation

Il nous demandera le mot de passe root actuel puisque nous n'en avons pas, appuyez simplement sur Entrée.

Ensuite, il nous demande si nous voulons un mot de passe root, tapez y puisque nous en voulons un.

Pour les questions suivantes, entrez simplement Y.

Ensuite, nous allons créer un utilisateur que nous pourrons utiliser pour le miroir.

Entrez dans le shell mysql en faisant:

- Nous élever à la racine

Sudo -i

- Entrez dans le shell mysql

Mysql

- Remplacez par votre propre nom d'utilisateur et le même par

accorde tous les privilèges sur *.* à ''@'%' identifié par '';

- accorder tous les privilèges sur *.* à ''@'%' identifié par '';

Ensuite, nous ajouterons notre base de données.

Serveur Web Apache

Pour installer le serveur Web, exécutez la ligne ci-dessous.

sudo apt installer apache2 -y

Paquets Python

Nous allons installer ces packages

- Flacon

- Flacon-Cors

- Flask-MySQL

- Flacon-SocketIO

- PyMySQL

- Gévent

- Gevent-websocket

-

- Python-socketio

- Demandes

- Wsaccel

-Ujson

En faisant

pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 requêtes python-socketio wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

Étape 2: Led et capteur de lumière

Led et capteur de lumière
Led et capteur de lumière
Led et capteur de lumière
Led et capteur de lumière

Brancher la led

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Résistance 470 ohm et GND

Branchement du capteur de lumière

  1. SORTIE -> GPIO17
  2. VCC -> 3,3 V
  3. GND -> GND

Nous pouvons maintenant tester si notre led et notre capteur de lumière fonctionnent avec ce petit script

importer RPi. GPIO en tant que GPIO GPIO.setmode (GPIO. BCM)

GPIO.setup(15, GPIO. OUT)

GPIO.setup(17, GPIO. IN)

essayez: tandis que True:

si GPIO.input(17) == 0:

GPIO.sortie(15, GPIO. HIGH)

si GPIO.input(17) == 1:

GPIO.sortie(15, GPIO. LOW)

sauf KeyboardInterrupt: GPIO.cleanup()

Étape 3: servomoteur

Servomoteur
Servomoteur

Branchement du servomoteur

  1. SORTIE -> GPIO18
  2. VCC -> 5V
  3. GND -> GND

Nous pouvons maintenant tester si notre led et notre capteur de lumière fonctionnent avec ce petit script

importer RPi. GPIO en tant qu'heure d'importation GPIO

GPIO.setmode(GPIO. BCM)

GPIO.setup(18, GPIO. OUT)

p = GPIO. PWM (18, 50)

p.start(12.5)

essayer:

tant que vrai:

p. ChangeDutyCycle(12.5)

heure.sommeil(1)

p. ChangeDutyCycle(2.5)

heure.sommeil(1)

sauf KeyboardInterrupt:

p.stop()

GPIO.cleanup()

Étape 4: Lecteur RFID RC522

Lecteur RFID RC522
Lecteur RFID RC522

Branchement de la RFID

  1. RST -> GPIO6
  2. MISO -> GPIO9 (MISO)
  3. MOSI -> GPIO10 (MOSI)
  4. SCK -> GPIO11 (SPISCLK)
  5. SDA -> GPIO8 (SPICS0)
  6. 3.3V -> 3.3V
  7. GND -> GND

Nous pouvons maintenant tester si notre lecteur RFID fonctionne avec ce petit script

importer RPi. GPIO en tant que GPIO

de mfrc522 importer SimpleMFRC522

lecteur = SimpleMFRC522()

text = input('Nouvelles données:')

print("Placez maintenant votre tag pour écrire")

lecteur.écrire(texte)

print("Écrit")

Étape 5: cellule de charge HX711

Cellule de charge HX711
Cellule de charge HX711

Branchement de la cellule de charge à la carte de commande HX711

  1. Rouge -> E+
  2. Noir -> E-
  3. Vert -> A+
  4. Blanc -> A-

Branchement de la cellule de charge

  1. DT -> GPIO27
  2. SCK -> GPIO22
  3. ROUGE -> 3.3V
  4. GND -> GND

Maintenant, nous pouvons tester si notre cellule de charge fonctionne avec ce petit script

importer RPi. GPIO en tant que GPIOimport time import sys from klasses. HX711 import HX711

def cleanAndExit(): print("Nettoyage…") GPIO.cleanup() print("Au revoir !") sys.exit()

hx = HX711 (22, 27)

hx.set_reading_format ("LSB", "MSB")

hx.set_reference_unit (2167)

hx.reset()

hx.tare()

tant que vrai:

essayer:

val = max(0, int(hx.get_weight(5)))

imprimer(val)

hx.power_down()

hx.power_up()

temps.sommeil (0,5)

sauf (KeyboardInterrupt, SystemExit): cleanAndExit()

Étape 6: écran LCD (16*2)

ACL (16*2)
ACL (16*2)

Branchement de l'écran LCD

  1. RS -> GPIO21
  2. RW -> GND
  3. E-> GPIO20
  4. D0 -> GPIO16
  5. D1 -> GPIO12
  6. D2 -> GPIO6
  7. D3 ->GPIO24
  8. D4 -> GPIO23
  9. D5 -> GPIO26
  10. D6 -> GPIO19
  11. D7 -> GPIO13
  12. VSS -> GND
  13. Disque dur -> 5V
  14. A -> 5V
  15. K -> GND
  16. V0 -> broche de potentio moyenne

Nous pouvons maintenant tester si notre écran LCD fonctionne avec ce petit script

importer Adafruit_CharLCD en tant que LCDlcd_rs = 21

lcd_fr = 20

lcd_d4 = 23

lcd_d5 = 26

lcd_d6 = 19

lcd_d7 = 13

lcd_columns = 16

lcd_rows = 2

lcd = LCD. Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7, lcd_columns, lcd_rows)

lcd.message('169.254.10.1')

Étape 7: Circuit complet

Circuit complet
Circuit complet

ici vous pouvez vérifier à nouveau si l'ensemble du circuit est correct

Étape 8: Début de l'affaire

Début de l'affaire
Début de l'affaire
Début de l'affaire
Début de l'affaire
Début de l'affaire
Début de l'affaire
Début de l'affaire
Début de l'affaire

J'ai utilisé un distributeur de cornflakes comme réservoir pour la nourriture pour chiens

J'ai connecté la roue du distributeur à mon servomoteur

Maintenant, je peux contrôler la roue avec mon servomoteur et laisser tomber la nourriture du réservoir

Au bout du réservoir, il y a un tube en PVC connecté qui laisse bien tomber la nourriture dans le berceau

j'utilise du bois comme enveloppe

Étape 9: Assembler le tout

Mettre ensemble
Mettre ensemble
Mettre ensemble
Mettre ensemble
Mettre ensemble
Mettre ensemble

Étape 10: Le site Web

Le site Web
Le site Web
Le site Web
Le site Web
Le site Web
Le site Web
Le site Web
Le site Web

Maintenant que notre machine fonctionne, nous devons installer le site Web sur le pi. Maintenant, tout est opérationnel et quelques instructions sur le fonctionnement du site.

Vous pouvez connecter votre pi au wifi en branchant un câble hdmi et activer de cette façon

La première page est la page d'accueil, ici vous pouvez voir:

  • Informations en temps réel sur la lumière
  • Informations en temps réel sur la nourriture qui reste dans le bol
  • Vous pouvez déposer de la nourriture
  • Informations sur le chien

La deuxième page est la page d'édition, ici vous pouvez éditer:

  • le nom de votre animal
  • l'âge de votre animal
  • le poids de votre animal
  • la photo de votre animal

La troisième page est la page d'historique, ici vous pouvez voir:

  • quand la lumière s'est allumée
  • quand le chien a mangé
  • quand la nourriture est tombée

La quatrième page est la page des paramètres, ici vous pouvez modifier:

  • quand la nourriture doit tomber
  • la quantité de nourriture à déposer
  • nourriture max/jour
  • la lumière

Conseillé: