Мазмұны:
- 1 -қадам: SmartBin жабдықтары
- 2 -қадам: Таңқурай қорапшасы мен жарықдиодты жолақты өндіру
- 3 -қадам: қақпақ бөлігі
- 4 -қадам: Бағдарламалық қамтамасыз ету бөлігі және деректерді алу
Бейне: SmartBin: 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл жобаның негізгі мақсаты - кем дегенде бір Raspberry Pi қолданатын электронды құрылғыны құру. Команда 5 болашақ инженер -механиктен және бір автоматика инженерінен тұрады. Біздің жоба қоқыс жәшігінің алдыңғы жағында орналасқан қозғалыс детекторының астындағы аяқ қозғалысы автоматты түрде ашылатын және жабылатын қоқыс жәшігін жасаудан тұрады. Wifi USB таяқшасы веб -сайтқа деректерді жіберу үшін қолданылады. Бұл қоқыс жәшігі «SmartBin» деп аталады. Жоғарыдағы әзіл бейне біздің инновациялық SmartBin -мен таныстырады.
Бұл керемет SmartBin жобасын жүзеге асыру үшін бірнеше құралдар қажет болды:
- Бір метр
- Күшті желім
- Жабысқақ таспа
- Ағаш ара
- Бұрауыш
- Бұрғылау машинасы
- Қысқыш
- Пышақ
1 -қадам: SmartBin жабдықтары
SmartBin жасыл, қызғылт сары және қызыл жарықдиодты шамдардан тұрады, олар қоқыс жәшігінің сол жағындағы қондырғыға қойылған, ол оның қаншалықты толтырылғанын көрсетеді. Бұл шамдар анық көрінеді және қоқыс жәшігін ауыстыру қажет болған кезде пайдаланушыны ескертеді. Қолданылатын программалау тілі - Python. Қоқыс жәшігінің толтыру деңгейі келесі веб -сайтқа жіберіледі:
Міне, қолданылған элементтер, бірақ сіз балама шешімді оңай таба аласыз:
- 1 қоқыс жәшігі
- 1 Қалтаны ашу үшін сервомотор
- 1 таңқурай Pi 2
- Raspberry Pi мен сервомоторды қамтамасыз ету үшін 2 қуат көздері (5В ұялы телефон зарядтағыш және 6В қуат көзі)
- 1 Қоқыс толтыру деңгейін өлшеуге арналған ультрадыбыстық сенсор
- Кейбір жарық диодтары толтыру деңгейін көрсетеді (4 жасыл, 2 қызғылт сары және 1 қызыл)
- 1 Қозғалысты анықтау үшін ультрадыбыстық қозғалыс детекторы
- 1 16 Гб SD картасы
- Электрлік резисторлар (10.000 Ом, 2000 Ом және 1000 Ом)
- Веб -сайтқа сымсыз жіберуді қосу үшін 1 WiFi USB таяқшасы.
- 1 Нан тақтасы мен бірнеше таңқурай кабельдері
Өндірістің болжамды бағасы - 80 евро.
2 -қадам: Таңқурай қорапшасы мен жарықдиодты жолақты өндіру
Таңқурай қорабын жасау үшін ағаш араны қолданыңыз. Таза көрінуі үшін қораптың әр жағын тойтармалармен бекітіңіз. Атауынан көрініп тұрғандай, бұл қорапта Raspberry Pi ғана емес, сонымен қатар төменгі жағында орналастырылатын қозғалыс сенсоры болады. Қорап салынғаннан кейін оны қоқыс жәшігі сияқты түске бояңыз. Бұл қорапты жасау үшін 3D басып шығару технологиясын қолдануға болады.
Жарық диодты штанганы жасау үшін жарықдиодты шамдарды орнатуға мүмкіндік беретін тесіктерді бұрғылайтын электр каналын пайдаланыңыз. Жарық диодты жолақты да бояу керек. Барлығы дайын болған кезде, жарықдиодты каналға орнатып, электрлік қосылуды жасаңыз. Жарықдиодты кабельдердің әрқайсысын жабысқақ таспамен дұрыс нөмірлеуге назар аударыңыз. Бұл сымдар кезінде әр жарық диодты анықтауға көмектеседі.
Соңында қорапты және жарықдиодты жолақты қоқыс жәшігінің алдыңғы жағына бекітіңіз.
3 -қадам: қақпақ бөлігі
Қоқыс жәшігінің қақпағына келетін болсақ, бірінші кезекте сервомоторды қақпаққа жабыстыру қажет. Левереджді кеңейту бұрын жасалуы керек. Тұтқа бұрын қолдан жасалған тоқтауға түседі. Қақпаққа бұрандалы қорапты бекітіңіз және ультрадыбыстық сенсорды дұрыс күйде ұстау үшін тесік жасаңыз. Сымдарды қақпақшаға таспамен дұрыс бекіткеніңізге көз жеткізіңіз.
4 -қадам: Бағдарламалық қамтамасыз ету бөлігі және деректерді алу
Бағдарламалық қамтамасыз ету бөлігіне қатысты біз питон программалау тілін қолдандық. Бағдарлама Raspberry Pi қосылған кезде SD-картасында сақталады. Қосылу схемасы жоғарыда көрсетілген. Gpio түйреуіштерінің суреті таңқурайдың барлық түрлері үшін төмендегі сілтемеде қол жетімді:
www.raspberrypi-spy.co.uk/2012/06/simple-g…
Қозғалыс детекторын ауыстыру үшін ультрадыбыстық сенсорды қолдануға болады, тек кодта «егер цикл» құру қажет.
Жоғарыда айтылғандай, қоқыс жәшігінің толтырылу деңгейіне қатысты мәліметтер 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
Сіз сонымен қатар жоба үшін пайдаланылатын толық питон коды болып табылатын қосымшаны жүктей аласыз. Екі код бір уақытта іске қосылады!
Міне main.py коды:
импорт RPi. GPIO ретінде GPIOimport datetime импорттау уақыты импорт csv
GPIO.setmode (GPIO. BCM)
GPIO.setwarnings (жалған)
капитан Р = 7
servo = 17
GPIO. орнату (серво, 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 (жалған)
GPIO. шығысы (5, жалған)
GPIO.output (6, False) GPIO.output (13, False) GPIO.output (19, False) GPIO.output (20, False)
GPIO.output (Trig, False)
timeset = time.time ()
қашықтық = 100 жады = 0 уақыт.ұйқы (2) pwm.бастау (12.5)
шындық кезінде:
timetac = time.time () егер GPIO.input (capteurP) және timetac-timeset0.9: pwm. ChangeDutyCycle (2.5) time.sleep (0.2) жады = -0.5 pwm.hangeDutyCycle (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. шығысы (Trig, True) time.sleep (0.01) GPIO.output (Trig, False)
GPIO.input (Echo) == 0 және timetac-timeset <17: timetac = time.time () debutImpulsion = time.time ()
GPIO.input (жаңғырық) == 1:
finImpulsion = time.time () егер timetac-timeset <17: қашықтық1 = дөңгелек ((финИмпульсия-дебютИмпульсия) * 340 * 100/2, 1) қашықтық2 = егер (қашықтық1-қашықтық2) <1 және (қашықтық2-қашықтық1) 0,4: dis = дөңгелек ((60-қашықтық)*5/6, 1) csvfile ретінде ашық ('capteur.csv', 'w'): capteurwriter = csv.writer (csvfile) time_str = datetime.datetime.strftime (datetime).datetime.now (), '%Y-%m-%d%H:%M:%S') басып шығару ('Уақыт: {0} Quantitee: {1}'. формат (time_str, dis)) капитан. жазушы ([time_str, dis]) жады = -0.1 егер қашықтық <52.5: GPIO. шығысы (5, True) басқа: GPIO. шығысы (5, False) егер қашықтық <45: GPIO. шығысы (6, True) басқа: GPIO.output (6, False) егер қашықтық <37.5: GPIO.output (13, True) басқа: GPIO.output (13, False) егер қашықтық <30: GPIO. шығысы (19, True) басқа: GPIO. шығысы (19, False) егер қашықтық <22.5: GPIO. шығысы (20, True) басқа: GPIO. шығысы (20, False) егер қашықтық <15: GPIO. шығысы (21, True) басқа: GPIO. шығысы (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 = 'lol'
while True: time.sleep (5) loc = ('capteur.csv') with open (loc) with csvfile: readCSV = csv.reader (csvfile, delimiter = ',') readCSV ішіндегі жол үшін: басып шығару (жол [0)]) timec = жол [0] басып шығару (жол [1]) қашықтық = жол [1] қашықтық = қалқып шығу (str (қашықтық)) егер timec2! = timec: timec2 = timec басып шығару ('Уақыт: {0} Сан саны: { 1} 'форматы (уақыт, қашықтық))
ҚОЛДАНУ ҚАЛДАРЫ = ['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 («график»). парақ1 wks = wks.append_row ((уақыт, қашықтық))
Ұсынылған:
Arduino басқарылатын робот - екі қадам: 13 қадам (суреттермен)
Arduino басқарылатын роботты екіжақты: Мен әрқашан роботтарға қызығатынмын, әсіресе адамның іс -әрекетіне еліктеуге тырысатын. Бұл қызығушылық мені жаяу жүруге және жүгіруге еліктей алатын екіжақты робот құрастыруға және дамытуға талпындырды. Бұл нұсқаулықта мен сізге көрсетемін
Arduino Uno көмегімен акустикалық левитация Қадамдық қадам (8 қадам): 8 қадам
Акустикалық левитация Arduino Uno Қадамдық қадаммен (8-қадам): ультрадыбыстық дыбыс түрлендіргіштері L298N Dc әйелдер адаптерінің ток көзі еркек тоқ сымымен Arduino UNOBreadboard Бұл қалай жұмыс істейді: Біріншіден, сіз кодты Arduino Uno-ға жүктейсіз (бұл сандық жүйемен жабдықталған микроконтроллер) және кодты түрлендіру үшін аналогтық порттар (C ++)
Түймені іске қосатын қадам реттегіші: 4 қадам
Түймені іске қосатын қадам реттегіші:
Тікелей 4G/5G HD бейне ағыны DJI Drone -ден төмен кідірісте [3 қадам]: 3 қадам
Тікелей 4G/5G HD бейне ағыны DJI Drone-ден төмен кідірісте [3 қадам]: Келесі нұсқаулық кез-келген DJI дронынан HD сапалы бейне ағындарын алуға көмектеседі. FlytOS мобильді қосымшасы мен FlytNow веб -қосымшасының көмегімен сіз дроннан бейне ағынды бастай аласыз
SmartBin: 8 қадам
SmartBin: Este және eacute; жүйелік жоспарлау жүйесінде, ешқандай біліктілікке ие емес, сонымен қатар ликсейстерді анықтауға болады, сонымен қатар, олар сіздің жеке мәліметтеріңізді ұсынады, сонымен қатар қол жетімді ақпарат