فهرست مطالب:
- مرحله 1: تجهیزات SmartBin
- مرحله 2: ساخت جعبه تمشک و نوار LED
- مرحله 3: قسمت درپوش
- مرحله 4: بخش نرم افزاری و کسب داده
تصویری: SmartBin: 4 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:55
هدف اصلی این پروژه ایجاد یک دستگاه الکترونیکی است که حداقل از یک Raspberry Pi استفاده می کند. این تیم از 5 مهندس مکانیک آینده و یک مهندس اتوماسیون تشکیل شده است. پروژه ما شامل ساخت سطل زباله است که به طور خودکار توسط حرکت پا در زیر آشکارساز حرکت واقع در مرکز جلوی سطل زباله باز و بسته می شود. یک USB Wifi برای ارسال داده به وب سایت استفاده می شود. این سطل "The SmartBin" نام دارد. ویدئوی طنز بالا SmartBin ابتکاری ما را معرفی می کند.
برای انجام این پروژه و این SmartBin قابل توجه ، چندین ابزار لازم بود:
- یک متر
- چسب قوی
- یک نوار چسب
- اره چوبی
- یک پیچ گوشتی
- یک دستگاه مته
- یک گیره
- چاقو
مرحله 1: تجهیزات SmartBin
SmartBin از چراغ های سبز ، نارنجی و قرمز LED تشکیل شده است که بر روی یک وسیله در سمت چپ سطل زباله قرار گرفته اند که نشان می دهد میزان پر شدن آن چقدر است. این چراغ ها به وضوح قابل مشاهده خواهند بود و در صورت لزوم تعویض کیسه زباله به کاربر هشدار می دهند. زبان برنامه نویسی مورد استفاده پایتون است. سطح پر شده سطل زباله به وب سایت زیر منتقل می شود:
در اینجا عناصری که مورد استفاده قرار گرفته اند وجود دارد ، اما به راحتی می توانید یک راه حل جایگزین پیدا کنید:
- 1 سطل (سطل "روکش روکش")
- 1 سرو موتور برای باز کردن سطل زباله
- 1 تمشک پای 2
- 2 منبع تغذیه (شارژر تلفن همراه 5 ولت و منبع تغذیه 6 ولت) برای تامین رزبری پای و سرو موتور
- 1 سنسور اولتراسونیک برای اندازه گیری سطح پر شدن سطل
- برخی از LED ها برای نشان دادن سطح پر شدن (4 سبز ، 2 نارنجی و 1 قرمز)
- 1 آشکارساز حرکت اولتراسونیک برای تشخیص حرکت
- 1 کارت SD 16 گیگابایت
- مقاومت های الکتریکی (10.000 اهم ، 2000 اهم و 1000 اهم)
- 1 USB USB stick برای فعال کردن انتقال بی سیم به وب سایت.
- 1 تخته نان و چند کابل تمشک
قیمت برآورد شده 80 یورو است.
مرحله 2: ساخت جعبه تمشک و نوار LED
برای ساخت جعبه تمشک از اره چوبی استفاده کنید. هر طرف جعبه را با پرچ محکم کنید تا تمیز به نظر برسد. همانطور که از نامش مشخص است ، این جعبه نه تنها شامل رزبری پای است ، بلکه شامل سنسور حرکت است که شما در پایین آن قرار می دهید. پس از ساخت جعبه ، آن را به همان رنگ سطل رنگ کنید. برای ایجاد این جعبه می توان از فناوری چاپ سه بعدی استفاده کرد.
برای ساخت نوار LED ، از یک کانال الکتریکی استفاده کنید که در آن سوراخ هایی را ایجاد می کنید تا چراغ های LED نصب شوند. نوار LED نیز باید رنگ آمیزی شود. هنگامی که همه چیز آماده است ، LED ها را در کانال نصب کرده و اتصال برق را برقرار کنید. به شماره گذاری صحیح هر کابل LED با نوار چسب توجه کنید. این به شما کمک می کند تا هر LED را در طول سیم کشی شناسایی کنید.
در نهایت ، جعبه و نوار LED را به جلوی سطل زباله خود وصل کنید.
مرحله 3: قسمت درپوش
در مورد درب سطل زباله ، اولین قدم چسباندن سرو موتور به درپوش است. تمدید اهرم باید قبلاً انجام شود. اهرم به توقفی برخورد می کند که قبلاً دست ساز بود. یک جعبه پیچ را به درب متصل کرده و سوراخی در آن ایجاد کنید تا سنسور اولتراسونیک در موقعیت مناسب نگه داشته شود. اطمینان حاصل کنید که کابل ها را به درستی با نوار چسب روی درب وصل کرده اید.
مرحله 4: بخش نرم افزاری و کسب داده
در مورد بخش نرم افزار ، ما از زبان برنامه نویسی پایتون استفاده کردیم. این برنامه در کارت SD ذخیره می شود که پس از روشن شدن توسط Raspberry Pi اجرا می شود. طرح سیم کشی در بالا موجود است. تصویر پین های Gpio برای همه انواع تمشک در لینک زیر موجود است:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
ممکن است از یک سنسور اولتراسونیک برای جایگزینی آشکارساز حرکت استفاده کنید ، فقط باید یک "اگر حلقه" در کد ایجاد کنید.
همانطور که در بالا ذکر شد ، داده های مربوط به سطحی که سطل آشغال پر می شود به وب سایت ایجاد شده در wix.com منتقل می شود. در این وب سایت می توانید برگه های مختلفی را مشاهده کنید که اعضای تیم ، سخت افزار و نرم افزار را جمع آوری می کند ، … برگه جالب در واقع برگه "Database" است که اطلاعات مربوط به میزان زباله را مستقیماً از SmartBin جمع آوری کرده و با داده ها نمودار ایجاد می کند. به نمودار تکامل سطح پر کردن را نشان می دهد. مشاهده یا بارگیری داده ها از وب سایت امکان پذیر است. پیوند زیر وب سایتی است که از آن استفاده کردیم و نحوه خواندن و نوشتن در برگه های گوگل با پایتون را به شما نشان می دهد:
www.makeuseof.com/tag/read-write-google-sh…
در مورد "قسمت autorun" کد ، در ترمینال بنویسید: 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
همچنین می توانید پیوست را که کد پایتون کامل مورد استفاده برای پروژه است ، بارگیری کنید. هر دو کد به طور همزمان اجرا می شوند!
در اینجا کد main.py آمده است:
وارد کردن RPi. GPIO به عنوان GPIOimport زمان وارد کردن زمان وارد کردن csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (False)
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 (Trig، GPIO. OUT)
GPIO.setup (اکو ، GPIO. IN)
GPIO.setwarnings (False)
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 (Trig، False)
timeset = time.time ()
فاصله = 100 حافظه = 0 زمان. خواب (2) pwm.start (12.5)
در حالی که True:
timetac = time.time () اگر GPIO.input (capteurP) و timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) حافظه = -0.5 pwm. ChangeDutyCycle (0) timetac = time.time () time.sleep (0.5) اگر timetac-timeset> 15 یا حافظه> 0.4: اگر حافظه> 0.4: pwm. ChangeDutyCycle (2.5) time.sleep (1) برای x در محدوده (0 ، 1): # GPIO.output (Trig ، درست) time.sleep (0.01) GPIO.output (Trig، False)
در حالی که GPIO.input (اکو) == 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 و (distance2-distance1) 0.4: dis = round ((60-distance)*5/6، 1) with open ('capteur.csv'، 'w') as csvfile: capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime.datetime.now () ، '٪ Y-٪ m-٪ d٪ H:٪ M:٪ S') چاپ ('Time: {0} Quantitee: {1}'. format (time_str، dis)) capteurwriter. authorow ([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 ، نادرست) اگر فاصله <37.5: GPIO.output (13 ، True) دیگر: GPIO.output (13 ، False) اگر فاصله <30: GPIO.output (19 ، True) در غیر این صورت: GPIO.output (19 ، نادرست) اگر فاصله <22.5: GPIO.output (20 ، True) در غیر این صورت: GPIO.output (20 ، False) اگر فاصله <15: GPIO.output (21 ، True) دیگر: GPIO.output (21 ، False) اگر فاصله <7.5: GPIO.output (26 ، True) دیگر: GPIO.output (26 ، False)
در اینجا کد csvcontrol.py است. فراموش نکنید که فایل ایجاد شده ".json" را در همان دایرکتوری main.py قرار دهید. فایل ".json" با google API ایجاد شده است. اسکرین شات در تصاویر موجود است.
واردات datetimeimport زمان وارد کردن csv واردات gspread
از oauth2client.service_account وارد کنید ServiceAccountCredentials
از زمان وارد کردن ردیابی واردات خواب
timec2 = 'lol'
while True: time.sleep (5) loc = ('capteur.csv') with open (loc) as csvfile: readCSV = csv.reader (csvfile، delimiter = '،') برای سطر در readCSV: چاپ (ردیف [0]) timec = row [0] print (row [1]) distance = row [1] distance = float (str (distance)) if timec2! = timec: timec2 = timec print ('Time: {0} Quantitee: { قالب 1} '. (timec ، فاصله))
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 ("graph"). sheet1 wks = wks.append_row ((timec ، distance))
توصیه شده:
مرحله به مرحله ساخت کامپیوتر: 9 مرحله
گام به گام ساخت کامپیوتر: لوازم: سخت افزار: مادربرد CPU & amp؛ CPU coolerPSU (منبع تغذیه) ذخیره سازی (HDD/SSD) RAMGPU (لازم نیست) مورد ابزار: پیچ گوشتی دستبند ESD/خمیر ماتریسمی با اپلیکاتور
سه مدار بلندگو -- آموزش مرحله به مرحله: 3 مرحله
سه مدار بلندگو || آموزش گام به گام: مدار بلندگو سیگنال های صوتی دریافت شده از محیط را بر روی MIC تقویت می کند و از محل تولید صدای تقویت شده به بلندگو ارسال می کند. در اینجا ، من سه روش مختلف برای ساخت این مدار بلندگو با استفاده از موارد زیر را به شما نشان خواهم داد
مرحله به مرحله اتوماسیون خانگی با استفاده از Wemos D1 Mini با طراحی PCB: 4 مرحله
گام به گام اتوماسیون خانگی با استفاده از Wemos D1 Mini با طراحی PCB: اتوماسیون خانگی گام به گام با استفاده از Wemos D1 Mini با طراحی PCB چند هفته قبل ما آموزش "اتوماسیون خانگی با استفاده از تمشک پای" را در rootaid.com منتشر کردیم که مورد استقبال علاقه مندان و علاقه مندان قرار گرفت. دانشجو. سپس یکی از اعضای ما آمد
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، identicalando a quantidade de lixo presente em cada uma delas، e uma rota de coleta tra & ccedil؛ ada، com base nas nasa
نصب Smapler V0002 مرحله به مرحله: 5 مرحله
نصب Smapler V0002 گام به گام: Smapler یک مدار است که به تولید صدای مولد توسط David Cuartielles و Ino Schlaucher از BlushingBoy.org اختصاص داده شده است. Smapler v0002 - نسخه آاکا سنگاپور - چیزی نیست جز سپر آردوینو که برای بازی استری بد بو استفاده می شود