Orodha ya maudhui:

Dispenser ya Mbwa Moja kwa Moja: Hatua 10
Dispenser ya Mbwa Moja kwa Moja: Hatua 10

Video: Dispenser ya Mbwa Moja kwa Moja: Hatua 10

Video: Dispenser ya Mbwa Moja kwa Moja: Hatua 10
Video: STAILI INAYOKOJOLESHA WANAWAKE WOTE DAKIKA MOJA (LAZIMA AKOJOE TU) 2024, Julai
Anonim
Dispenser ya Mbwa Moja kwa Moja
Dispenser ya Mbwa Moja kwa Moja
Dispenser ya Mbwa Moja kwa Moja
Dispenser ya Mbwa Moja kwa Moja
Dispenser ya Mbwa Moja kwa Moja
Dispenser ya Mbwa Moja kwa Moja

Pamoja na mradi wangu ninahakikisha kuwa wakati unamwacha mbwa wako peke yake nyumbani, yeye huwa hana chakula.

Feeder moja kwa moja itakuwa "hacked" kutoka dispenser cornflakes dispenser. Mtoaji ni hifadhi ya chakula cha mbwa, gurudumu chini litaunganishwa na gari la servo ambalo huangusha chakula kiotomatiki wakati kitanda karibu kila kitu na wakati mbwa iko karibu kutosha. Chini ya msambazaji kutakuwa na bomba la PVC lililounganishwa ambalo litaangusha chakula cha mbwa vizuri ndani ya kitanda. Mradi huu kwa hivyo utakuwa na sensorer 3, 2 ambazo hazifunikwa darasani na 1 ambayo ni mtendaji.

Sensorer ya kwanza ni msomaji wa RFID. Sensorer hii huangalia wakati mbwa anakuja karibu na kitanda. RFID itajumuishwa kwenye kola ya mbwa. Ikiwa sensorer hii itagundua kuwa mbwa iko karibu vya kutosha, itapeleka ishara kwa sensa ya pili. Sensor ya pili ni sensor ya uzito (ambayo haijafunikwa darasani) ambayo hupima chakula kwenye kitanda, ikiwa sensor hii itagundua kuwa uzito ni mdogo sana, itatuma ishara kwa servo motor ambayo itatupa chakula ndani ya kitanda (na uthibitisho wa RFID na sensor ya uzito). Kwa kifupi, mbwa hupata chakula cha ziada tu wakati yuko karibu na kitanda na wakati kitanda ni karibu tupu. Kwa kweli pia kuna seti ya kikomo ambayo unaweza kujiweka kupitia seva ya wavuti; ili mbwa haipati chakula kingi sana kwa siku. Sensor ya tatu ni sensor nyepesi ambayo huangaza taa ya mafuriko ya LED wakati ni giza sana karibu na kitanda. Mchochezi kwa hiyo atakuwa motor servo iliyounganishwa na gurudumu kwenye kontena.

Mradi huu umekusudiwa mbwa, unaweza pia kutumia kwa wanyama wengine wa kipenzi.

Vifaa

Raspberry Pi 3

Pakia kiini (1KG)

HX711 amplifier ya seli ya mzigo

Bakuli la chakula

Kiwanda cha nafaka

Mbao (+ bisibisi na bisibisi)

Sensor ya mwanga

Iliyoongozwa

Msomaji wa RFID rc522

Waya za jumper

LCD 16 * 2 (onyesho)

Servo motor

5V adapta ya umeme

Resistor 470 Ohm

Bomba la PVC

Mkate wa mkate

Potentiometer

Saw

Karatasi ya mchanga

Bunduki ya Silicon

Hatua ya 1: Usanidi wa Pi

Usanidi wa Pi
Usanidi wa Pi

Sanidi

Ili kuanza tutahitaji kwanza kuanzisha Pi yako.

Utahitaji vitu viwili:

- Win32 Disk Imager kutoka

- Picha ya OS ya Raspbian kutoka

Pakua faili ya ZIP na uondoe popote unapotaka.

Ufungaji

1. Chagua picha yako kupitia ikoni ya folda

2. Chagua kadi yako ya SD kupitia menyu kunjuzi

3. Bonyeza kuandika

Sasa tutahitaji kufanya mazungumzo ya ziada na mipangilio kadhaa ili tuweze kupata Pi.

1. Nenda kwenye saraka ya boot ya kadi ya SD

2. Fungua faili "cmdline.txt"

3. Ongeza ip = 169.254.10.1 Mwishoni mwa mstari mrefu wa maandishi yaliyotengwa na nafasi (kwenye mstari huo huo).

4. Hifadhi faili.

5. Unda faili inayoitwa ssh bila ugani katika saraka sawa

Sasa unaweza kutoa kadi ya SD na kuiweka kwenye Pi yako.

Kuunganisha

Sasa tutahitaji kusanidi programu.

Chomeka kwanza kebo ya LAN, mwisho mmoja kwenye desktop yako / laptop na nyingine kwenye Pi yako.

Sasa boot Pi Raspberry.

1. Sakinisha Putty kutoka

2. Ingiza 169.254.10.1 kwenye sanduku la IP.

3. Hakikisha SSH imechaguliwa na bandari 22 imejazwa.

4. Bonyeza wazi

5. Jaza jina la mtumiaji: pi

6. Jaza nenosiri: rasipberry

Raspi-usanidi

Fungua huduma ya Raspi-config kwa kutumia:

Sudo raspi-config

Wezesha chaguzi zifuatazo katika kitengo cha mwingiliano

- 1-Waya

- SPI

Lemaza chaguzi zifuatazo katika kitengo cha chaguzi za buti

- Splash skrini

Mwishowe weka mipangilio ya Desktop / CLI katika kategoria ya chaguzi za boot kwenye Desktop Autologin.

WiFi

Kwa mlishaji wa mbwa tunahitaji kuwa na muunganisho wa wifi kwa hivyo hakikisha una hati zako za wifi karibu.

1. Nenda kwenye modi ya mizizi

Sudo -i

2. Bandika laini hii lakini hakikisha kwamba SSID na Nenosiri zote zimejazwa

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

3. Ingiza Mteja wa WPA.

Wpa_cli

4. Chagua kiolesura

Kiolesura wlan0

5. Pakia upya usanidi

Usanidi upya

Hakikisha umeunganishwa kwa usahihi kwa kuandika ip a na kuona ikiwa una IP kwenye viungio vya WLAN0.

Vifurushi

Sasa kwa kuwa tumeunganishwa kwenye mtandao itabidi tuweke vifurushi.

Kwanza tutahitaji kuonyesha upya orodha za vifurushi kwa ile ya hivi karibuni.

sasisho la sudo apt

Chatu

Tutalazimisha Raspbian kutumia Python 3

sasisho-mbadala - kufunga / usr / bin / chatu chatu / usr / bin / python2.7 1

sasisho-mbadala - kufunga / usr / bin / chatu chatu / usr / bin / python3 2

MariaDB

Bandika laini ifuatayo ili uweke hifadhidata.

Sudo apt kufunga mariadb-server

Kisha tutahitaji kupata usanikishaji wetu.

ufungaji wa mysql_secure

Itatuuliza nywila ya mizizi ya sasa kwani hatuna moja bonyeza tu ingiza.

Ifuatayo inauliza ikiwa tunataka aina ya nywila ya mizizi katika y kwani tunataka moja.

Kwa maswali yanayofuata ingiza tu Y.

Ifuatayo tutatengeneza mtumiaji ambaye tutaweza kumtumia kioo.

Ingiza ganda la mysql kwa kufanya:

- Tujiinue wenyewe kwa mizizi

Sudo -i

- Ingiza ganda la mysql

Mysql

- Badilisha na jina lako la mtumiaji na sawa na

toa marupurupu yote kwenye *. * kwa @ '%' kutambuliwa na '';

- toa marupurupu yote kwenye *. * kwa "@ '%' kutambuliwa na";

Ifuatayo tutakuwa tukiongezea hifadhidata yetu.

Mtandao wa Apache

Ili kufunga Webserver tumia laini hapa chini.

Sudo apt kufunga apache2 -y

Vifurushi vya chatu

Tutasakinisha vifurushi hivi

- chupa

- Flask-Cors

- chupa-MySQL

- Flask-SocketIO

- PyMySQL

- Mzunguko

- Gevent-websocket

-

- Python-socketio

- Maombi

- Wsaccel

- Ujson

Kwa kufanya

kufunga bomba Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent-websocket ⁇plib2 python-socketio ombi wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

Hatua ya 2: Sensor iliyoongozwa na Nuru

Sensor iliyoongozwa na Nuru
Sensor iliyoongozwa na Nuru
Sensor iliyoongozwa na Nuru
Sensor iliyoongozwa na Nuru

Kuunganisha iliyoongozwa

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

Kuunganisha sensa ya mwanga

  1. OUT -> GPIO17
  2. VCC -> 3.3V
  3. GND -> GND

Sasa tunaweza kujaribu ikiwa sensorer yetu iliyoongozwa na nuru inafanya kazi na hati hii ndogo

kuagiza RPi. GPIO kama GPIO GPIO.setmode (GPIO. BCM)

Usanidi wa GPIO (15, GPIO. OUT)

Usanidi wa GPIO (17, GPIO. IN)

jaribu: wakati Kweli:

ikiwa GPIO.input (17) == 0:

Pato la GPIO (15, GPIO. HIGH)

ikiwa GPIO.input (17) == 1:

Pato la GPIO (15, GPIO. LOW)

isipokuwa KeyboardInterrupt: GPIO.cleanup ()

Hatua ya 3: Servo Motor

Servo Motor
Servo Motor

Kuunganisha gari la servo

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

Sasa tunaweza kujaribu ikiwa sensorer yetu iliyoongozwa na nuru inafanya kazi na hati hii ndogo

kuagiza RPi. GPIO kama GPIOingiza wakati

GPIO.setmode (GPIO. BCM)

Usanidi wa GPIO (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

mwanzo (12.5)

jaribu:

wakati Kweli:

p. ChangeDutyCycle (12.5)

saa. kulala (1)

p. ChangeDutyCycle (2.5)

saa. kulala (1)

isipokuwa KeyboardInterrupt:

simama ()

Usafishaji wa GPIO ()

Hatua ya 4: RFID Reader RC522

Msomaji wa RFID RC522
Msomaji wa RFID RC522

Kuunganisha 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

Sasa tunaweza kujaribu ikiwa msomaji wetu wa RFID anafanya kazi na hati hii ndogo

kuagiza RPi. GPIO kama GPIO

kutoka mfrc522 kuagiza SimpleMFRC522

msomaji = RahisiMFRC522 ()

maandishi = pembejeo ('Data mpya:')

chapa ("Sasa weka lebo yako kuandika")

msomaji andika (maandishi)

chapisha ("Imeandikwa")

Hatua ya 5: Pakia Kiini HX711

Pakia Kiini HX711
Pakia Kiini HX711

Kuunganisha kiini cha Mzigo kwa bodi ya dereva ya HX711

  1. Nyekundu -> E +
  2. Nyeusi -> E-
  3. Kijani -> A +
  4. Nyeupe -> A-

Kuunganisha kiini cha Mzigo

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

Sasa tunaweza kujaribu ikiwa seli yetu ya mzigo inafanya kazi na hati hii ndogo

kuagiza RPi. GPIO kama GPIOingiza wakati wa kuagiza sys kutoka klass. HX711 kuagiza HX711

def cleanAndExit (): chapa ("Kusafisha…") GPIO.cleanup () chapa ("Kwaheri!") sys.exit ()

hx = HX711 (22, 27)

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

hx.set_reference_unit (2167)

hx.reset ()

hx.tare ()

wakati Kweli:

jaribu:

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

chapisha (val)

hx.power_down ()

hx.power_up ()

saa. kulala (0.5)

isipokuwa (KinandaInterrupt, SystemExit): safiAndExit ()

Hatua ya 6: LCD (16 * 2)

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

Kuunganisha 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. VDD -> 5V
  14. A -> 5V
  15. K -> GND
  16. V0 -> pini ya kati ya potentio

Sasa tunaweza kujaribu ikiwa skrini yetu ya LCD inafanya kazi na hati hii ndogo

kuagiza Adafruit_CharLCD kama LCDlcd_rs = 21

lcd_en = 20

lcd_d4 = 23

lcd_d5 = 26

lcd_d6 = 19

lcd_d7 = 13

nguzo lcd_ = 16

lcd_rows = 2

lcd = LCD.

ujumbe wa lcd ('169.254.10.1')

Hatua ya 7: Mzunguko Kamili

Mzunguko Kamili
Mzunguko Kamili

hapa unaweza kuangalia tena ikiwa mzunguko mzima ni sahihi

Hatua ya 8: Kuanza kwa Kesi

Kuanza kwa Kesi
Kuanza kwa Kesi
Kuanza kwa Kesi
Kuanza kwa Kesi
Kuanza kwa Kesi
Kuanza kwa Kesi
Kuanza kwa Kesi
Kuanza kwa Kesi

Nilitumia mtoaji wa cornflake kama hifadhi ya chakula cha mbwa

Niliunganisha gurudumu kwenye mtoaji kwa gari langu la servo

Sasa naweza kudhibiti gurudumu na gari langu la servo na kuacha chakula kutoka kwenye hifadhi

Mwisho wa hifadhi kuna bomba la PVC lililounganishwa ambalo hutupa chakula vizuri kwenye kitanda

Mimi hutumia kuni kama casing

Hatua ya 9: Kuiweka Pamoja

Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja
Kuiweka Pamoja

Hatua ya 10: Wavuti

Tovuti
Tovuti
Tovuti
Tovuti
Tovuti
Tovuti
Tovuti
Tovuti

Sasa mashine yetu inafanya kazi tunahitaji kupata wavuti kwenye pi. Sasa kila kitu kiko juu na kuendesha maagizo kadhaa juu ya jinsi tovuti inavyofanya kazi.

Unaweza kuunganisha wewe pi kwa wifi kwa kuziba kebo ya hdmi na kuamilisha kwa njia hii

Ukurasa wa kwanza ni ukurasa wa nyumbani, hapa unaweza kuona:

  • Maelezo ya wakati halisi kuhusu taa
  • Maelezo ya wakati halisi kuhusu chakula kilichobaki kwenye bakuli
  • Unaweza kuacha chakula
  • Maelezo kuhusu mbwa

Ukurasa wa pili ni ukurasa wa kuhariri, hapa unaweza kuhariri:

  • jina la mnyama wako
  • umri wa mnyama wako
  • uzani wa mnyama wako
  • picha ya mnyama wako

Ukurasa wa tatu ni ukurasa wa historia, hapa unaweza kuona:

  • wakati taa iliendelea
  • wakati mbwa amekula
  • wakati chakula kimeshuka

Ukurasa wa nne ni ukurasa wa mipangilio, hapa unaweza kuhariri:

  • wakati chakula kinahitaji kushuka
  • kiasi cha chakula cha kushuka
  • chakula cha juu / siku
  • mwanga

Ilipendekeza: