Агуулгын хүснэгт:

Автомат нохой тараагч: 10 алхам
Автомат нохой тараагч: 10 алхам

Видео: Автомат нохой тараагч: 10 алхам

Видео: Автомат нохой тараагч: 10 алхам
Видео: Секрет поддержания чистоты на кухне | Как организовать и хранить 2024, Арваннэгдүгээр
Anonim
Автомат нохой тараагч
Автомат нохой тараагч
Автомат нохой тараагч
Автомат нохой тараагч
Автомат нохой тараагч
Автомат нохой тараагч

Миний төслийг хэрэгжүүлснээр та нохойгоо гэртээ ганцааранг нь орхиход тэр хэзээ ч хоолгүй байдаггүй гэдэгт итгэлтэй байна.

Автомат тэжээгчийг cornflakes диспенсерээс "хакердах" болно. Диспенсер нь нохойн хоол хүнс хадгалах зориулалттай усан сан бөгөөд доод талын дугуй нь servo мотортой холбогдсон байх бөгөөд хүүхдийн ор бараг хоосон, нохой ойрхон байхад хоол унах болно. Диспенсерийн доод хэсэгт PVC хоолой хавсаргасан байх бөгөөд нохойн хоолыг хүүхдийн ор руу сайн хаях болно. Тиймээс энэхүү төсөл нь 3 мэдрэгчтэй байх бөгөөд тэдгээрийн 2 -ийг нь ангид оруулдаггүй бөгөөд 1 -ийг нь идэвхжүүлэгч болгоно.

Эхний мэдрэгч нь RFID уншигч юм. Энэ мэдрэгч нь нохой хүүхдийн ортой ойртох үед шалгадаг. RFID -ийг нохойны хүзүүвчнд оруулах болно. Хэрэв энэ мэдрэгч нохой хангалттай ойрхон байгааг анзаарсан бол энэ нь хоёр дахь мэдрэгч рүү дохио дамжуулах болно. Хоёрдахь мэдрэгч бол хүүхдийн ор дахь хоолыг хэмждэг жингийн мэдрэгч (ангилалд хамрагдаагүй) бөгөөд хэрэв энэ мэдрэгч хэт бага жинтэй болохыг олж мэдвэл энэ нь servo мотор руу дохио өгч, хоолыг хүүхдийн ор руу хаях болно. RFID болон жин мэдрэгчийн баталгаажуулалттай). Товчхондоо нохой нь хүүхдийн ортой ойрхон, хүүхдийн ор бараг хоосон байхад л нэмэлт хоол авдаг. Мэдээжийн хэрэг, вэб серверээр дамжуулан өөрийгөө тохируулах хязгаарлалт байдаг. нохой өдөрт хэт их хоол идэхгүй байх. Гурав дахь мэдрэгч бол хүүхдийн ор дэргэд хэтэрхий харанхуй байх үед LED прожекторыг гэрэлтүүлдэг гэрлийн мэдрэгч юм. Тиймээс идэвхжүүлэгч нь диспенсер дэх дугуйнд холбогдсон servo мотор байх болно.

Энэхүү төсөл нь нохойнд зориулагдсан бөгөөд та үүнийг бусад жижиг тэжээвэр амьтдад ашиглаж болно.

Хангамж

Raspberry Pi 3

Ачаалах үүр (1KG)

HX711 ачааллын үүр өсгөгч

Хоолны аяга

Үр тариа тараагч

Мод (+ шураг ба халив)

Гэрлийн мэдрэгч

Удирдсан

RFID уншигч rc522

Холбогч утас

16*2 LCD (дэлгэц)

Servo мотор

5V хүчдэлийн адаптер

Эсэргүүцэл 470 Ом

PVC хоолой

Breadbord

Потенциометр

Харсан

Зүлгүүрийн цаас

Цахиурын буу

Алхам 1: Pi тохиргоо

Pi тохиргоо
Pi тохиргоо

Тохируулах

Эхлэхийн тулд бид эхлээд таны Pi -г тохируулах хэрэгтэй болно.

Танд хоёр зүйл хэрэгтэй болно:

- Win32 Disk Imager -ийг https://sourceforge.net/projects/win32diskimager/… дээрээс авна уу.

- Raspbian OS -ийн зураг

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. Putty програмыг https://www.putty.org/ дээрээс суулгаарай.

2. IP нүдэнд 169.254.10.1 оруулна уу.

3. SSH -ийг сонгож, порт 22 -ийг бөглөсөн эсэхийг шалгаарай.

4. Нээх дээр дарна уу

5. Хэрэглэгчийн нэрийг оруулна уу: pi

6. Нууц үгээ бөглөнө үү: бөөрөлзгөнө

Raspi-тохиргоо

Raspi-config хэрэгслийг нээнэ үү:

sudo raspi-config

Интерфэйс ангилалд дараах сонголтуудыг идэвхжүүлнэ үү

- 1 утас

- ТХН

Ачаалах сонголтын ангилалд дараах сонголтуудыг идэвхгүй болго

- Шилдэг дэлгэц

Эцэст нь ачаалах сонголтын ангилалд байгаа Desktop/CLI тохиргоог Desktop Autologin болгон тохируулаарай.

WiFi

Нохой тэжээгчийн хувьд бид wifi холболттой байх ёстой тул wifi -гийн итгэмжлэл ойрхон байгаа эсэхийг шалгаарай.

1. Root горим руу орно уу

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

Энэ нь биднээс одоогийн root нууц үгийг шаардах болно, учир нь бидэнд нууц үг байхгүй тул enter дарна уу.

Дараа нь бид нууц үгээ оруулахыг хүсч байгаа тул y -д root нууц үгээ оруулахыг хүсч байгаа эсэхийг асууна.

Дараагийн асуултуудыг Y оруулна уу.

Дараа нь бид толинд ашиглах боломжтой хэрэглэгчийг бий болгох болно.

Mysql бүрхүүлийг оруулна уу:

- Үндэслэхийн тулд өөрсдийгөө дээшлүүл

Судо -И

- MySQL бүрхүүлийг оруулна уу

Mysql

- Өөрийн хэрэглэгчийн нэрээр сольж, ижил нэрээр солино уу

*. * дээрх бүх давуу эрхийг '' '@'%'болгон тодорхойлсон';

- '.@'%' - д заасан' '@'%'гэсэн бүх давуу эрхийг олгох;

Дараа нь бид мэдээллийн баазаа нэмж оруулах болно.

Apache вэб сервер

Вэб серверийг суулгахын тулд доорх мөрийг ажиллуулна уу.

sudo apt install apache2 -y

Python багцууд

Бид эдгээр багцыг суулгах болно

- Колбо

- Колбо-Корс

- Колбо-MySQL

- Flask-SocketIO

- PyMySQL

- Гевент

- Gevent-вэбсокет

-

- Питон сокет

- Хүсэлтүүд

- Wsaccel

- Ужсон

Хийснээр

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

Алхам 2: Гэрэл ба гэрэл мэдрэгч

Гэрэл ба гэрэл мэдрэгч
Гэрэл ба гэрэл мэдрэгч
Гэрэл ба гэрэл мэдрэгч
Гэрэл ба гэрэл мэдрэгч

Утасыг холбож байна

  1. S -> GPIO15 (rxd0)
  2. + -> 5V
  3. G -> 470 ом эсэргүүцэл ба GND

Гэрлийн мэдрэгчийг холбож байна

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

Одоо бид гэрэл, гэрэл мэдрэгч маань энэхүү бяцхан скриптээр ажилладаг эсэхийг шалгаж болно

RPi. GPIO -г GPIO GPIO.setmode (GPIO. BCM) болгон импортлох

GPIO. тохиргоо (15, GPIO. OUT)

GPIO. тохиргоо (17, GPIO. IN)

үзээрэй: байхад Үнэн:

хэрэв GPIO.input (17) == 0:

GPIO. гаралт (15, GPIO. HIGH)

хэрэв GPIO.input (17) == 1:

GPIO.output (15, GPIO. LOW)

KeyboardInterrupt -ээс бусад: GPIO.cleanup ()

Алхам 3: Servo мотор

Servo мотор
Servo мотор

Серво моторыг холбож байна

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

Одоо бид гэрэл, гэрэл мэдрэгч нь энэхүү жижиг скриптээр ажилладаг эсэхийг шалгаж болно

RPi. GPIO -ийг GPIO импортын цаг болгон импортлох

GPIO.setmode (GPIO. BCM)

GPIO. тохиргоо (18, GPIO. OUT)

p = GPIO. PWM (18, 50)

х. эхлэх (12.5)

оролдоно уу:

үнэн байхад:

p. ChangeDutyCycle (12.5)

цаг унтах (1)

p. ChangeDutyCycle (2.5)

цаг унтах (1)

Keyboard тасалдалаас бусад:

p.stop ()

GPIO.cleanup ()

Алхам 4: RFID уншигч RC522

RFID уншигч RC522
RFID уншигч RC522

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

Одоо бид RFID уншигч энэ жижиг скриптээр ажилладаг эсэхийг шалгаж болно

RPi. GPIO -г GPIO болгон импортлох

mfrc522 -аас SimpleMFRC522 импортлох

уншигч = SimpleMFRC522 ()

текст = оролт ('Шинэ өгөгдөл:')

хэвлэх ("Одоо бичихийн тулд хаягаа байрлуулна уу")

уншигч. бичих (текст)

хэвлэх ("Бичсэн")

Алхам 5: HX711 эсийг ачаална уу

HX711 нүдийг ачаална уу
HX711 нүдийг ачаална уу

Ачааллын үүрийг HX711 драйверын самбар дээр холбож байна

  1. Улаан -> E+
  2. Хар -> E-
  3. Ногоон -> A+
  4. Цагаан -> A-

Ачаалах үүрийг холбож байна

  1. DT-> GPIO27
  2. SCK -> GPIO22
  3. Улаан -> 3.3V
  4. GND -> GND

Одоо бид ачаалах үүр маань энэ жижиг скриптээр ажилладаг эсэхийг шалгаж болно

GPP болгон импортлох

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: LCD (16*2)

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

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 -> дунд потенционы зүү

Одоо манай LCD дэлгэц энэ жижигхэн скриптээр ажилладаг эсэхийг шалгаж болно

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: Бүрэн тойрог

Бүрэн тойрог
Бүрэн тойрог

энд бүхэл бүтэн хэлхээ зөв эсэхийг дахин шалгаж болно

Алхам 8: Хэргийн эхлэл

Хэргийн эхлэл
Хэргийн эхлэл
Хэргийн эхлэл
Хэргийн эхлэл
Хэргийн эхлэл
Хэргийн эхлэл
Хэргийн эхлэл
Хэргийн эхлэл

Би cornflake диспенсерийг нохойн хоолонд зориулагдсан усан сан болгон ашиглаж байсан

Би диспенсер дэх дугуйг серво мотортой холбосон

Одоо би servo мотороороо дугуйгаа удирдаж, усан сангаас хоол унагаж чадна

Усан сангийн төгсгөлд PVC хоолой холбогдсон бөгөөд энэ нь хоолыг хүүхдийн ор руу сайн хаядаг

Би модыг бүрхүүл болгон ашигладаг

Алхам 9: Үүнийг нэгтгэх

Үүнийг хамтад нь оруулах
Үүнийг хамтад нь оруулах
Үүнийг хамтад нь оруулах
Үүнийг хамтад нь оруулах
Үүнийг хамтад нь оруулах
Үүнийг хамтад нь оруулах

Алхам 10: Вэбсайт

Вэбсайт
Вэбсайт
Вэбсайт
Вэбсайт
Вэбсайт
Вэбсайт
Вэбсайт
Вэбсайт

Одоо манай машин ажиллаж байна, бид вэбсайтыг pi дээр байрлуулах хэрэгтэй. Одоо бүх зүйл бэлэн болж, сайт хэрхэн ажилладаг талаар цөөн хэдэн зааварчилгаа өгч байна.

Та pi -гээ wifi сүлжээнд холбож, HDMI кабель залгаж, энэ аргаар идэвхжүүлж болно

Эхний хуудас нь нүүр хуудас бөгөөд эндээс та харж болно

  • Гэрлийн тухай бодит цагийн мэдээлэл
  • Саванд үлдсэн хоолны талаархи бодит цагийн мэдээлэл
  • Та хоолоо хаяж болно
  • Нохойны тухай мэдээлэл

Хоёрдахь хуудас бол засварлах хуудас бөгөөд энд та засах боломжтой:

  • таны гэрийн тэжээвэр амьтны нэр
  • таны гэрийн тэжээвэр амьтны нас
  • таны гэрийн тэжээвэр амьтны жин
  • таны гэрийн тэжээвэр амьтны зураг

Гурав дахь хуудас бол түүхийн хуудас бөгөөд эндээс та харж болно

  • гэрэл асах үед
  • нохой идсэн үед
  • хоол унасан үед

Дөрөв дэх хуудас бол тохиргооны хуудас бөгөөд энд та засах боломжтой:

  • хоол унах шаардлагатай үед
  • унах хоолны хэмжээ
  • хамгийн их хоол хүнс/өдөр
  • гэрэл

Зөвлөмж болгож буй: