תוכן עניינים:
- שלב 1: ציוד SmartBin
- שלב 2: ייצור קופסת הפטל וסרגל ה- LED
- שלב 3: חלק המכסה
- שלב 4: חלק תוכנה ורכישת נתונים
וִידֵאוֹ: SmartBin: 4 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:15
המטרה העיקרית של פרויקט זה היא ליצור מכשיר אלקטרוני שמשתמש לפחות ב- Raspberry Pi אחד. הצוות מורכב מ -5 מהנדסי מכונות עתידיים ומהנדס אוטומציה אחד. הפרויקט שלנו כולל יצירת פח אשפה שנפתח ונסגר באופן אוטומטי על ידי תנועת רגליים מתחת לגלאי התנועה הממוקם במרכז בחזית פח האשפה. מקל USB Wifi משמש לשליחת נתונים לאתר. הפח הזה נקרא "ה- SmartBin". הסרטון ההומוריסטי לעיל מציג את ה- SmartBin החדשני שלנו.
על מנת לבצע את הפרויקט הזה ואת ה- SmartBin המדהים הזה, היו צורך בכמה כלים:
- מטר
- דבק חזק
- סרט דבק
- מסור עץ
- מברג
- מכונת מקדחה
- מהדק
- סכין
שלב 1: ציוד SmartBin
ה- SmartBin מורכב מנורות LED ירוקות, כתומות ואדומות, המונחות על מתקן בצד השמאלי של הפח שיציין עד כמה הוא מלא. אורות אלה יהיו גלויים בבירור ויזהירו את המשתמש בעת הצורך להחליף את שקית האשפה. שפת התכנות בה משתמשים היא פייתון. רמת המילוי הנמדדת של הפח מועברת לאתר הבא:
להלן האלמנטים שהיו בשימוש אך תוכל למצוא פתרון חלופי בקלות:
- פח אחד (סל "כיסוי נדנדה")
- 1 מנוע סרוו לפתיחת האשפה
- 1 פטל פטל 2
- 2 ספקי כוח (מטען טלפון סלולרי 5V ואספקת חשמל 6V) לאספקת ה- Raspberry Pi והמנוע.
- חיישן אולטרסאונד למדידת רמת המילוי של הפח
- כמה נוריות להצגת רמת המילוי (4 ירוק, 2 כתום ואדום אחד)
- גלאי תנועה אולטרסאונד לאיתור תנועה
- כרטיס SD בנפח 1 ג'יגה-בתים
- נגדים חשמליים (10.000 אוהם, 2000 אוהם ו 1000 אוהם)
- מקל USB מסוג WiFi אחד כדי לאפשר שידור אלחוטי לאתר.
- לוח קרש אחד וכמה פטל פטל
מחיר הייצור המשוער הוא 80 €.
שלב 2: ייצור קופסת הפטל וסרגל ה- LED
כדי לייצר את קופסת הפטל, השתמש במסור עץ. מהדקים כל צד של הקופסה בעזרת מסמרות כדי שייראה נקי. כפי ששמו מרמז, התיבה הזו היא תכיל לא רק את Raspberry Pi אלא תכלול גם את חיישן התנועה שתמקם בתחתית. לאחר בניית הקופסה, צבעו אותה באותו צבע כמו הפח. ניתן להשתמש בטכנולוגיית הדפסה תלת מימדית ליצירת קופסה זו.
לייצור מוט הלדים, השתמש בתעלה חשמלית בה אתה מקדח חורים על מנת לאפשר התקנת נורות הלד. יש לצבוע גם את סרגל הלד. כשהכל מוכן, התקן את הלדים בתעלה וחיבר את החשמל. שימו לב למספר נכון כל כבלי LED עם סרט דבק. זה יעזור לך לזהות כל נורית במהלך החיווט.
לבסוף, חבר את הקופסה ואת סרגל ה- LED לחזית הפח שלך.
שלב 3: חלק המכסה
בנוגע למכסה הפח, השלב הראשון הוא הדבקת מנוע השרוול למכסה. יש לבצע הרחבה של המינוף בעבר. הידית תפגע בעצירה שבעבר נעשתה בעבודת יד. חבר את תיבת הבורג למכסה ועשה בה חור על מנת להחזיק את החיישן הקולי במיקום הנכון. וודא שאתה מחבר כבלים בצורה נכונה על המכסה בעזרת סרט.
שלב 4: חלק תוכנה ורכישת נתונים
בנוגע לחלק התוכנה, השתמשנו בשפת התכנות של פייתון. התוכנית נשמרת בכרטיס ה- SD שיופעל על ידי ה- Raspberry Pi כשהוא מופעל. תוכנית החיווט זמינה למעלה. תמונת סיכות ה- Gpio זמינה לכל סוגי הפטל בקישור שלהלן:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
אפשר להשתמש בחיישן קולי להחלפת גלאי התנועה, אתה רק צריך ליצור "אם לולאה" בקוד.
כפי שצוין לעיל, הנתונים הנוגעים לרמה שאליה ממלאים את הסל מועברים לאתר שנוצר ב- wix.com. באתר זה תוכלו למצוא כרטיסיות שונות המאגדות חברי צוות, מצגת חומרה ותוכנה, … הכרטיסייה המעניינת היא למעשה הכרטיסייה "מסד נתונים" אשר אוספת את המידע בנוגע לכמות האשפה ישירות מה- SmartBin ויוצרת גרף עם הנתונים. הגרף מציג את התפתחות רמת המילוי. אפשר לראות או להוריד נתונים מהאתר. הקישור שלהלן הוא האתר בו השתמשנו ויראה לך כיצד לקרוא ולכתוב בגיליונות גוגל עם פייתון:
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 &
כדי לשמור את האורון, לחץ על: C trl + O ואז לחץ על: Enter ואז לחץ על: C trl + X
כתוב כשורת הקוד האחרונה: sudo reboot
תוכל גם להוריד את הקובץ המצורף שהוא קוד הפייתון המלא המשמש לפרויקט. שני הקודים מופעלים בו זמנית!
להלן קוד main.py:
ייבוא RPi. GPIO כ- GPIO ייבוא זמן יבוא זמן יבוא csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (שקר)
capteurP = 7
סרוו = 17
GPIO.setup (סרוו, GPIO. OUT)
GPIO.setup (capteurP, GPIO. IN)
pwm = GPIO. PWM (17, 50)
GPIO.setup (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.setup (26, GPIO. OUT)
טריג = 23
הד = 24
GPIO.setup (טריג, GPIO. OUT)
GPIO.setup (הד, GPIO. IN)
GPIO.setwarnings (שקר)
פלט 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.output (טריג, שקר)
timeset = time.time ()
מרחק = 100 זיכרון = 0 זמן. שינה (2) pwm.start (12.5)
בעוד שזה נכון:
timetac = time.time () אם GPIO.input (capteurP) ו- timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) memory = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0.5) אם timetac-timeset> 15 או זיכרון> 0.4: if memory> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) for x in range (0, 1): # GPIO.output (Trig, True) 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 () if timetac-timeset <17: distance1 = round ((finImpulsion-debutImpulsion) * 340 * 100 /2, 1) distance2 = distance if (distance1-distance2) <1 and (distance2-distance1) 0.4: dis = עגול ((60-מרחק)*5/6, 1) עם פתוח ('capteur.csv', 'w') כ- csvfile: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now (), '%Y-%m-%d%H:%M:%S') הדפס ('זמן: {0} כמות: {1}'. פורמט (time_str, dis)) capteurwriter. writerow ([time_str, dis]) memory = -0.1 if distance <52.5: GPIO.output (5, True) else: GPIO.output (5, False) if distance <45: GPIO.output (6, True) else: GPIO.output (6, False) if distance <37.5: GPIO.output (13, True) else: GPIO.output (13, False) if distance <30: GPIO.output (19, True) else: GPIO.output (19, False) if distance <22.5: GPIO.output (20, True) else: GPIO.output (20, False) if distance <15: GPIO.output (21, True) else: GPIO.output (21, False) אם המרחק <7.5: GPIO.output (26, True) אחר: GPIO.output (26, False)
להלן קוד csvcontrol.py. אל תשכח להדביק את הקובץ ".json" שנוצר באותה ספריה של main.py. קובץ ".json" נוצר באמצעות Google API. צילום מסך זמין בתמונות.
יבוא datetime יבוא זמן יבוא csv יבוא gspread
מאת oauth2client.service_account ייבוא ServiceAccountCredentials
מעת לעת ייבוא שנתיים ייבוא עקבות
timec2 = 'חחח'
בעוד נכון: time.sleep (5) loc = ('capteur.csv') עם open (loc) בתור csvfile: readCSV = csv.reader (csvfile, delimiter = ',') לשורה ב- readCSV: print (שורה [0]) timec = שורה [0] הדפסה (שורה [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/ נהיגה"]
credentials = ServiceAccountCredentials.fr_json_keyfile_name ('client_secret.json', SCOPES) gc = gspread.authorize (אישורים) wks = gc.open ("גרף"). sheet1 wks = wks.append_row ((timec, מרחק))
מוּמלָץ:
כיצד לבצע אנטנת BiQuade כפולה 4G LTE שלבים פשוטים: 3 שלבים
כיצד להפוך אנטנת 4G LTE BiQuade כפולה לשלבים קלים: לרוב לא עמדתי בפני, אין לי עוצמת אות טובה לעבודות היום-יומיות שלי. לכן. אני מחפש ומנסה סוגים שונים של אנטנות אבל לא עובד. לאחר בזבוז זמן מצאתי אנטנה שאני מקווה לייצר ולבדוק, כי זה עקרון הבנייה לא
עיצוב משחק בקפיצה ב -5 שלבים: 5 שלבים
עיצוב משחק בקפיצה ב -5 שלבים: פליק הוא דרך פשוטה מאוד ליצור משחק, במיוחד משהו כמו פאזל, רומן חזותי או משחק הרפתקאות
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: 3 שלבים
זיהוי פנים ב- Raspberry Pi 4B בשלושה שלבים: במדריך זה אנו הולכים לבצע זיהוי פנים ב- Raspberry Pi 4 עם Shunya O/S באמצעות ספריית Shunyaface. Shunyaface היא ספריית זיהוי/זיהוי פנים. הפרויקט שואף להשיג את מהירות הזיהוי והזיהוי המהירה ביותר עם
מהדורת ליל כל הקדושים של Arduino - מסך קופץ זומבים (שלבים עם תמונות): 6 שלבים
מהדורת ליל כל הקדושים של Arduino - מסך פופ -אאוט של זומבים (צעדים עם תמונות): רוצה להפחיד את החברים שלך ולעשות רעש צורח בהלווין? או סתם רוצה לעשות מתיחה טובה? המסך הקופץ הזה של זומבים יכול לעשות זאת! במדריך זה אלמד אותך כיצד ליצור זומבים קופצים בקלות באמצעות Arduino. ה- HC-SR0
SmartBin: 8 שלבים
SmartBin: Este é um projeto para um system inteligente de coletas, no qual os caminh õ es de lixo recebem dados das lixeiras, זיהוי והכנת כמות של lixo presente em cada uma delas, e uma rota de coleta tra ç ada, com base nas information