Indholdsfortegnelse:

Automatisk hundeautomat: 10 trin
Automatisk hundeautomat: 10 trin

Video: Automatisk hundeautomat: 10 trin

Video: Automatisk hundeautomat: 10 trin
Video: Molo - Automatisk (Lyrics) 2024, Juli
Anonim
Automatisk hunde dispenser
Automatisk hunde dispenser
Automatisk hunde dispenser
Automatisk hunde dispenser
Automatisk hunde dispenser
Automatisk hunde dispenser

Med mit projekt sørger jeg for, at når du lader din hund være alene hjemme, er han / hun aldrig uden mad.

Den automatiske føder "hackes" fra en cornflakes -dispenser. Dispenseren er beholderen til hundefoder, hjulet i bunden vil blive forbundet til en servomotor, der automatisk taber mad, når krybben er næsten tom, og når hunden er tæt nok. I bunden af dispenseren vil der være fastgjort et PVC -rør, der vil smide hundemaden pænt ned i krybben. Dette projekt vil derfor have 3 sensorer, hvoraf 2 ikke er omfattet i klassen, og hvoraf 1 er en aktuator.

Den første sensor er RFID -læseren. Denne sensor kontrollerer, når hunden kommer tæt på krybben. RFID'en vil blive inkorporeret i hundens krave. Hvis denne sensor bemærker, at hunden er tæt nok, sender den et signal til den anden sensor. Den anden sensor er vægtsensoren (ikke dækket i klassen), der måler maden i krybben, hvis denne sensor registrerer, at vægten er for lav, sender den et signal til servomotoren, der vil tabe maden i krybben (med bekræftelse af RFID og vægtsensoren). Kort sagt får hunden kun ekstra mad, når han / hun er tæt nok på krybben, og når krybben er næsten tom. Selvfølgelig er der også et grænsesæt, som du selv kan indstille via webserveren; så hunden ikke får for meget mad om dagen. Den tredje sensor er en lyssensor, der oplyser en LED -projektør, når det er for mørkt omkring krybben. Aktuatoren vil derfor være en servomotor forbundet til hjulet i dispenseren.

Dette projekt er beregnet til hunde, du kan også bruge det til andre små kæledyr.

Forbrugsvarer

Raspberry Pi 3

Vejecelle (1KG)

HX711 vejecelleforstærker

Madskål

Korn dispenser

Træ (+ skruer og skruetrækker)

Lyssensor

Led

RFID -læser rc522

Jumper ledninger

16*2 LCD (display)

Servomotor

5V strømadapter

Modstand 470 Ohm

PVC -rør

Brødbord

Potentiometer

Sav

Slibepapir

Silikonepistol

Trin 1: Pi -opsætning

Opsætning af Pi
Opsætning af Pi

Opsætning

For at komme i gang skal vi først konfigurere din Pi.

Du skal bruge to ting:

- Win32 Disk Imager fra

- Raspbian OS -billede fra

Download ZIP -filen, og udpak den, hvor du vil.

Installationen

1. Vælg dit billede via mappeikonet

2. Vælg dit SD -kort via rullemenuen

3. Klik på skriv

Nu bliver vi nødt til at lave lidt ekstra puslespil med nogle indstillinger, så vi får adgang til Pi.

1. Gå til SD -kortets boot -bibliotek

2. Åbn filen "cmdline.txt"

3. Tilføj ip = 169.254.10.1 I slutningen af den lange tekstlinje adskilt med et mellemrum (på samme linje).

4. Gem filen.

5. Opret en fil med navnet ssh uden udvidelse i det samme bibliotek

Nu kan du skubbe SD -kortet ud og sætte det i din Pi.

Tilslutning

Nu skal vi konfigurere softwaren.

Tilslut først et LAN -kabel, den ene ende på din stationære/bærbare computer og den anden i din Pi.

Start nu Raspberry Pi.

1. Installer Putty fra

2. Indtast 169.254.10.1 i feltet IP.

3. Sørg for, at SSH er valgt, og at port 22 er udfyldt.

4. Klik på Åbn

5. Udfyld brugernavnet: pi

6. Udfyld adgangskoden: hindbær

Raspi-konfiguration

Åbn Raspi-config-værktøjet ved hjælp af:

sudo raspi-config

Aktiver følgende indstillinger i kategorien grænseflader

- 1-Wire

- SPI

Deaktiver følgende muligheder i kategorien opstartsmuligheder

- Sprøjteskærm

Indstil endelig Desktop/CLI -indstillingen i kategorien bootindstillinger til Desktop Autologin.

Trådløst internet

Til hundefoderen skal vi have en wifi -forbindelse, så sørg for at have din wifi -legitimationsoplysninger tæt på.

1. Gå ind i rodtilstand

sudo -i

2. Indsæt denne linje, men sørg for, at SSID og adgangskode begge er udfyldt

wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. Indtast WPA -klienten.

Wpa_cli

4. Vælg grænsefladen

Grænseflade wlan0

5. Genindlæs konfigurationen

Omkonfigurer

Sørg for, at du er tilsluttet korrekt ved at skrive ip a og se, om du har en IP på WLAN0 -grænsefladerne.

Pakker

Nu hvor vi har forbindelse til internettet, skal vi installere nogle pakker.

Først skal vi opdatere pakkelisterne til den nyeste.

sudo apt opdatering

Python

Vi tvinger Raspbian til at bruge Python 3

opdateringsalternativer-install/usr/bin/python python /usr/bin/python2.7 1

opdateringsalternativer-install/usr/bin/python python/usr/bin/python3 2

MariaDB

Indsæt følgende linje for at installere databasen.

sudo apt installer mariadb-server

Derefter skal vi sikre vores installation.

mysql_secure_installation

Det vil bede os om det nuværende root -kodeord, da vi ikke har et, bare tryk på enter.

Dernæst spørger det, om vi vil have en root -adgangskode i y, da vi vil have en.

Indtast Y for de næste spørgsmål.

Dernæst opretter vi en bruger, som vi kan bruge til spejlet.

Indtast mysql -skallen ved at gøre:

- Løft os selv til rod

Sudo -i

- Indtast mysql -skalen

Mysql

- Erstat med dit eget brugernavn og det samme med

give alle privilegier på *. * til ''@'%' identificeret med '';

- give alle privilegier på *. * til ''@'%' identificeret med '';

Dernæst tilføjer vi vores database.

Apache webserver

Kør linjen herunder for at installere webserveren.

sudo apt installere apache2 -y

Python pakker

Vi skal installere disse pakker

- Kolbe

- Kolbe-Cors

- Kolbe-MySQL

- Flask-SocketIO

- PyMySQL

- Gevent

- Gevent-websocket

-

- Python-socketio

- Anmodninger

- Wsaccel

- Ujson

Ved at gøre

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

Trin 2: LED og lyssensor

LED og lyssensor
LED og lyssensor
LED og lyssensor
LED og lyssensor

Tilslutning af LED'en

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> Modstand 470 ohm og GND

Tilslutning af lyssensoren

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

Nu kan vi teste, om vores LED- og lyssensor fungerer med dette lille script

importer RPi. GPIO som GPIO GPIO.setmode (GPIO. BCM)

GPIO.setup (15, GPIO. OUT)

GPIO.setup (17, GPIO. IN)

prøv: mens sandt:

hvis GPIO.input (17) == 0:

GPIO.output (15, GPIO. HIGH)

hvis GPIO.input (17) == 1:

GPIO.output (15, GPIO. LOW)

undtagen KeyboardInterrupt: GPIO.cleanup ()

Trin 3: Servomotor

Servomotor
Servomotor

Tilslutning af servomotoren

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

Nu kan vi teste, om vores LED- og lyssensor fungerer med dette lille script

importer RPi. GPIO som GPIOimporttid

GPIO.setmode (GPIO. BCM)

GPIO.setup (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

s. start (12,5)

prøve:

mens det er sandt:

p. ChangeDutyCycle (12.5)

time.sleep (1)

p. ChangeDutyCycle (2.5)

time.sleep (1)

undtagen KeyboardInterrupt:

p.stop ()

GPIO.cleanup ()

Trin 4: RFID -læser RC522

RFID -læser RC522
RFID -læser RC522

Tilslutning af 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

Nu kan vi teste, om vores RFID -læser arbejder med dette lille script

importer RPi. GPIO som GPIO

fra mfrc522 import SimpleMFRC522

læser = SimpleMFRC522 ()

tekst = input ('Nye data:')

print ("Placer nu dit mærke til at skrive")

reader.write (tekst)

print ("Skrevet")

Trin 5: Indlæs celle HX711

Load Cell HX711
Load Cell HX711

Tilslutning af vejecellen til HX711 -driverkortet

  1. Rød -> E+
  2. Sort -> E-
  3. Grøn -> A+
  4. Hvid -> A-

Tilslutning af belastningscellen

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. RØD -> 3,3V
  4. GND -> GND

Nu kan vi teste, om vores vejecelle fungerer med dette lille script

import RPi. GPIO som GPIOimport tid import sys fra klasses. HX711 import HX711

def cleanAndExit (): print ("Rengøring …") GPIO.cleanup () print ("Bye!") sys.exit ()

hx = HX711 (22, 27)

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

hx.set_reference_unit (2167)

hx.reset ()

hx.tare ()

mens det er sandt:

prøve:

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

print (val)

hx.power_down ()

hx.power_up ()

time.sleep (0,5)

undtagen (KeyboardInterrupt, SystemExit): cleanAndExit ()

Trin 6: LCD (16*2)

LCD (16*2)
LCD (16*2)

Tilslutning af LCD'en

  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. VDD -> 5V
  14. A -> 5V
  15. K -> GND
  16. V0 -> midterste potentiobolt

Nu kan vi teste, om vores LCD -skærm fungerer med dette lille script

importer Adafruit_CharLCD som LCDlcd_rs = 21

lcd_da = 20

lcd_d4 = 23

lcd_d5 = 26

lcd_d6 = 19

lcd_d7 = 13

lcd_kolonner = 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')

Trin 7: Fuldt kredsløb

Fuldt kredsløb
Fuldt kredsløb

her kan du kontrollere igen, om hele kredsløbet er korrekt

Trin 8: Start af sagen

Sagens start
Sagens start
Sagens start
Sagens start
Sagens start
Sagens start
Sagens start
Sagens start

Jeg brugte en cornflake dispenser som reservoir til hundefoder

Jeg sluttede hjulet i dispenseren til min servomotor

Nu kan jeg styre hjulet med min servomotor og tabe mad ud af reservoiret

For enden af reservoiret er der tilsluttet et PVC -rør, der taber maden pænt ned i krybben

Jeg bruger træ som kappe

Trin 9: Sætte det sammen

At sætte det sammen
At sætte det sammen
At sætte det sammen
At sætte det sammen
At sætte det sammen
At sætte det sammen

Trin 10: Webstedet

Hjemmesiden
Hjemmesiden
Hjemmesiden
Hjemmesiden
Hjemmesiden
Hjemmesiden
Hjemmesiden
Hjemmesiden

Nu vores maskine fungerer, skal vi få webstedet til pi. Nu er alt i gang og kører nogle få instruktioner om, hvordan webstedet fungerer.

Du kan slutte din pi til wifi ved at tilslutte et hdmi -kabel og aktivere på denne måde

Den første side er startsiden, her kan du se:

  • Realtidsinformation om lyset
  • Realtidsinformation om maden, der er tilbage i skålen
  • Du kan droppe mad
  • Info om hunden

Den anden side er redigeringssiden, her kan du redigere:

  • navnet på dit kæledyr
  • dit kæledyrs alder
  • vægten af dit kæledyr
  • billedet af dit kæledyr

Den tredje side er historiksiden, her kan du se:

  • da lyset tændte
  • når hunden har spist
  • når maden er faldet

Den fjerde side er indstillingssiden, her kan du redigere:

  • når maden skal falde
  • mængden af mad, der skal falde
  • max mad/dag
  • lyset

Anbefalede: