جدول المحتويات:

موزع تلقائي للكلاب: 10 خطوات
موزع تلقائي للكلاب: 10 خطوات

فيديو: موزع تلقائي للكلاب: 10 خطوات

فيديو: موزع تلقائي للكلاب: 10 خطوات
فيديو: طلب منه الشـرطـي تمثيل عملية السـرقة #shorts 2024, شهر نوفمبر
Anonim
موزع تلقائي للكلاب
موزع تلقائي للكلاب
موزع تلقائي للكلاب
موزع تلقائي للكلاب
موزع تلقائي للكلاب
موزع تلقائي للكلاب

من خلال مشروعي ، أتأكد من أنه عندما تترك كلبك بمفرده في المنزل ، فلن يكون بدون طعام أبدًا.

سيتم "اختراق" وحدة التغذية التلقائية من موزع رقائق الذرة. الموزع هو خزان طعام الكلاب ، وسيتم توصيل العجلة الموجودة في الأسفل بمحرك مؤازر يقوم تلقائيًا بإسقاط الطعام عندما يكون سرير الأطفال فارغًا تقريبًا وعندما يكون الكلب قريبًا بدرجة كافية. في الجزء السفلي من الموزع سيكون هناك أنبوب PVC متصل والذي سيسقط طعام الكلب بشكل جيد في سرير الأطفال. لذلك سيحتوي هذا المشروع على 3 أجهزة استشعار ، اثنان منها غير مشمولان في الفئة وواحد منها مشغل.

المستشعر الأول هو قارئ RFID. يتحقق هذا المستشعر عندما يقترب الكلب من سرير الأطفال. سيتم دمج RFID في طوق الكلب. إذا لاحظ هذا المستشعر أن الكلب قريب بدرجة كافية ، فسوف يرسل إشارة إلى المستشعر الثاني. المستشعر الثاني هو مستشعر الوزن (غير مغطى في الفصل) الذي يقيس الطعام في سرير الأطفال ، إذا اكتشف هذا المستشعر أن الوزن منخفض جدًا ، فسوف يرسل إشارة إلى محرك سيرفو الذي سيسقط الطعام في السرير (مع تأكيد RFID وجهاز استشعار الوزن). باختصار ، لا يحصل الكلب على طعام إضافي إلا عندما يكون قريبًا بدرجة كافية من سرير الأطفال وعندما يكون المهد فارغًا تقريبًا. بالطبع هناك أيضًا مجموعة حدود يمكنك تعيينها بنفسك عبر خادم الويب ؛ حتى لا يحصل الكلب على الكثير من الطعام يوميًا. المستشعر الثالث هو مستشعر الضوء الذي يضيء مصباح LED عندما يكون الظلام شديدًا حول سرير الأطفال. سيكون المشغل بالتالي محركًا مؤازرًا متصلًا بالعجلة في الموزع.

هذا المشروع مخصص للكلاب ، ويمكنك أيضًا استخدامه للحيوانات الأليفة الصغيرة الأخرى.

اللوازم

Raspberry Pi 3

خلية الحمل (1 كجم)

مكبر للصوت خلية الحمل HX711

وعاء طعام

موزع الحبوب

خشب (+ براغي ومفك براغي)

مستشعر الضوء

قاد

قارئ RFID RC522

أسلاك العبور

16 * 2 LCD (عرض)

أجهزة السيارات

محول طاقة 5 فولت

مقاوم 470 أوم

أنبوب PVC

بريدبورد

مقياس فرق الجهد

رأى

ورق صنفرة

مسدس السيليكون

الخطوة 1: إعداد Pi

إعداد Pi
إعداد Pi

اقامة

للبدء ، سنحتاج أولاً إلى إعداد 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 ووضعها في Pi الخاص بك.

توصيل

الآن سنحتاج إلى إعداد البرنامج.

قم أولاً بتوصيل كبل LAN ، أحد طرفيه في سطح المكتب / الكمبيوتر المحمول والآخر في Pi الخاص بك.

الآن قم بتشغيل Raspberry Pi.

1. قم بتثبيت Putty من

2. أدخل 169.254.10.1 في مربع IP.

3. تأكد من تحديد SSH ومن ملء المنفذ 22.

4. انقر فوق فتح

5. املأ اسم المستخدم: pi

6. املأ كلمة المرور: التوت

Raspi-config

افتح الأداة المساعدة Raspi-config باستخدام:

sudo raspi-config

قم بتمكين الخيارات التالية في فئة الواجهات

- 1-سلك

- SPI

قم بتعطيل الخيارات التالية في فئة خيارات التمهيد

- شاشة البداية

أخيرًا ، اضبط إعداد Desktop / CLI في فئة خيارات التمهيد على Desktop Autologin.

واي فاي

بالنسبة إلى وحدة تغذية الكلاب ، نحتاج إلى اتصال wifi ، لذا تأكد من إغلاق بيانات اعتماد wifi الخاصة بك.

1. اذهب إلى وضع الجذر

sudo -i

2. الصق هذا السطر ولكن تأكد من ملء كل من SSID وكلمة المرور

wpa_passphrase "SSID" "كلمة المرور" >> /etc/wpa_supplicant/wpa_supplicant.conf

3. أدخل عميل WPA.

Wpa_cli

4. حدد الواجهة

واجهة wlan0

5. قم بإعادة تحميل ملف config

إعادة التكوين

تأكد من أنك متصل بشكل صحيح عن طريق كتابة ip a ومعرفة ما إذا كان لديك IP على واجهات WLAN0.

الحزم

الآن بعد أن أصبحنا متصلين بالإنترنت ، سيتعين علينا تثبيت بعض الحزم.

سنحتاج أولاً إلى تحديث قوائم الحزم لأحدثها.

sudo apt التحديث

بايثون

سنجبر Raspbian على استخدام Python 3

بدائل التحديث - install / usr / bin / python python /usr/bin/python2.7 1

بدائل التحديث - install / usr / bin / python python / usr / bin / python3 2

MariaDB

الصق السطر التالي لتثبيت قاعدة البيانات.

sudo apt تثبيت خادم mariadb

ثم سنحتاج إلى تأمين التثبيت الخاص بنا.

mysql_secure_installation

سيطلب منا كلمة مرور الجذر الحالية نظرًا لأنه ليس لدينا كلمة مرور واحدة فقط اضغط على إدخال.

بعد ذلك ، يسأل عما إذا كنا نريد نوع كلمة مرور الجذر في y لأننا نريد واحدًا.

للأسئلة التالية فقط أدخل Y.

بعد ذلك ، سننشئ مستخدمًا يمكننا استخدامه للمرآة.

أدخل صدفة mysql عن طريق القيام بما يلي:

- نرفع أنفسنا إلى الجذر

سودو

- أدخل قذيفة mysql

ميسكل

- استبدل اسم المستخدم الخاص بك ونفس الشيء مع

منح كافة الامتيازات في *. * إلى '' @ '٪' مُعرّف بواسطة '' ؛

- منح كافة الامتيازات في *. * إلى "" @ "٪" المُعرّف بواسطة "" ؛

بعد ذلك سنقوم بإضافة قاعدة البيانات الخاصة بنا.

خادم ويب اباتشي

لتثبيت خادم الويب ، قم بتشغيل السطر أدناه.

sudo apt تثبيت apache2 -y

حزم بايثون

سنقوم بتثبيت هذه الحزم

- قارورة

- قارورة كورس

- قارورة- MySQL

- قارورة-مقبس

- PyMySQL

- جيفينت

- Gevent-websocket

-

- بايثون-مقبس

- الطلبات

- وساسل

- اوجسون

عن طريق القيام

Pip install Flask Flask-Cors Flask-MySQL Flask-SocketIO PyMySQL gevent gevent-websocket htplib2 طلبات python-socketio wsaccel ujson mfrc522 hx711 Adafruit-CharLCD

الخطوة 2: مستشعر الصمام والضوء

مستشعر الصمام والضوء
مستشعر الصمام والضوء
مستشعر الصمام والضوء
مستشعر الصمام والضوء

ربط الصمام

  1. S -> GPIO15 (rxd0)
  2. + -> 5 فولت
  3. G -> المقاوم 470 أوم و GND

توصيل مستشعر الضوء

  1. خارج -> GPIO17
  2. VCC -> 3.3 فولت
  3. GND -> GND

يمكننا الآن اختبار ما إذا كان مستشعر الإضاءة والإضاءة يعمل مع هذا البرنامج النصي الصغير

استيراد RPi. GPIO كـ GPIO GPIO.setmode (GPIO. BCM)

إعداد GPIO (15 ، GPIO. OUT)

GPIO.setup (17، GPIO. IN)

جرب: بينما صحيح:

إذا كان إدخال GPIO (17) == 0:

GPIO.output (15، GPIO. HIGH)

إذا كان إدخال GPIO (17) == 1:

GPIO.output (15، GPIO. LOW)

باستثناء KeyboardInterrupt: GPIO.cleanup ()

الخطوة 3: محرك سيرفو

أجهزة السيارات
أجهزة السيارات

تركيب محرك سيرفو

  1. خارج -> GPIO18
  2. VCC -> 5 فولت
  3. GND -> GND

يمكننا الآن اختبار ما إذا كان مستشعر الإضاءة والإضاءة يعمل مع هذا البرنامج النصي الصغير

استيراد RPi. GPIO كوقت استيراد GPIO

GPIO.setmode (GPIO. BCM)

إعداد GPIO (18 ، GPIO. OUT)

ع = GPIO. PWM (18 ، 50)

p.start (12.5)

محاولة:

احيانا صحيح:

ص.دورة عمل التغيير (12.5)

time.sleep (1) الوقت

ص.دورة عمل التغيير (2.5)

time.sleep (1) الوقت

باستثناء لوحة المفاتيح المقاطعة:

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.3 فولت -> 3.3 فولت
  7. GND -> GND

يمكننا الآن اختبار ما إذا كان قارئ RFID الخاص بنا يعمل مع هذا البرنامج النصي الصغير

استيراد RPi. GPIO كـ GPIO

من mfrc522 استيراد SimpleMFRC522

القارئ = SimpleMFRC522 ()

text = input ('New data:')

طباعة ("الآن ضع علامتك للكتابة")

Reader.write (نص)

طباعة ("مكتوبة")

الخطوة 5: تحميل الخلية HX711

تحميل خلية HX711
تحميل خلية HX711

ربط خلية التحميل بلوحة القيادة HX711

  1. أحمر -> E +
  2. أسود-> E-
  3. أخضر -> A +
  4. أبيض -> أ-

ربط خلية الحمل

  1. DT-> GPIO27
  2. SCK-> GPIO22
  3. الأحمر -> 3.3 فولت
  4. GND -> GND

يمكننا الآن اختبار ما إذا كانت خلية التحميل الخاصة بنا تعمل مع هذا البرنامج النصي الصغير

استيراد RPi. GPIO كـ GPIO استيراد وقت الاستيراد sys من klasses. HX711 استيراد HX711

def cleanAndExit (): print ("Cleaning…") GPIO.cleanup () print ("Bye!") sys.exit ()

ع س = 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. ه-> 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 -> 5 فولت
  14. أ -> 5 فولت
  15. ك -> 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. 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: بدء الحالة

بداية الحالة
بداية الحالة
بداية الحالة
بداية الحالة
بداية الحالة
بداية الحالة
بداية الحالة
بداية الحالة

لقد استخدمت موزع رقائق الذرة كخزان لطعام الكلاب

لقد قمت بتوصيل العجلة في الموزع بمحرك سيرفو الخاص بي

يمكنني الآن التحكم في العجلة بمحرك مؤازر وإسقاط الطعام من الخزان

يوجد في نهاية الخزان أنبوب PVC متصل يسقط الطعام بشكل جيد في سرير الأطفال

أستخدم الخشب كغلاف

الخطوة 9: ضعها معًا

نضعها معًا
نضعها معًا
نضعها معًا
نضعها معًا
نضعها معًا
نضعها معًا

الخطوة العاشرة: الموقع

الموقع
الموقع
الموقع
الموقع
الموقع
الموقع
الموقع
الموقع

الآن تعمل آلتنا ، نحتاج إلى الحصول على موقع الويب على pi. الآن كل شيء جاهز وتشغيل بعض التعليمات حول كيفية عمل الموقع.

يمكنك توصيل جهاز pi الخاص بك بشبكة wifi عن طريق توصيل كابل hdmi وتنشيطه بهذه الطريقة

الصفحة الأولى هي الصفحة الرئيسية ، وهنا يمكنك مشاهدة:

  • معلومات الوقت الحقيقي حول الضوء
  • معلومات في الوقت الفعلي عن الطعام المتبقي في الوعاء
  • يمكنك إسقاط الطعام
  • معلومات عن الكلب

الصفحة الثانية هي صفحة التعديل ، وهنا يمكنك التعديل:

  • اسم حيوانك الأليف
  • عمر حيوانك الأليف
  • وزن حيوانك الأليف
  • صورة حيوانك الأليف

الصفحة الثالثة هي صفحة السجل ، هنا يمكنك أن ترى:

  • عندما بدأ الضوء
  • عندما يأكل الكلب
  • عندما ينخفض الطعام

الصفحة الرابعة هي صفحة الإعدادات ، وهنا يمكنك التعديل:

  • عندما يحتاج الطعام إلى الإسقاط
  • كمية الطعام المراد إسقاطها
  • الحد الأقصى للطعام / اليوم
  • الضوء

موصى به: