Мазмуну:
- Жабдуулар
- 1 -кадам: Pi орнотуу
- 2 -кадам: Жарык жана жарык сенсору
- 3 -кадам: Servo Motor
- 4 -кадам: RFID Reader RC522
- 5 -кадам: Load Cell HX711
- 6 -кадам: ЖК (16*2)
- 7 -кадам: Толук Circuit
- 8 -кадам: Иштин башталышы
- 9 -кадам: Аны бириктирүү
- 10 -кадам: Вебсайт
Video: Автоматтык ит тараткыч: 10 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:40
Менин проектим менен, итиңизди үйдө жалгыз калтырсаңыз, ал эч качан тамаксыз калбайт.
Автоматтык азыктандыргыч жүгөрү үлпөт таркаткычынан "бузулат". Диспенсер - бул иттин тамагы үчүн резервуар, түбүндөгү дөңгөлөк servo моторго туташат, ал бешик дээрлик бош калганда жана ит жетишерлик жакын болгондо тамакты автоматтык түрдө түшүрөт. Диспенсердин түбүндө поливинилхлорид түтүгү болот, ал иттин тамагын бешикке жакшы түшүрөт. Бул долбоордо 3 сенсор болот, алардын 2си класска кирбейт жана 1и аткаруучу болуп саналат.
Биринчи сенсор RFID окурманы. Бул сенсор ит бешикке жакын келгенде текшерет. RFID иттин жакасына киргизилет. Эгерде бул сенсор иттин жетишерлик жакын экенин байкаса, анда ал экинчи сенсорго сигнал берет. Экинчи сенсор - бул бешиктеги тамак -ашты өлчөөчү салмагы сенсору (класста камтылбайт), эгерде бул сенсор салмагы өтө төмөн экенин аныктаса, ал тамакты бешикке түшүрө турган серво моторуна сигнал жөнөтөт (RFID жана салмак сенсорунун ырастоосу менен). Кыскача айтканда, ит бешикке жакын болгондо жана бешик дээрлик бош калганда гана кошумча тамак алат. Албетте, веб -сервер аркылуу өзүңүздү орното турган чектөө бар; ит күнүнө өтө көп тамак албашы үчүн. Үчүнчү сенсор - бул бешиктин айланасы өтө караңгы болгондо LED прожекторун жарык кылган жарык сенсору. Демек, кыймылдаткыч диспенсердеги дөңгөлөккө туташкан servo мотор болот.
Бул долбоор иттерге арналган, аны башка кичинекей үй жаныбарлары үчүн да колдонсоңуз болот.
Жабдуулар
Raspberry Pi 3
Жүктөө клеткасы (1KG)
HX711 жүк клеткасынын күчөткүчү
Тамак табагы
Дан таркатуучу
Жыгач (+ бурамалар жана отверткалар)
Жарык сенсору
Жетектеген
RFID окурман rc522
Өткөргүч зымдар
16*2 ЖК (дисплей)
Серво мотору
5V электр адаптери
Резистор 470 Ом
PVC түтүк
Breadbord
Потенциометр
Көрдүм
Күмүш кагаз
Кремний тапанчасы
1 -кадам: Pi орнотуу
Жайгашуу
Баштоо үчүн, адегенде Пиңизди орнотушубуз керек.
Сизге эки нерсе керек болот:
- Win32 Disk Imager
- Raspbian OS сүрөтү
ZIP файлын жүктөп алып, аны каалаган жерге чыгарыңыз.
Орнотуу
1. Папка сүрөтчөсү аркылуу сүрөтүңүздү тандаңыз
2. Ылдый түшүп SD картаңызды тандаңыз
3. Жазууну басыңыз
Эми биз Piге кире алгыбыз үчүн, кээ бир жөндөөлөр менен кошумча шылтоо кылышыбыз керек.
1. SD картанын жүктөө каталогуна өтүңүз
2. "cmdline.txt" файлын ачыңыз
3. Кошуу ip = 169.254.10.1 Тексттин узун сабынын аягында боштук менен бөлүнгөн (ошол эле сапта).
4. Файлды сактаңыз.
5. Ошол каталогдо кеңейтүүсү жок ssh аттуу файлды түзүңүз
Эми сиз SD картаны чыгарып, аны Пиңизге сала аласыз.
Туташууда
Эми биз программаны орнотушубуз керек.
Алгач LAN кабелин туташтырыңыз, бир учу столго/ноутбукка, экинчиси Пиңизге.
Эми Raspberry Pi'ни жүктөңүз.
1. Putty программасын 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 терип, WLAN0 интерфейстеринде IPиңиз бар -жогун текшериңиз.
Пакеттер
Эми биз интернетке туташкандан кийин, кээ бир пакеттерди орнотууга туура келет.
Адегенде пакеттердин тизмесин жаңыртуубуз керек.
sudo apt update
Python
Биз Raspbianды 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
Маалымат базасын орнотуу үчүн төмөнкү сапты чаптаңыз.
sudo apt install mariadb-server
Андан кийин биз орнотууну камсыз кылышыбыз керек.
mysql_secure_installation
Ал бизден учурдагы түпнуска сырсөзүн сурайт, анткени бизде бир гана enter басуу жок.
Андан кийин, у тамгасынын у тамгасын киргизүүнү каалайбызбы, жокпу деп сурап жатат.
Кийинки суроолор үчүн Y киргизиңиз.
Андан кийин биз күзгү үчүн колдоно турган колдонуучу түзөбүз.
MySQL кабыгын киргизиңиз:
- Өзүбүздү түп тамырынан бери көтөрөбүз
Sudo -i
- MySQL кабыгын киргизиңиз
Mysql
- Өзүңүздүн колдонуучу атыңыз менен алмаштырыңыз жана ошол эле менен
*. * боюнча ''@'%' '' менен аныкталган бардык артыкчылыктарды берүү;
- '' менен аныкталган ''@'%' үчүн *. * боюнча бардык артыкчылыктарды берүү;
Андан кийин биз маалымат базабызды кошобуз.
Apache Webserver
Вебсерверди орнотуу үчүн төмөнкү линияны иштетиңиз.
sudo apt install apache2 -y
Python пакеттери
Биз бул пакеттерди орнотобуз
- Колба
- Flask-Cors
- Flask-MySQL
- Flask-SocketIO
- PyMySQL
- Гевент
- Gevent-вебсокети
-
- Python-socketio
- Сурамдар
- Wsaccel
- Ужсон
Жасоо менен
пип орнотуу Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL Gevent Gevent-WebSocket httplib2 python-socketio wsaccel ujson mfrc522 hx711 Adafruit-CharLCD
2 -кадам: Жарык жана жарык сенсору
Лидерди туташтыруу
- S -> GPIO15 (rxd0)
- + -> 5V
- G -> Резистор 470 ом жана GND
Жарык сенсорун туташтыруу
- ЧЫГЫП -> GPIO17
- VCC -> 3.3V
- GND -> GND
Эми биз өзүбүздүн лед жана жарык сенсорубуз ушул кичине сценарий менен иштээрин текшере алабыз
GPO GPIO.setmode (GPIO. BCM) катары RPi. GPIO импорттоо
GPIO.setup (15, GPIO. OUT)
GPIO.setup (17, GPIO. IN)
аракет кыл: чынында:
эгер GPIO.input (17) == 0:
GPIO.output (15, GPIO. HIGH)
эгер GPIO.input (17) == 1:
GPIO.output (15, GPIO. LOW)
KeyboardInterruptдон башка: GPIO.cleanup ()
3 -кадам: Servo Motor
Серво моторун туташтыруу
- ЧЫГЫП -> GPIO18
- VCC -> 5V
- GND -> GND
Эми биз өзүбүздүн лед жана жарык сенсорубуз ушул кичине сценарий менен иштээрин текшере алабыз
GPO импорттоо убактысы катары RPi. GPIO импорттоо
GPIO.setmode (GPIO. BCM)
GPIO.setup (18, GPIO. OUT)
б = GPIO. PWM (18, 50)
p.start (12.5)
аракет кыл:
чын болсо:
p. ChangeDutyCycle (12.5)
убакыт.уйку (1)
p. ChangeDutyCycle (2.5)
убакыт.уйку (1)
KeyboardInterruptдон башка:
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 окурманыбыз бул кичинекей скрипт менен иштээрин текшере алабыз
GPO катары RPi. GPIO импорттоо
mfrc522 импортунан SimpleMFRC522
окурман = SimpleMFRC522 ()
текст = киргизүү ('Жаңы маалыматтар:')
басып чыгаруу ("Эми жазуу үчүн тегиңизди коюңуз")
окурман.жазуу (текст)
басып чыгаруу ("Жазылган")
5 -кадам: Load Cell HX711
Load клеткасын HX711 драйв тактасына илип коюу
- Кызыл -> E+
- Кара -> E-
- Жашыл -> A+
- Ак -> A-
Load клеткасын туташтыруу
- DT-> GPIO27
- SCK -> GPIO22
- КЫЗЫЛ -> 3.3V
- GND -> GND
Эми биз жүктөө клеткабыз ушул кичине скрипт менен иштээрин текшере алабыз
GPIO катары RPi. GPIO импорттоо klasses. HX711ден импорттоо системасын импорттоо
def cleanAndExit (): басып чыгаруу ("Тазалоо…") GPIO.cleanup () басып чыгаруу ("Кош!") sys.exit ()
hx = HX711 (22, 27)
hx.set_reading_format ("LSB", "MSB")
hx.set_reference_unit (2167)
hx.reset ()
hx.tare ()
чын болсо:
аракет кыл:
val = max (0, int (hx.get_weight (5)))
басып чыгаруу (вал)
hx.power_down ()
hx.power_up ()
убакыт.уйку (0.5)
башка (KeyboardInterrupt, SystemExit): cleanAndExit ()
6 -кадам: ЖК (16*2)
ЖКди туташтыруу
- 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 -> орто потенциондук пин
Эми биз ЖК экраныбыз бул кичинекей скрипт менен иштээрин текшере алабыз
Adafruit_CharLCDди LCDlcd_rs = 21 катары импорттоо
lcd_en = 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')
7 -кадам: Толук Circuit
бул жерде сиз бүтүндөй схеманын туура экендигин кайра текшере аласыз
8 -кадам: Иштин башталышы
Мен жүгөрүнүн үлпөт диспенсерин иттин тамагы үчүн суу сактагыч катары колдоном
Диспенсердеги дөңгөлөктү серво моторума туташтырдым
Эми мен серво моторум менен рулду башкара алам жана суу сактагычтан тамак таштайм
Суу сактагычтын аягында ПВХ түтүгү бар, ал тамакты бешикке жакшы түшүрөт
Мен жыгачты корпус катары колдоном
9 -кадам: Аны бириктирүү
10 -кадам: Вебсайт
Эми биздин машина иштейт, биз веб -сайтты piге жеткиришибиз керек.
Сиз өзүңүздү Wi -Fiга hdmi кабелин туташтырып, ушул жол менен активдештире аласыз
Биринчи бет үй баракчасы, бул жерден көрө аласыз:
- Жарык жөнүндө реалдуу маалымат
- Идиште калган тамак жөнүндө реалдуу убакыт маалыматы
- Тамакты таштасаңыз болот
- Ит тууралуу маалымат
Экинчи барак - бул түзөтүү барагы, бул жерде сиз түзөтө аласыз:
- сиздин үй жаныбарыңыздын аты
- сиздин үй жаныбарыңыздын жашы
- сиздин үй жаныбарыңыздын салмагы
- сиздин үй жаныбарыңыздын сүрөтү
Үчүнчү бет - тарых баракчасы, бул жерден көрө аласыз:
- качан жарык күйдү
- ит жегенде
- тамак түшкөндө
Төртүнчү бет - бул орнотуулар барагы, бул жерде сиз түзөтө аласыз:
- тамакты түшүрүү керек болгондо
- тамактын көлөмү түшүшү керек
- максимум тамак/күн
- жарык
Сунушталууда:
Автоматтык кол тазалагыч: 8 кадам
Автоматтык кол тазалагыч: COVID-19 пандемиясы 2020-жылы коомчулук көп уккан нерсеге айланды. "COVID-19" деген сөздү уккан ар бир жаран дароо "коркунучтуу", "өлүмгө алып барат", "тазалыкты сактаңыз" деген сөздөрдү ойлоп калат. ", Жана башка сөздөр. Бул COVID-19 дагы
DIY автоматтык кол тазалоочу диспенсери: 6 кадам
DIY автоматтык кол дезинфекциялоочу диспенсери: Бул проектте биз Авто кол тазалоочу каражаттарды курабыз. Бул долбоордо Arduino, Ultrasonic Sensor, Water pump жана Hand Sanitizer колдонулат. УЗИ сенсору дезинфекциялоочу машинанын розеткасынын астындагы колдордун бар экендигин текшерүү үчүн колдонулат
Esp32 менен автоматтык гел спирти диспенсери: 9 кадам
Esp32 менен автоматтык гел спирти диспенсери: Үйрөткүчтө биз толук прототипти кантип жасоону, esp32 менен автоматтык гель спирт диспенсерин чогултууну көрөбүз, ал этап-этабы менен чогултууну, электрондук схеманы, ошондой эле баштапкы кодду түшүндүрөт. кадам
Автоматтык Dog Feederrr !!: 4 кадам
Automatic Dog Feederrr !!: Оңой, Пайдалуу жана Ден соолуктуу
Суу сактагыч менен WiFi автоматтык өсүмдүк азыктандыргычы - Ички/Тышкы өстүрүү - Суу өсүмдүктөрү автоматтык түрдө Алыстан Мониторинг менен: 21 кадам
WiFi суу сактагычы бар автоматтык өсүмдүк азыктандыргычы - ички/тышкы өстүрүү - суу өсүмдүктөрү автоматтык түрдө алыстан байкоо жүргүзүү менен: Бул окуу куралында биз өсүмдүктөрдү автоматтык түрдө сугаруучу жана Adosia платформасынын жардамы менен алыстан көзөмөлгө алына турган жабык/сырткы өсүмдүктөрдү багуу тутумун кантип орнотууну көрсөтөбүз