جدول المحتويات:
- الخطوة 1: معدات SmartBin
- الخطوة 2: تصنيع صندوق Raspberry وشريط LED
- الخطوة 3: جزء الغطاء
- الخطوة 4: جزء البرنامج واكتساب البيانات
فيديو: SmartBin: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
الغرض الرئيسي من هذا المشروع هو إنشاء جهاز إلكتروني يستخدم Raspberry Pi واحدًا على الأقل. يتكون الفريق من 5 مهندسين ميكانيكيين في المستقبل ومهندس أتمتة واحد. يتكون مشروعنا من صنع سلة مهملات تفتح وتغلق تلقائيًا بسبب حركة القدم تحت كاشف الحركة الموجود في المركز في الجزء الأمامي من سلة المهملات. يتم استخدام شريحة Wifi USB لإرسال البيانات إلى موقع ويب. يسمى هذا الصندوق "SmartBin". يقدم مقطع الفيديو المضحك أعلاه برنامج SmartBin المبتكر الخاص بنا.
من أجل تنفيذ هذا المشروع وهذا SmartBin الرائع ، كانت هناك عدة أدوات ضرورية:
- متر
- غراء قوي
- شريط لاصق
- منشار خشب
- مفك البراغي
- آلة حفر
- المشبك
- سكين
الخطوة 1: معدات SmartBin
يتكون SmartBin من مصابيح LED خضراء وبرتقالية وحمراء توضع على أداة تثبيت على الجانب الأيسر من الحاوية والتي ستشير إلى مدى ملئها. ستكون هذه الأضواء مرئية بوضوح وتنبه المستخدم عندما يكون من الضروري استبدال كيس القمامة. لغة البرمجة المستخدمة هي Python. يتم إرسال مستوى الملء المقاس للحاوية إلى موقع الويب التالي:
فيما يلي العناصر التي تم استخدامها ولكن يمكنك بسهولة العثور على حل بديل:
- حاوية واحدة (حاوية "ذات غطاء متأرجح")
- 1 محرك مؤازر لفتح الصندوق
- 1 Raspberry Pi 2
- مزودان للطاقة (شاحن للهاتف المحمول 5 فولت ومصدر طاقة 6 فولت) لتزويد Raspberry Pi والمحرك المؤازر
- 1 جهاز استشعار بالموجات فوق الصوتية لقياس مستوى ملء الحاوية
- تعرض بعض مصابيح LED مستوى التعبئة (4 أخضر و 2 برتقالي و 1 أحمر)
- 1 كاشف الحركة بالموجات فوق الصوتية لاكتشاف الحركة
- 1 بطاقة SD 16 جيجا بايت
- المقاومات الكهربائية (10.000 أوم ، 2000 أوم ، 1000 أوم)
- 1 عصا USB لشبكة WiFi لتمكين الإرسال اللاسلكي إلى موقع الويب.
- 1 اللوح وبعض كابلات التوت
سعر التصنيع المقدر 80 يورو.
الخطوة 2: تصنيع صندوق Raspberry وشريط LED
لتصنيع صندوق التوت ، استخدم منشار الخشب. اربط كل جانب من جوانب الصندوق بالمسامير لجعله يبدو نظيفًا. كما يوحي اسمه ، لن يحتوي هذا الصندوق على Raspberry Pi فحسب ، بل سيشمل أيضًا مستشعر الحركة الذي ستضعه في الأسفل. بمجرد بناء الصندوق ، قم بطلائه بنفس لون الصندوق. يمكن استخدام تقنية الطباعة ثلاثية الأبعاد لإنشاء هذا الصندوق.
لتصنيع شريط LED ، استخدم مجرى كهربائي تقوم فيه بحفر ثقوب للسماح بتثبيت مصابيح LED. يجب أيضًا طلاء شريط LED. عندما يكون كل شيء جاهزًا ، قم بتثبيت مصابيح LED في القناة وقم بإجراء التوصيل الكهربائي. انتبه إلى ترقيم كل كبلات LED بشكل صحيح بشريط لاصق. سوف يساعدك على تحديد كل LED أثناء الأسلاك.
أخيرًا ، قم بتوصيل الصندوق وشريط LED في مقدمة السلة.
الخطوة 3: جزء الغطاء
فيما يتعلق بغطاء الصندوق ، فإن الخطوة الأولى هي لصق المحرك المؤازر بالغطاء. يجب أن يتم تمديد الرافعة المالية مسبقًا. ستصطدم الرافعة بوقفة كانت مصنوعة يدويًا مسبقًا. قم بتوصيل صندوق لولبي بالغطاء وقم بعمل ثقب فيه من أجل تثبيت المستشعر فوق الصوتي في الموضع الصحيح. تأكد من توصيل الكابلات بشكل صحيح على الغطاء بشريط لاصق.
الخطوة 4: جزء البرنامج واكتساب البيانات
فيما يتعلق بجزء البرنامج ، استخدمنا لغة برمجة Python. يتم حفظ البرنامج في بطاقة SD التي سيتم تشغيلها بواسطة Raspberry Pi عند تشغيله. مخطط الأسلاك متاح أعلاه. صورة دبابيس Gpio متاحة لجميع أنواع التوت على الرابط أدناه:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
من الممكن استخدام مستشعر فوق صوتي ليحل محل كاشف الحركة ، ما عليك سوى إنشاء "حلقة if" في الكود.
كما هو مذكور أعلاه ، يتم نقل البيانات المتعلقة بالمستوى الذي يتم ملء الحاوية إليه إلى موقع ويب تم إنشاؤه على wix.com. في هذا الموقع ، يمكنك العثور على علامات تبويب مختلفة تجمع أعضاء الفريق ، وعرض الأجهزة والبرامج ، … علامة التبويب المثيرة للاهتمام هي في الواقع علامة التبويب "قاعدة البيانات" التي تجمع المعلومات المتعلقة بكمية المهملات مباشرة من SmartBin وتنشئ رسمًا بيانيًا بالبيانات. يعرض الرسم البياني تطور مستوى التعبئة. من الممكن مشاهدة أو تنزيل البيانات من موقع الويب. الرابط أدناه هو موقع الويب الذي استخدمناه وسنوضح لك كيفية القراءة والكتابة على أوراق google باستخدام Python:
www.makeuseof.com/tag/read-write-google-sh…
بخصوص "جزء التشغيل التلقائي" من الكود ، اكتب في المحطة الطرفية: sudo nano / etc / xdg / lxsession / LXDE-pi / autostart
بعد ذلك ، في نهاية النص الذي تم فتحه للتو ، اكتب سطري الكود هذين: python /home/pi/main.py & python /home/pi/csvcontrol.py &
لحفظ aurorun ، اضغط على: C trl + O ثم اضغط على: Enter ثم اضغط على: C trl + X
اكتب آخر سطر من التعليمات البرمجية: sudo reboot
يمكنك أيضًا تنزيل المرفق وهو رمز Python الكامل المستخدم في المشروع. يتم تشغيل كلا الرمزين في نفس الوقت!
ها هو main.py كود:
استيراد RPi. GPIO كـ GPIOimport استيراد ووقت استيراد ووقت استيراد csv
GPIO.setmode (GPIO. BCM)
تحذيرات GPIO (خطأ)
capteurP = 7
المؤازرة = 17
GPIO.setup (مؤازرة ، GPIO. OUT)
GPIO.setup (capteurP ، GPIO. IN)
pwm = GPIO. PWM (17 ، 50)
إعداد GPIO (5 ، GPIO. OUT)
GPIO.setup (6، GPIO. OUT) GPIO.setup (13، GPIO. OUT) GPIO.setup (19، GPIO. OUT) GPIO.setup (20، GPIO. OUT) GPIO.setup (21، GPIO. OUT) إعداد GPIO (26 ، GPIO. OUT)
المثلث = 23
صدى = 24
GPIO.setup (Trig ، GPIO. OUT)
GPIO.setup (صدى ، GPIO. IN)
تحذيرات GPIO (خطأ)
GPIO.output (5 ، خطأ)
GPIO.output (6، False) GPIO.output (13، False) GPIO.output (19، False) GPIO.output (20، False) GPIO.output (21، False) GPIO.output (26، False)
إخراج GPIO (مثلث ، خطأ)
المجموعة الزمنية = time.time ()
المسافة = 100 ذاكرة = 0 وقت.نوم (2) pwm.start (12.5)
احيانا صحيح:
timetac = time.time () إذا كان GPIO.input (capteurP) و timetac-timeet0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0.5) إذا كان timetac-timeet> 15 أو الذاكرة> 0.4: إذا كانت الذاكرة> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) لـ x في النطاق (0 ، 1): # GPIO.output (Trig ، صحيح) time.sleep (0.01) GPIO.output (مثلث ، خطأ)
بينما GPIO.input (Echo) == 0 و timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()
بينما GPIO.input (صدى) == 1:
finImpulsion = time.time () إذا كان timetac-timeet <17: Distance1 = round ((finImpulsion - debutImpulsion) * 340 * 100/2، 1) مسافة 2 = مسافة إذا (مسافة 1 - مسافة 2) <1 و (مسافة 2 - مسافة 1) 0.4: dis = round ((60-مسافة) * 5/6، 1) مع open ('capteur.csv'، 'w') مثل csvfile: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now ()، '٪ Y-٪ m-٪ d٪ H:٪ M:٪ S') print ('Time: {0} Quantitee: {1}'. format (time_str، dis)) capteurwriter. ذاكرة الكاتب ([time_str، dis]) = -0.1 إذا كانت المسافة <52.5: إخراج GPIO (5 ، صحيح) وإلا: GPIO.output (5 ، خطأ) إذا كانت المسافة <45: GPIO.output (6 ، صحيح) وإلا: GPIO.output (6، False) إذا كانت المسافة <37.5: GPIO.output (13، True) else: GPIO.output (13، False) إذا كانت المسافة <30: GPIO.output (19، True) وإلا: GPIO.output (19، False) إذا كانت المسافة <22.5: GPIO.output (20، True) else: GPIO.output (20، False) إذا كانت المسافة <15: GPIO.output (21، True) وإلا: GPIO.output (21، False) إذا كانت المسافة <7.5: GPIO.output (26 ، صحيح) وإلا: GPIO.output (26 ، خطأ)
ها هو كود csvcontrol.py. لا تنس لصق ملف ".json" الذي تم إنشاؤه في نفس دليل main.py. يتم إنشاء ملف ".json" باستخدام google API. لقطة شاشة متوفرة في الصور.
استيراد البيانات والوقت ووقت الاستيراد استيراد csv استيراد gspread
من oauth2client.service_account import ServiceAccountCredentials
من وقت استيراد استيراد النوم traceback
timec2 = "لول"
while True: time.sleep (5) loc = ('capteur.csv') مع open (loc) كـ csvfile: readCSV = csv.reader (csvfile، delimiter = '،') للصف في readCSV: print (row [0]) timec = row [0] print (row [1]) مسافة = صف [1] مسافة = تعويم (str (مسافة)) إذا timec2! = timec: timec2 = timec print ('Time: {0} Quantitee: { 1} '. تنسيق (توقيت ، مسافة))
SCOPES = ['https://www.googleapis.com/auth/spreadsheets' ، "https://www.googleapis.com/auth/drive.file" ، "https://www.googleapis.com/auth/ قائد"]
بيانات الاعتماد = ServiceAccountCredentials.from_json_keyfile_name ('client_secret.json'، SCOPES) gc = gspread.authorize (بيانات الاعتماد) wks = gc.open ("الرسم البياني"). sheet1 wks = wks.append_row ((timec ، المسافة))
موصى به:
تصميم اللعبة في فليك في 5 خطوات: 5 خطوات
تصميم اللعبة في Flick in 5 Steps: Flick هي طريقة بسيطة حقًا لصنع لعبة ، لا سيما شيء مثل الألغاز أو الرواية المرئية أو لعبة المغامرة
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف - خطوات خطوة: 4 خطوات
نظام اردوينو لتنبيه وقوف السيارة عند الرجوع للخلف | خطوات بخطوة: في هذا المشروع ، سأصمم دائرة مستشعر لعكس مواقف السيارات من Arduino باستخدام مستشعر الموجات فوق الصوتية Arduino UNO و HC-SR04. يمكن استخدام نظام التنبيه العكسي للسيارة المستند إلى Arduino للتنقل الذاتي ومجموعة الروبوتات وغيرها من النطاقات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: 3 خطوات
اكتشاف الوجه على Raspberry Pi 4B في 3 خطوات: في هذا Instructable سنقوم باكتشاف الوجه على Raspberry Pi 4 باستخدام Shunya O / S باستخدام مكتبة Shunyaface. Shunyaface هي مكتبة للتعرف على الوجوه / الكشف عنها. يهدف المشروع إلى تحقيق أسرع سرعة في الكشف والتعرف مع
كيف تصنع عداد خطوات؟: 3 خطوات (بالصور)
How to Make Step Counter؟: اعتدت أن أؤدي أداءً جيدًا في العديد من الرياضات: المشي والجري وركوب الدراجة ولعب كرة الريشة وما إلى ذلك ، أحب ركوب الخيل للسفر في وقت قريب. حسنًا ، انظر إلى بطني المنتفخ … حسنًا ، على أي حال ، قررت إعادة التمرين. ما هي المعدات التي يجب أن أحضرها؟
SmartBin: 8 خطوات
SmartBin: Este & eacute؛ um projeto para um sistema inteligente de coletas، no qual os caminh & otilde؛ es de lixo recebem dados das lixeiras، identificando quantidade de lixo present em cada uma delas، e uma rota de coleta tra & ccedil؛ ada، com base nas informa