Բովանդակություն:
- Պարագաներ
- Քայլ 1: Pi- ի կարգավորում
- Քայլ 2: Առաջնորդվող և թեթև ցուցիչ
- Քայլ 3: Servo Motor
- Քայլ 4: RFID Reader RC522
- Քայլ 5: Բեռնել բջիջը HX711
- Քայլ 6: LCD (16*2)
- Քայլ 7: Լրիվ միացում
- Քայլ 8: Գործի սկիզբ
- Քայլ 9: Միավորել այն
- Քայլ 10: Կայք
Video: Շների ավտոմատ դիսպենսեր `10 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:47
Իմ նախագծով ես համոզվում եմ, որ երբ ձեր շանը մենակ եք թողնում տանը, նա երբեք առանց սննդի չի մնում:
Ավտոմատ սնուցողը «կոտրվելու է» եգիպտացորենի փաթիլների դիսպենսերից: Դիսպենսերը շների սննդի ջրամբարն է, ներքևի անիվը միացված կլինի սերվո շարժիչին, որն ինքնաբերաբար կաթեցնում է սնունդը, երբ օրորոցը գրեթե դատարկ է, և երբ շունը բավական մոտ է: Դիսպենսերների ներքևում կցված կլինի PVC խողովակ, որը շան սնունդը գեղեցիկ կթափի օրորոցի մեջ: Այս նախագիծը, հետևաբար, կունենա 3 տվիչ, որոնցից 2 -ը ներառված չեն դասարանում, իսկ 1 -ը `շարժիչ:
Առաջին սենսորը RFID ընթերցողն է: Այս սենսորը ստուգում է, երբ շունը մոտենում է օրորոցին: RFID- ը կներառվի շան վզիկի մեջ: Եթե այս սենսորը նկատի, որ շունը բավական մոտ է, ապա ազդանշան կփոխանցի երկրորդ սենսորին: Երկրորդ սենսորը քաշի սենսորն է (դասարանում ընդգրկված չէ), որը չափում է օրորոցի սնունդը, եթե այս սենսորը հայտնաբերի, որ քաշը չափազանց ցածր է, այն ազդանշան կուղարկի սերվո շարժիչին, որը սնունդը կթափի օրորոցի մեջ (RFID- ի և քաշի տվիչի հաստատմամբ): Մի խոսքով, շունը լրացուցիչ սնունդ է ստանում միայն այն դեպքում, երբ նա բավականաչափ մոտ է օրորոցին և երբ օրորոցը գրեթե դատարկ է: Իհարկե, կա նաև սահմանափակում, որը կարող եք ինքներդ սահմանել վեբ սերվերի միջոցով. որպեսզի շունը օրական շատ սնունդ չստանա: Երրորդ սենսորը լույսի ցուցիչ է, որը լուսավորում է լուսադիոդային լուսարձակը, երբ օրորոցի շուրջը շատ մութ է: Ուստի շարժիչը կլինի սերվո շարժիչ, որը միացված է դիսպենսերների անիվին:
Այս նախագիծը նախատեսված է շների համար, կարող եք օգտագործել նաև այլ փոքր ընտանի կենդանիների համար:
Պարագաներ
Ազնվամորի Պի 3
Բեռնախցիկ (1 կգ)
HX711 բեռնախցիկի ուժեղացուցիչ
Սննդի աման
Հացահատիկի դիսպենսեր
Փայտ (+ պտուտակներ և պտուտակահան)
Լույսի ցուցիչ
Գլխավորած
RFID ընթերցող rc522
Jumper լարերը
16*2 LCD (ցուցադրում)
Սերվո շարժիչ
5V հոսանքի ադապտեր
Դիմադրություն 470 Օմ
PVC խողովակ
Breadbord
Պոտենցիոմետր
Տեսավ
Հղկող թուղթ
Սիլիկոնային ատրճանակ
Քայլ 1: Pi- ի կարգավորում
Կարգավորում
Սկսելու համար մենք նախ պետք է կազմաձևենք ձեր Pi- ն:
Ձեզ անհրաժեշտ կլինի երկու բան.
- Win32 Disk Imager ՝
- Raspbian OS- ի պատկերը ՝ https://www.raspberrypi.org/downloads/raspbian/ կայքից
Ներբեռնեք ZIP ֆայլը և հանեք այն ուր ուզում եք:
Տեղադրումը
1. Ընտրեք ձեր պատկերը թղթապանակի պատկերակի միջոցով
2. Ընտրեք ձեր SD քարտը բացվող միջոցով
3. Կտտացրեք գրել
Այժմ մենք պետք է լրացուցիչ կարգի բերենք որոշ կարգավորումներ, որպեսզի կարողանանք մուտք գործել Pi:
1. Գնացեք SD քարտի բեռնման գրացուցակ
2. Բացեք «cmdline.txt» ֆայլը
3. Ավելացնել ip = 169.254.10.1 Տեքստի երկար տողի վերջում, որը բաժանված է բացատով (նույն տողի վրա):
4. Պահեք ֆայլը:
5. Ստեղծեք ssh անունով ֆայլ ՝ առանց ընդլայնման նույն գրացուցակում
Այժմ կարող եք հեռացնել SD քարտը և տեղադրել այն ձեր Pi- ում:
Միացում
Այժմ մենք պետք է տեղադրենք ծրագրակազմը:
Սկզբում միացրեք LAN մալուխը, մի ծայրը ձեր աշխատասեղանին/նոութբուքում, իսկ մյուսը ՝ ձեր Pi- ում:
Այժմ միացրեք Raspberry Pi- ն:
1. Տեղադրեք tyեփամածիկ https://www.putty.org/ կայքից
2. IP վանդակում մուտքագրեք 169.254.10.1:
3. Համոզվեք, որ SSH- ն ընտրված է, և 22 պորտը լրացված է:
4. Սեղմեք բաց
5. Լրացրեք օգտվողի անունը `pi
6. Լրացրեք գաղտնաբառը `ազնվամորի
Raspi-config
Բացեք Raspi-config ծրագիրը ՝ օգտագործելով.
sudo raspi-config
Միացրեք միջերեսերի կատեգորիայի հետևյալ ընտրանքները
- 1-մետաղալար
- SPI
Անջատեք հետևյալ ընտրանքները բեռնման ընտրանքների կատեգորիայում
- Ջուր շաղ տալ էկրանին
Վերջապես, բեռնման ընտրանքների կատեգորիայի Desktop/CLI կարգավորումը սահմանեք Desktop Autologin:
WiFi
Շների սնուցողի համար մենք պետք է ունենանք wifi կապ, այնպես որ համոզվեք, որ ձեր WiFi հավատարմագրերը մոտ են:
1. Գնացեք արմատային ռեժիմ
sudo -i
2. Տեղադրեք այս տողը, բայց համոզվեք, որ SSID- ը և գաղտնաբառը երկուսն էլ լրացված են
wpa_passphrase "SSID" "PASSWORD" >> /etc/wpa_supplicant/wpa_supplicant.conf
3. Մուտքագրեք WPA հաճախորդը:
Wpa_cli
4. Ընտրեք ինտերֆեյսը
Ինտերֆեյս wlan0
5. Վերաբեռնեք կազմաձևը
Վերակազմավորել
Համոզվեք, որ ճիշտ եք միացված ՝ մուտքագրելով ip a և տեսնելով, արդյոք ունեք IP WLAN0 միջերեսների վրա:
Փաթեթներ
Այժմ, երբ մենք միացված ենք ինտերնետին, մենք ստիպված կլինենք տեղադրել որոշ փաթեթներ:
Նախ, մենք պետք է թարմացնենք փաթեթների ցուցակները վերջինի համար:
sudo apt թարմացում
Պիթոն
Մենք կստիպենք Raspbian- ին օգտագործել Python 3 -ը
Update-alternatives-Տեղադրեք/usr/bin/python python /usr/bin/python2.7 1
թարմացում-այլընտրանքներ-տեղադրեք/usr/bin/python python/usr/bin/python3 2
ՄարիաԴԲ
Տեղադրեք հետևյալ տողը ՝ տվյալների բազան տեղադրելու համար:
sudo apt տեղադրել mariadb-server
Այնուհետեւ մենք պետք է ապահովենք մեր տեղադրումը:
mysql_secure_installation
Այն մեզանից կպահանջի ընթացիկ արմատային գաղտնաբառ, քանի որ մենք չունենք, պարզապես սեղմեք enter:
Հաջորդը այն հարցնում է, թե արդյոք մենք ցանկանում ենք արմատային գաղտնաբառ մուտքագրել y- ում, քանի որ մենք ուզում ենք մեկը:
Հաջորդ հարցերի համար պարզապես մուտքագրեք Y.
Հաջորդը մենք կստեղծենք օգտվող, որը մենք կկարողանանք օգտագործել հայելու համար:
Մուտքագրեք mysql shell- ը ՝ կատարելով.
- Բարձրացրեք մեզ արմատավորելու համար
Սուդո -ի
- Մուտքագրեք mysql shell- ը
Mysql
- Փոխարինեք ձեր սեփական օգտվողի անունով և նույնով ՝
շնորհել բոլոր արտոնությունները *. * - ին ''@'%' - ով ';
- *. * բոլոր արտոնությունները շնորհել ''@'%' - ով ';
Հաջորդը մենք կավելացնենք մեր տվյալների բազան:
Apache վեբ սերվեր
Վեբ սերվերը տեղադրելու համար գործարկեք ստորև բերված տողը:
sudo apt տեղադրել apache2 -y
Python փաթեթներ
Մենք պատրաստվում ենք տեղադրել այս փաթեթները
- շիշ
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Գեվենտ
- Gevent-websocket
-
- Python-socketio
- Հարցումներ
- Վասաչել
- Ույսոն
Կատարելով
pip տեղադրել Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket httplib2 python-socketio պահանջներ wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
Քայլ 2: Առաջնորդվող և թեթև ցուցիչ
Կապելով led- ը
- S -> GPIO15 (rxd0)
- + -> 5 Վ
- G -> Resistor 470 ohm և GND
Լույսի ցուցիչի միացում
- ԴՈUTՐՍ -> GPIO17
- VCC -> 3.3V
- GND -> GND
Այժմ մենք կարող ենք ստուգել, թե արդյոք մեր լուսադիոդային և լուսային տվիչն աշխատում է այս փոքրիկ սցենարով
ներմուծել RPi. GPIO- ն որպես GPIO GPIO.setmode (GPIO. BCM)
GPIO.setup (15, GPIO. OUT)
GPIO.setup (17, GPIO. IN)
փորձել: while True:
եթե GPIO.input (17) == 0:
GPIO.output (15, GPIO. HIGH)
եթե GPIO.input (17) == 1:
GPIO.putput (15, GPIO. LOW)
բացառությամբ Ստեղնաշարի Անընդհատ: GPIO.cleanup ()
Քայլ 3: Servo Motor
Սերվո շարժիչի միացում
- Ելք -> GPIO18
- VCC -> 5V
- GND -> GND
Այժմ մենք կարող ենք ստուգել, թե արդյոք մեր լուսադիոդային և լուսային տվիչն աշխատում է այս փոքրիկ սցենարով
ներմուծեք RPi. GPIO- ն որպես GPIOimport ժամանակ
GPIO.setmode (GPIO. BCM)
GPIO.setup (18, GPIO. OUT)
p = GPIO. PWM (18, 50)
p.start (12.5)
փորձել:
իսկական True:
էջ. ChangeDutyCycle (12.5)
ժամանակ. քուն (1)
էջ. ChangeDutyCycle (2.5)
ժամանակ. քուն (1)
բացառությամբ Ստեղնաշարի
p.stop ()
GPIO.cleanup ()
Քայլ 4: RFID Reader RC522
RFID- ի միացում
- RST -> GPIO6
- MISO -> GPIO9 (MISO)
- MOSI -> GPIO10 (MOSI)
- SCK -> GPIO11 (SPISCLK)
- SDA -> GPIO8 (SPICS0)
- 3.3V -> 3.3V
- GND -> GND
Այժմ մենք կարող ենք ստուգել, թե արդյոք մեր RFID ընթերցողն աշխատում է այս փոքրիկ սցենարի հետ
ներմուծեք RPi. GPIO- ն որպես GPIO
mfrc522 ներմուծումից SimpleMFRC522
ընթերցող = SimpleMFRC522 ()
տեքստ = մուտքագրում ('Նոր տվյալներ.')
տպել («Այժմ տեղադրեք ձեր պիտակը գրելու համար»)
ընթերցող. գրել (տեքստ)
տպագիր («Գրված»)
Քայլ 5: Բեռնել բջիջը HX711
Բեռի բջիջը միացնելով HX711 վարորդական տախտակին
- Կարմիր -> E+
- Սև -> Ե-
- Կանաչ -> A+
- Սպիտակ -> A-
Բեռի բջիջը միացնելը
- DT-> GPIO27
- SCK -> GPIO22
- ԿԱՐՄԻՐ -> 3.3 Վ
- GND -> GND
Այժմ մենք կարող ենք ստուգել, թե արդյոք մեր բեռնախցիկն աշխատում է այս փոքրիկ սցենարով
ներմուծել RPi. GPIO- ն որպես GPIOimport time ներմուծման sys ակնոցներից: HX711 ներմուծել HX711
def cleanAndExit (): print («Մաքրում …») 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 ()
իսկական True:
փորձել:
val = max (0, int (hx.get_weight (5)))
տպել (val)
hx.power_down ()
hx.power_up ()
ժամանակ. քուն (0.5)
բացառությամբ (KeyboardInterrupt, SystemExit) ՝ cleanAndExit ()
Քայլ 6: LCD (16*2)
LCD- ի միացում
- RS -> GPIO21
- RW -> GND
- E-> GPIO20
- D0 -> GPIO16
- D1 -> GPIO12
- D2 -> GPIO6
- D3 -> GPIO24
- D4 -> GPIO23
- D5 -> GPIO26
- D6 -> GPIO19
- D7 -> GPIO13
- VSS -> GND
- VDD -> 5V
- A -> 5V
- K -> GND
- V0 -> միջին հզորության քորոց
Այժմ մենք կարող ենք ստուգել, թե արդյոք մեր LCD էկրանն աշխատում է այս փոքրիկ սցենարով
ներմուծել Adafruit_CharLCD- ը որպես LCDlcd_rs = 21
lcd_en = 20
lcd_d4 = 23
lcd_d5 = 26
lcd_d6 = 19
lcd_d7 = 13
lcd_colunns = 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. հաղորդագրություն ('169.254.10.1')
Քայլ 7: Լրիվ միացում
այստեղ կարող եք նորից ստուգել ՝ արդյոք ամբողջ սխեման ճիշտ է
Քայլ 8: Գործի սկիզբ
Ես օգտագործել եմ եգիպտացորենի փաթիլների դիսպենսեր ՝ որպես շների սննդի պահեստ
Դիսպենսերային անիվը միացրի իմ սերվո շարժիչին
Այժմ ես կարող եմ ղեկը կառավարել իմ servo շարժիչով և սնունդը դուրս գցել ջրամբարից
Theրամբարի վերջում միացված է PVC խողովակ, որը սնունդը գեղեցիկ գցում է օրորոցի մեջ
Ես փայտ եմ օգտագործում որպես պատյան
Քայլ 9: Միավորել այն
Քայլ 10: Կայք
Այժմ մեր մեքենան աշխատում է, մենք պետք է կայքը տեղափոխենք pi:
Դուք կարող եք միացնել ձեր pi- ն wifi- ին `միացնելով HDMI մալուխը և ակտիվացնել այս կերպ
Առաջին էջը գլխավոր էջն է, այստեղ կարող եք տեսնել
- Լույսի մասին իրական ժամանակի տեղեկատվություն
- Տեղեկատվություն ամանի մեջ մնացած սննդի մասին
- Դուք կարող եք սնունդ թողնել
- Տեղեկատվություն շան մասին
Երկրորդ էջը խմբագրման էջն է, այստեղ կարող եք խմբագրել
- ձեր ընտանի կենդանու անունը
- ձեր ընտանի կենդանու տարիքը
- ձեր ընտանի կենդանու քաշը
- ձեր ընտանի կենդանու լուսանկարը
Երրորդ էջը պատմության էջն է, այստեղ կարող եք տեսնել
- երբ լույսն իսկապես վառվեց
- երբ շունը կերել է
- երբ սնունդը ընկել է
Չորրորդ էջը պարամետրերի էջն է, այստեղ կարող եք խմբագրել
- երբ սնունդը պետք է ընկնի
- նվազեցվող սննդի քանակը
- առավելագույն սնունդ/օր
- լույսը
Խորհուրդ ենք տալիս:
Ավտոմատ շների սնուցող !!: 4 քայլ
Ավտոմատ շների սնուցող !!: Հեշտ, օգտակար և առողջ
Ավտոմատ շների սնուցիչ ՝ 6 քայլ
Ավտո շների սնուցող. Սա իմ ընտանի կենդանիների սնուցողի նախագիծն է: Իմ անունը Պարկեր է, ես 11 -րդ դասարանում եմ, և ես այս նախագիծը պատրաստեցի 2020 թվականի նոյեմբերի 11 -ին ՝ որպես CCA (Դասընթացի կուլմինացիոն գործունեություն) այս նախագծում, ես ձեզ ցույց կտամ, թե ինչպես կարելի է ընտանի կենդանիների ավտոմատ սնուցող սարքել Arduino UNO- ի հետ:
Ավտոմատ գնդակ շների համար `6 քայլ
Ավտոմատ գնդակ շների համար. Մենք երկուսս էլ ունենք շներ, և ինչպես բոլորը գիտեն, շները կարող էին ամբողջ օրը գնդակ խաղալ: Ահա թե ինչու, մենք մտածեցինք ավտոմատ գնդակ գցելու միջոց
Ավտոմատ շների սնուցիչ ՝ 5 քայլ
Ավտոմատ շների սնուցող. Սա քայլ առ քայլ ձեռնարկ է, թե ինչպես կարելի է ավտոմատ սնուցող սարք անել Arduino- ի միջոցով: Սա կատարյալ է, եթե օրվա մեծ մասը տնից դուրս եք: Ավելի շուտ, քան ձեր շունը ստիպված լինի ամբողջ օրը սպասել սննդի, կամ տանը բադիկ ուտել ՝ այն կերակրելու համար, այս սարքը
Raspberry Pi ավտոմատ շների սնուցող և կենդանի վիդեո հոսող ՝ 3 քայլ
Raspberry Pi ավտոմատ շների սնուցող և կենդանի վիդեո հոսող սարք. Ես աշխատում էի առավոտյան 11 -ից մինչև երեկոյան 9 -ը: Իմ շունը խենթանում է, եթե ես նրան ժամանակին չեմ կերակրում: Surfed google- ը գնելու է սննդի ավտոմատ սնուցողներ, դրանք հասանելի չեն Հնդկաստան և թանկարժեք ներմուծող