Мазмұны:
- 1 -қадам: Жұмысты бастау үшін материалдар
- 2 -қадам: компоненттерді тексеру
- 3 -қадам: Индикатор тақтасын дәнекерлеу
- 4 -қадам: Индикатор тақтасын тестке қойыңыз
- 5 -қадам: Индикатор тақтасын сенсорлық тақта арқылы біріктіру
- 6 -қадам: Ақылды болыңыз
- 7 -қадам: Кескіндеме және құрастыру
- 8 -қадам: VNC және соңғы код арқылы қашықтан тестілеу
- 9 -қадам: Кабельді басқару және соңғы жинақ
- 10 -қадам: индикатордың кейбір суреттері
Бейне: Минималистік велосипед индикаторы, сенсорлы: 10 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Сәлем! Бұл менің бірінші нұсқаулық. Мен әрқашан бір нәрсені нөлден жасағым келді, тек оның қалай жұмыс істейтінін көру үшін және өзіңіздің қажеттіліктеріңізге сәйкес нәрсені өзгертуге болатын кезде DIY (өзіңіз жасаңыз) заттары кімге ұнамайды? DIY қалай қызықты болып көрінсе де, оны жүзеге асыру үшін біраз күш қажет. Instructables веб -сайтын қарау - бұл сіздің DIY -ге деген ұмтылыстарыңызды бастаудың тамаша тәсілі, сондықтан мен өз жобаларымды ертерек құруды бастадым, бірақ мен оны жасаймын деп ойламаппын.
Мүмкіндік пайда болған кезде мен минималистік дизайны бар велосипед индикаторын жасадым және сенсорлы түрде қосылды. Мен велосипед индикаторы үшін көптеген нұсқаулықтар немесе желідегі көздер бар екенін білемін, бірақ олардың көпшілігі көбірек орын алды немесе оларды белгілі бір жолмен өзгерту үшін ақылды емес еді. Егер сіз өзіңіздің қажеттіліктеріңізді қанағаттандыратын және оларды сіздің қажеттіліктеріңізге сәйкес өзгертуге мүмкіндік беретін ақылды индикаторды іздесеңіз, онда бұл нұсқаулық сізге арналған!
Неліктен велосипед индикаторы?
Мен велосипедпен қаланы аралағанды ұнатамын! Мен велосипедпен жүремін және таңертең немесе кешке серуендеуге барамын. Кейде түнде жүру қиынға соғады, себебі артта тұрған көлік сізді байқамайды және бұл қауіпті белгі. Сондықтан мен үйде болған барлық материалдармен индикаторды құрғым келді, сонымен қатар велосипедте индикаторларды қосқан кезде қалада мінгенде керемет көрінеді!
Ешқандай қиындыққа тап болмай, жоба жасау - бұл болмайды! Бірақ мен сіз жасаған қателіктердің барлығын, оларды жасауға тырыспау үшін, «пайдалы кеңес» ретінде айтамын. YouTube бейнежазбасында жобаның қалай салынғандығы туралы суреттер, заттардың қалай жұмыс жасайтынын және индикатордың жолда қалай көрінетінін көрсететін шағын анимация бар! Ең егжей -тегжейлі ақпарат осы нұсқаулықта берілген. Жалғастыра отырып, мен youtube бейнебаянымның сегменттерін «Уақыт шкаласы» деп белгілеймін, сіз іс жүзінде қалай жұмыс істейтінін қарауыңыз үшін. Қосымша ақпаратты берілген сілтемелерді басу арқылы алуға болады.
Бұл жобаның ерекшеліктері:
- Оңға бұрылу көрсеткіші
- Солға бұрылу көрсеткіші
- Түнгі көру көрсеткіші
- Touch-Enabled
1 -қадам: Жұмысты бастау үшін материалдар
- Резисторлар (330 Ом және 120 Ом): 330 Ом және 120 Ом
- Таңқурай Pi 3: RPi 3
- Нан тақтасы: Нан тақтасы
- Өткізгіш сымдар (еркек-еркек, ер-әйел, әйел-әйел): секіргіш сымдар
- Көп тізбекті сымдар: көп тізбекті сымдар
- Сыйымдылық сенсорлық сенсор (TTP223) - (2): Сілтеме
- RGB светодиодтары (жалпы катод түрі) - (13): RGB жарықдиодты жалпы катод
- Қалыпты жарық диодтары - (2): жарық диоды
- Дәнекерлеу материалдары: Дәнекерлеу жинағы
- Perf Board: Perf Board
- Powerbank: Powerbank
- 1 микро Фарад электролиттік конденсаторы: электролиттік конденсатор
- LDR (жарыққа тәуелді резистор): LDR
- Кабель байланысы: кабель байланысы
- Кабельді жасырғыш: Кабельді жасырғыш
- Акрил бояуы мен щеткалар (қосымша): Бояу мен щеткалар
- Құрастыруға арналған екі сақтау жәшігі. (1 үлкен және 1 орташа)
Әрқашан жоғарыда айтылғандарға қосымша мөлшерде ұстаңыз. Мен Amazon -дағы компоненттерді және материалдарды дәнекерлеуге арналған ең жақсы сатып алу жиынтығын байланыстырдым!
Уақыт кестесі: материалдарды жинау
2 -қадам: компоненттерді тексеру
Сіздің компоненттеріңізді сынап көрейік! Бұл қандай да бір себептермен бүлінген немесе таңқаларлық әсер ететін компоненттерді бөлуге өте пайдалы, сонымен қатар бұл кезең сізге компоненттермен алғашқы тәжірибе алуға және бүкіл жобаны құруға кіріспес бұрын біраз үйренуге мүмкіндік береді.
RGB светодиодының түрін тексеру
Біз нарықта RGB светодиодтарының екі түрі бар. Жалпы катод типі мен жалпы анод түрі.
Бұл ыңғайлы кеңес (үлкенірек болса да), себебі мен осы бейнеде жарықдиодты осында жалғадым, ал светодиодты бірнеше рет тексергеннен кейін де күткендей жанбады. Содан кейін мен бұл жарық диодының екі түрі бар екенін түсіндім және мәліметтер кестесінен өтіп, ақыры шешім таптым! Менің тізбегімдегі мәселе, жалпы катодты түйреуіш 3.3В -ге қосылды, мен GPIO түйреуішін HIGH -да сақтадым, сондықтан жалпы катодты түйреуіш пен басқа 3 түйреуіш бірдей потенциалда болды.
Шешім: Мен жалпы катодты түйреуішті жерге қостым, светодиод жанып тұрды! Мен кодты GPIO түйреуіштерін LOW ұстап тұру үшін өзгертпедім, себебі біз кейінірек көп жарықдиодты қолданамыз, ал RPi бізге 3,3 В кернеуінде екі түйреуіш береді, ол бізге басқа мақсаттар үшін де қажет!
Түрін қалай тексеруге болады?
Мультиметрді үздіксіз режимде ұстаңыз. Мультиметрдің қызыл ұшымен және қара ұшымен ең ұзын сымды ұстаңыз, басқа сымдардың кез келгенін түртіңіз.. Егер олай болмаса, мультиметрдің ұшын қазір кері бұрыңыз. Қара ұшымен және басқа ұштармен қызыл ұшымен ең ұзын сымды ұстаңыз, енді ол жарық диодты жалпы катодты RGB жарықдиодты екенін көрсетеді.
Пайдалы кеңес: Мен бұл жобада жалпы катодты қолдандым. Бұл түрлерді ғана алуға тырысыңыз, бірақ басқа түрі бар болса да, алаңдамаңыз. Схемалық қосылымдар өзгеріссіз қалады, мен өзгертуге тура келетін нақты код жолының қасында түсініктеме ретінде беретін кодта ғана айырмашылық болуы керек. Дем алыңыз.
Уақыт шкаласы: RGB сынағы
Анықтама: RGB қалай тексеруге болады
RGB жарық диоды жанып тұр
Мұны істеу үшін жоғарыдағы суреттерде берілген байланыс схемасын тексеріңіз және түйреуішке сәйкес тақта арқылы жалғаңыз (қауіпсіз болу үшін).
ҚЫЗЫЛ: түйреуіш 11 (330-Ом резисторы)
ЖАСЫЛ: түйреуіш 13 (120 Ом резисторы)
КӨК: 15 түйреуіш (120 Ом резисторы)
Резистордың мәндері сымдардың ауыспалы кернеуіне байланысты өзгереді.
Оларды дұрыс қосқаннан кейін, кірістірілген python IDE ішіндегі RPi кодын енгізіңіз.
GPO ретінде RPi. GPIO импорттау
#PIN кодтары RPi GPIO Red_pin = 11 Green_pin = 13 Green_pin = 15 #Code 6 катодты түйреуішке қосу 6 pin turnOn (pin): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO). OUT) GPIO.output (pin, GPIO. HIGH) #def turnOff (pin) жалпы анод типі үшін GPIO. шығысы (pin, GPIO. LOW): GPIO.setmode (GPIO. BOARD) GPIO.setup (pin, GPIO. OUT) GPIO.output (pin, GPIO. LOW) #GPIO.output (pin, GPIO. HIGH) def redOn (): turnOn (Red_pin) def redOff (): turnOff (Red_pin) def greenOn (): turnOn (Green_pin) def greenOff (): turnOff (Green_pin) def blueOn (): turnOn (Blue_pin) def blueOff (): turnOff (Blue_pin) try: while True: cmd = input («командаңызды теріңіз:») егер cmd == «қызыл» болса «: #type енгізу пәрмендері дәл» «ішінде көрсетілгендей» «redOn () elif cmd ==» red off «: redOff () elif cmd ==» green on «: greenOn () elif cmd ==» green off «: greenOff () elif cmd == «blue on»: blueOn () elif cmd == «blue off»: blueOff () else: print («жарамсыз пәрмен емес») KeyboardInterrupt қоспағанда: GPIO.cleanup ()
Мен осы нұсқаулыққа сілтеме жасадым, егжей -тегжейлі сипаттама мен кодты тексеріңіз!
Жоғарыда көрсетілген кодты қолдана отырып, сіз бір мезгілде бірнеше жарық диоды бар тақтаға параллель қосу арқылы тексере аласыз және бір -бірімен байланыстырылған түйреуіштерден бір нүктені алып тастай аласыз. Жарық диодтарының жарықтығын тексеру үшін әр түйреуіш үшін әр түрлі резистор мәндерін қолданыңыз
Пайдалы кеңес: Бір түйреуішті параллель қосқаныңызға көз жеткізіңіз. Яғни, бір светодиодтың қызыл түйреуі басқа светодиодтың қызыл істігіне ғана қосылады.
Уақыт шкаласы: оларды жарқыратыңыз!
Сенсорлы тақтаны тестілеу
Схемалық байланыс осында көрсетілгендей (Уақыт шкаласы). Оларды көрсетілгендей қосыңыз және сенсорлық тақталарды келесі кодты пайдаланып тексеріңіз.
Код:
GPO ретінде RPi. GPIO импорттау
уақытты импорттау ұйқысынан GPIO.setmode (IO. BOARD) сенсорлық тақта1 = 11 #түйреуіш 11 сенсорлық тақта2 = 13 #түйреу 13 GPIO. орнату (сенсорлық тақта1, GPIO. IN) GPIO. орнату (сенсорлық тақта2, GPIO. IN) #Біз екеуін де клубтай аламыз жоғарыдағы мәлімдемелер # GPIO.setup ([сенсорлық тақта1, сенсорлық тақта2], GPIO. IN) ретінде бірге көріңіз: while True: if (GPIO.input (сенсорлық тақта1) == True): басып шығару («Сенсорлық тақта 1 тиді») ұйқы (2) elif (GPIO.input (сенсорлық тақта2) == Дұрыс): басып шығару («Сенсорлық тақта 2 түртті») ұйқы (2) басқа: басып шығару («Қол тигізбейді») пернетақтадан басқа Үзіліс: GPIO.cleanup () #CTRL-C шығу үшін
Жарықдиодты тексеру
Жарық диодты тексеру үшін осы керемет нұсқаулықты қараңыз!
Жоғарыда аталған барлық компоненттерді тексергеннен кейін сіз оның үлкен нұсқасын жасауға дайынсыз.
3 -қадам: Индикатор тақтасын дәнекерлеу
Егер сіз дәнекерлеуді жаңадан бастасаңыз, оның негіздерін білу үшін осы оқулықты қараңыз (дәнекерлеу әдісі). Егер сіз дәнекерлеудің маманы болсаңыз, біз бастайық!
Көрсеткіш тақтасы
Жоғарыдағы суреттерден оларды тақтаға қалай дәнекерлеу керектігін көруге болады.
Біз панель үшін 13 RGB светодиодын қолданамыз. Оларды үш бөлікке бөліңіз: сәйкесінше солға, оңға және орталыққа.
Маңызды: светодиодтар арасындағы қашықтық
Мен светодиодтар арасында 3 қатар қалдырдым. Екінші суретте көрсетілгендей, бұл жарықдиодты панельдің жақсы көрінуі мен сезінуі үшін маңызды. Біз светодиодтар кеңістікті тым алыста немесе жарықты алыстан ажырата алмау үшін тым жақын болғанын қаламаймыз.
Пайдалы кеңес: алдымен барлық жалпы катодты түйреуіштерді дәнекерлеуден бастаңыз
Қолайлы кеңес: светодиодтарды жалғау үшін мульти-сымды сымдарды қолданыңыз, себебі олар аз берік және бүгуге оңай. Қысқа қашықтықты қосу үшін жарық диодтарынан қосымша кесу түйреуіштерін пайдалануға болады
Оң жақ бөлік: (5 жарық диоды)
- Барлық Қызыл түйреуіштерді біріктіріңіз
- Барлық жасыл түйреуіштерді бірге қосыңыз
- Барлық жалпы катодты түйреуіштерді бірге қосыңыз
Сол жақ бөлім: (5 жарық диоды)
- Барлық Қызыл түйреуіштерді біріктіріңіз
- Барлық жасыл түйреуіштерді бірге қосыңыз
- Барлық жалпы катодты түйреуіштерді бірге қосыңыз
Орталық бөлім: (3 жарық диоды)
Қолайлы кеңес: Бұл бөлім жеткілікті сақтықты қажет етеді. Барлық түйреуіштерді жоғарыдағы екі бөлімдегідей дәнекерлемеңіз!
- Барлық Қызыл түйреуіштерді біріктіріңіз
- Жоғарғы және төменгі жарықдиодты, жасыл түйреуішті ғана қосыңыз.
- Барлық жалпы катодты түйреуіштерді бірге қосыңыз
Сымдар
Панельді GPIO тақтасына қосу үшін бізге ұзын сымдар қажет.
Қолайлы кеңес:
- Бір сымды сымдарды қолданыңыз! Олар механикалық кернеулерге төтеп бере алатындай берік!
- Сымдарды панель мен RPi арасындағы нақты ұзындықтан сәл ұзағырақ ұстаңыз (бұл сымдарды кейін басқару кезінде өте ыңғайлы! (Уақыт шкаласы: Өлшеу)
- Дәнекерленгеннен кейін оқшаулаңыз! Өте маңызды
Дәнекерлеу үшін өтпелі сым мен бір бұрымды сымды қолданыңыз. Өткізгіш сымның бір ұшы әйел коннекторы болуы керек, оларды осында көрсетілгендей дәнекерлеңіз (Хронология)
Сымдарды қызыл, жасыл және қара деп кодтаңыз. ол сәйкесінше Қызыл түйреуішке, Жасыл түйреуге және Жалпы катодты түйреуге сәйкес келеді.
Бізге 3 қара сым, 3 қызыл сым және 3 жасыл сым қажет.
Сымдар дайын болғаннан кейін. Сымдарды индикатор диодтарына дәнекерлеңіз.
Қолайлы кеңестер:
- Жарық диодтарының берілген қосылуларға сәйкес дәнекерленгеніне көз жеткізіңіз.
- Резистордың дұрыс мәндерін дәнекерлегеніңізге көз жеткізіңіз. Егер мәндер өзгертілсе, ол светодиодтардың жарықтығына әсер етеді
- Барлық светодиодтардың жұмыс істеп тұрғанын тексерудің бір әдісі - 2 -қадамда берілген мультиметрді пайдалану. Бұл өте ыңғайлы, себебі қысқа тұйықталу кезінде светодиодтар жанбайтынын білесіз.
- Сымдардың ұштарын қажет болғаннан ұзартпаңыз. Бұл оларды орнында ұстау қиын болады, сонымен қатар қысқа тұйықталу қаупі жоғары болады.
- Жарықдиодты шамдарды қосу үшін көп сымды пайдаланыңыз.
- Бөлімдерді RPi-ге қосу үшін бір тізбекті сымды қолданыңыз.
4 -қадам: Индикатор тақтасын тестке қойыңыз
Рахмет! Егер сіз панельді дұрыс дәнекерлеген болсаңыз. Енді индикаторды кодтауды жалғастырайық!
Жоғарыда айтылғандай, біз түнгі көріністі оңға, солға бұруды және қосуды/өшіруді көрсетеміз.
3 -қадамдағы тізбектің қосылуын қараңыз.
Панель сымдарын төменде көрсетілгендей жалғаңыз:
- Қызыл оң жақ - түйреуіш 7
- Жасыл оң жақ - түйреуіш 11
- Оңға ортақ катод - 6 -түйреуіш (GND)
- Қызыл сол жақ - түйреуіш 13
- Жасыл сол жақ - түйреуіш 15
- Сол жақтағы жалпы катод - түйреуіш 9 (GND)
- Қызыл орталық - 16 -түйреуіш
- Жасыл орта (жоғарғы және төменгі) - 18 -түйреуіш
- Ортақ катод орталығы - 14 -штырь (GND)
Сынақ коды:
GPO ретінде RPi. GPIO импорттау
уақыт импорттық ұйқыдан #Төмендегі пин сандарына сәйкес қосылыңыз Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 GPIO.setmode (GPIO. BOARD) def right_turn (): басып шығару («Оңға бұрылу») жыпылықтайды (Green_right, Green_top_bottom, 0) def left_turn (): басып шығару («Солға бұрылу») жыпылықтау (Green_left, Green_top_bottom, 0) def blink (pin1, pin2, pin3): if (pin3 == 0): GPIO.setup ([pin1, pin2], GPIO. OUT) x үшін диапазонда (10): GPIO.output ([pin1, pin2], GPIO. HIGH) ұйқы (0.5) GPIO.output ([pin1, pin2], GPIO. LOW) ұйқы (0.5) басқа: GPIO.setup ([pin1, pin2, pin3], GPIO. OUT) x үшін диапазонда (10): GPIO.output ([pin1, pin2, pin3], GPIO. HIGH) ұйқы (0.5) GPIO.шығу ([pin1, pin2, pin3], GPIO. LOW) ұйқы (0.5) түнгі көру (): басып шығару («Түнгі көру ҚОСУЛЫ») жыпылықтау (Қызыл_сол, Қызыл_оң, Қызыл_орталық) көріңіз: ал True: cmd = енгізу (« Жарықдиодты сынау: «) егер cmd ==» оңға бұрылу «: оңға бұрылу () elif cmd ==» солға бұрылу «: солға бұрылу () elif cmd ==» түнгі көру «: түнгі көру () басқа: басып шығару (» Жарамсыз пәрмен «)) Кеден басқа yboardInterrupt: GPIO.cleanup ()
Егер сіздің панель барлық тестілеу кезеңдерін кодтағыдай тазартса, Дайын! Келесі қадамға дайын болыңыз
Егер панель жанбайтын болса, барлық қадамдарды дұрыс орындағаныңызға және бұрын пайдалы кеңестерді қарап шыққаныңызға көз жеткізіңіз. Егер мәселе әлі де шешілмесе, төменде түсініктеме бере аласыз, мен көмектесуге дайынмын.
Уақыт шкаласы: ONE сынағы (жұмыс прототипі үшін бейнені қараңыз)
5 -қадам: Индикатор тақтасын сенсорлық тақта арқылы біріктіру
Оны RPi -ге қосу
Қосылымдарды жоғарыдағы суретте көрсетілгендей жасаңыз.
Оң жақ панель
Сенсорлық тақта:
- GND түйреуіші - түйреуіш 34
- VCC түйреуіші - 1 түйреуіш
- SIG түйреуіші - 29 -түйреуіш
ЖАРЫҚ ДИОДТЫ ИНДИКАТОР:
Анодты (+) түйреуіш - 33 -штырь
Сол жақ панель
Сенсорлық тақта:
- GND түйреуіші - 30 түйреуіш
- VCC түйреуіші - түйреуіш 17
- SIG түйреуіші - түйреуіш 31
ЖАРЫҚ ДИОДТЫ ИНДИКАТОР:
Анодты (+) түйреуіш - 35 түйреуіш
Жалпы GND: пин 39 (светодиодтардың катодының екеуі үшін де) - жалпы жерге тұйықтау
Сынақ коды:
GPO ретінде RPi. GPIO импорттау
уақыт импорттық ұйқыдан Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 іске қосылды = 0 GPIO.setmode (GPIO. BOARD) GPIO.setup ([right_led, left_led], GPIO. OUT) GPIO.setup (right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup (left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn (арна): GPIO. шығысы (оңға қаратылған, GPIO. HIGH) жаһандық іске қосылды = 1 басып шығару («Оңға бұрылу») жыпылықтау (Жасыл_оң, Жасыл_түстің_төмені) def left_turn (арна): GPIO. шығысы (сол жақта, сол жақта, GPIO. HIGH) жаһандық іске қосылды = 1 басып шығару («Бұрылу Солға «) жыпылықтау (Жасыл_солға, Жасыл_түсте) Төменде GPIO.add_event_detect (оңда pin2): x диапазонындағы (10) GPIO.setup ([pin1, pin2], GPIO. OUT): GPIO.output ([pin1, pin2], GPIO. HIGH) ұйқы (0.5) GPIO.outpu t ([pin1, pin2], GPIO. LOW) ұйқы (0.5) GPIO.output ([оң жақта, сол жақта], GPIO. LOW) жаһандық іске қосылды = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) жаһандық іске қосылады, егер (іске қосылған == 0): басып шығару («Night Sight ON») GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) ұйқы (0.27) GPIO.шығу ([Red_center, Red_left, Red_right], GPIO. LOW) ұйқы (0.27) басқа: басып шығару («Night Sight OFF») GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) try: night_sight () KeyboardInterrupt қоспағанда: GPIO.cleanup ()
Сенсорлық тақтаны түртіп, оның жарқылын көріңіз
Уақыт шкаласы (индикатор шамы жоқ): Екінші тест
Уақыт шкаласы (LED индикаторымен): 3 -тест
Кодты түсіндіру: Біз түнгі көріністің үздіксіз жұмыс істеуін қалаймыз және сенсорлық тақтаға тигенде ол тоқтап, сенсорлық тақтаның жұмысын орындауы керек. Мұны істеу үшін біз бір мезгілде питонда «Үзілістер» деп аталатын нәрсені қолданамыз. Бұл бізге түнгі көрініс болып табылатын қалыпты кодты іске қосуға мүмкіндік береді, сонымен қатар жанасу анықталған кезде оқиғаны тудырады. Біз түнгі көріністі тоқтату үшін жалғанған айнымалы мәнді қолданамыз.
Үзіліс туралы қосымша ақпарат алу үшін мына сілтемені қараңыз.
Панельді дәнекерлеңіз
Енді велосипедтің рульіне өтетін сенсорлық тақталарды дәнекерлейік. Жоғарыдағы суретте көрсетілгендей байланыстарды қараңыз.
Енді сіз жарықдиодты және сенсорлық тақтаны сынап көрдіңіз, сіз баруға дайынсыз. Егер сіз тестілеуден өтпеген болсаңыз, осы қадамға және алдыңғы қадамдарға жүгініңіз.
Сенсорлық тақтаны бейнеде көрсетілгендей тұтқаға жақын қойыңыз. Яғни, оң сенсорлық тақта үшін сенсорлық тақта оң жақта және сол жақта. Сол сияқты сенсорлық тақта үшін светодиод оң жақта, ал сенсорлы тақта сол жақта орналасқан, бұл саусақтың жетуін жеңілдетеді.
PS: Мен сенсорлық тақтаны жетілдіру тақтасына дәнекерлемедім, себебі мен оны қайтадан қолданамын. Сондықтан мен оны панельге екі жақты таспамен жаптым.
Панельді RPi -ге ұзын сымдар арқылы қосыңыз
6 -қадам: Ақылды болыңыз
Иә! Енді бізде индикатордың барлық негізгі элементтері жұмыс істеп тұр. Оны ақылды ету үшін тағы бір қадам жасайық.
Мұнда ақылды батареяны үнемдеуді де анықтайды. Сіз байқағандай, түнгі көрініс әрқашан қосылады, ал кейде ашық шуақты күнде бұл қажет емес. Бұл мәселені шешу үшін LDR (жарыққа тәуелді резистор) интеграциялауға мүмкіндік береді, ол бізге жарық интенсивтілігі туралы мәліметтерді береді, біз индикаторды сәйкесінше жинай аламыз және өңдей аламыз.
LDR тестілеу
Мен жарық интенсивтілігін және ол қай мәнді қайтаратынын тексеру үшін LDR тестілеу үшін осы веб -сайтқа сілтеме жасадым.
Жоғарыда көрсетілген веб -сайтты қараңыз және LDR жұмысының үлгі коды.
LDR -ді біздің кодқа біріктіру
LDR құрылғысын сенсорлық тақтаның оң жақ панеліне жоғарыдағы қосылым диаграммасында көрсетілгендей дәнекерлеңіз.
Түйреуіштерді дұрыс жерге дәнекерлегеннен кейін кодтаудың соңғы кезеңі. Соңғы код!
- Конденсатор мен LDR катодының (-) ортақ нүктесін RPi-ге пин-36-ға қосыңыз.
- Конденсатордың аноды 5 -қадамда айтылған Common Ground нүктесіне қосылған
Қорытынды код:
GPO ретінде RPi. GPIO импорттау
уақыт импорттық ұйқыдан Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 ldr = 36 trigger = 0 GPIO.setmode (GPIO. BOARD) GPIO. баптау ([оң жақта, сол жақта], GPIO. OUT) GPIO. орнату (оңда GPIO.output (оңда_қаралған, GPIO. HIGH) жаһандық іске қосылды = 1 басып шығару («Оңға бұрылу») жыпылықтау (Жасыл_оңда, Жасыл_түсте_төмен) def left_turn (арна): GPIO.output (left_led, GPIO. HIGH) жаһандық іске қосылды = 1 басып шығару («Солға бұрылу») жыпылықтау (Green_left, Green_top_bottom) GPIO.add_event_detect (оңда (ldr): count = 0 #GPIO.setup (ldr, GPIO. OUT) GPIO.output (ldr, GPIO. LOW) ұйқы (0,1) #Chang түйреуіш GPIO.setup (ldr, GPIO. IN) кірісіне оралу #Санау түйін жоғары көтерілгенше санау (GPIO.input (ldr) == GPIO. LOW): санау += 1 қайтару саны анық жыпылықтайды (pin1, pin2)): X диапазонындағы GPIO.setup ([pin1, pin2], GPIO. OUT) (10): GPIO.output ([pin1, pin2], GPIO. HIGH) ұйқы (0.5) GPIO.output ([pin1, pin2)], GPIO. LOW) ұйқы (0.5) GPIO. шығысы ([оң жақта, сол жақта], GPIO. LOW) жаһандық іске қосылды = 0 def night_sight (): while (True): GPIO.setup ([Red_center, Red_left, Red_right], GPIO. OUT) жаһандық іске қосылады, егер (light_sensing (ldr)> 7800): if (trigger == 0): басып шығару («Night Sight ON») GPIO.output ([Red_center, Red_left, Red_right], GPIO. HIGH) ұйықтаса (0,27) GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) ұйықтау (0.27) басқа: басып шығару («Night Sight OFF») GPIO.output ([Red_center, Red_left, Red_right], GPIO. LOW) көріңіз: night_sight () KeyboardInterrupt қоспағанда: GPIO.cleanup ()
Воила! Ал индикатор айналдыруға дайын.
Қолайлы кеңес: RPi мен басқа компоненттерді циклге жинамас бұрын, бұл бағдарламаны дұрыс тексергеніңізге көз жеткізіңіз! Қателерді түзету үшін оны бірнеше рет іске қосыңыз.
7 -қадам: Кескіндеме және құрастыру
Қажетті материалдар:
- Сымды кесу/ аршу құралдары
- Raspberry Pi -ге сәйкес келетін үлкен бір қорап
- Индикатор тақтасына сәйкес келетін кішкене сақтау жәшігі
- Бояу
- Бояу щеткалары
Индикатор тақтасы мен сенсорлық тақтаны қара түске бояудан бастаңыз. Мен мұнда акрил бояуларын қолдандым, оларды қалауыңыз бойынша қолдануға болады, ол тақтайшамен жақсы үйлеседі. Жарықдиодты панельді жандандыру және ерекшелену үшін қара фонды пайдаланыңыз. Пластмассаны еріту үшін жылытылатын бұрағышты немесе кез келген металл заттарды қолданып тесіктер жасаңыз.
Ескертпе: тесіктерді жасау кезінде абай болыңыз.
Уақыт шкаласы: Paint
Қолайлы кеңес: Мен пластикалық қораптарды қолдандым, бояу оңай кетеді. Жақсы сапалы бояуларды қолданғаныңызға көз жеткізіңіз
Индикатор мен панельдер боялғаннан кейін оларды күн сәулесінде кептіріп, жинауға дайын болыңыз.
Мен кеңістікті үнемдеу үшін көрсеткіш тақтасында және алдыңғы панельде қосымша тақтаның қосымша шеттерін кесіп алдым.
Жинау үшін бейнені қараңыз!
Уақыт шкаласы: Кек алушылар! Жинау. (Көрсеткіш тақтасы мен RPi қораптармен жиналады)
Бейнеде көрсетілгендей, сымдарды сәйкес қорапқа үш тесік арқылы салыңыз. Біреуі RPi қуат банкінің сымы үшін, біреуі сенсорлық тақта үшін, екіншісі индикатор тақтасы үшін. Кіші қорап үшін тек бір тесік қажет.
Қолайлы кеңес: сымдардың оқшаулануын тексеріп, қорапқа қоспас бұрын сымдардың дұрыс дәнекерленгенін тексеріңіз.
8 -қадам: VNC және соңғы код арқылы қашықтан тестілеу
Индикатор толық дайын болғанға дейін бір соңғы тест. RPi -ді VNC Viewer -ге қосыңыз және бағдарламаны іске қосыңыз.
Мен әрқашан бағдарламаны іске қосу үшін VNC серверін қолданамын және бағдарламадағы қателерді түзетемін. Осылайша, мен RPi -ді мониторды сыртынан қоспай -ақ тексергім келетін жерге орналастыра аламын.
RPi -ді VNC серверіне қосу үшін осы бетті тексеріңіз. (VNC сервері)
Сіз RPi -ді VNC серверіне қосқаннан кейін. Сіз виртуалды жұмыс үстелінде кодты іске қоса аласыз және қателерді түзете аласыз.
Уақыт шкаласы: Іске қосу кезінде іске қосыңыз
Қолайлы кеңес: Raspberry Pi -ді виртуалды жұмыс үстеліне қосқаннан кейін сіз RPi IP -мекен -жайымен кіресіз. Бірақ егер сіз RPi қосылымнан бас тартқаны туралы қате алсаңыз, бұл IP мекенжайының RPI -де өзгеруіне байланысты. Бұл маршрутизаторды немесе WiFi хотспотты қайта іске қосқаннан кейін, ескі мекенжаймен кіруге тырысқанда орын алуы мүмкін. Маршрутизатор оны қайта іске қосқан сайын жаңа IP тағайындайды, бірақ егер сіз ескі IP мекенжайын есіңізде сақтасаңыз, соңғы цифрды 1 -ге көбейтіңіз және кіріңіз. Мысалы: Егер ескі IP -адрес 190.148.1.100 болса, 190.148 арқылы кіріңіз..1.101
Барлығы дұрыс жұмыс істеп тұрғанын тексергеннен кейін, соңғы жинауға уақыт келді.
Бізде әрқашан python сценарийін бақылайтын немесе іске қосатын виртуалды жұмыс үстелі бола алмайды. Сондықтан мұны іске қосқанда жасайық.
Біз RPi іске қосылғаннан кейін біздің бағдарламаның іске қосылғанын қалаймыз. Бұл туралы толығырақ ақпарат алу үшін осы веб -сайтты тексеріңіз!
Егер сіздің RPi автоматты кіруді орнатуда болса, жалғастырыңыз;
RPi терминалында келесі командаларды орындаңыз
sudo nano /etc /profile
Төменге қарай жылжып, келесі жолды қосыңыз:
sudo python file_path &
Бұл жерде file_path сіздің соңғы кодыңыз сақталатын python файлының жолын білдіреді.
Ескерту: Файлдың соңындағы Ampersand (&) белгісі сіздің бағдарламаңыз жүйенің жүктелуіне параллель жұмыс істейтін етіп қосылуы керек. Біздің бағдарламада шексіз цикл болғандықтан, бұл қадам міндетті болып табылады, сондықтан бағдарлама күтілгендей жұмыс істемесе де, біз параметрлерді өзгерту үшін RPi жұмыс үстелін қолдана аламыз.
Осыдан кейін CTRL-X, содан кейін Y пернесін екі рет басыңыз, сонда сіз командалық терминалға ораласыз.
Pi қайта жүктеңіз
Енді код іске қосылған кезде іске қосылуы керек
9 -қадам: Кабельді басқару және соңғы жинақ
Құттықтаймын! бұл жобаны аяқтау туралы. Мен оған Минимал сөзін бердім, сіз көргендей, біз барлық қажетті көрсеткіштерді, сонымен қатар реттелген түстерді көрсету үшін аз жарық диодты қолдандық. Светодиодтар үшін әр түрлі түстерді қолданыңыз, мысалы, бұрылыс индикаторлары үшін сары немесе басқа.
Егер сіз бұл жобаны орындаған болсаңыз, «Мен жасадым» түймесін басып, өз тәжірибеңізбен бөлісіңіз. Осы жоба бойынша өз ойларыңызбен, ұсыныстарыңызбен немесе пікірлеріңізбен бөлісіңіз. Мен мұны естігім келеді!
Кабельді басқару
Иә! Сіз байқаған боларсыз, циклдарда және айналада көптеген сымдар бар және оларды басқару қиын. Мен сымдарды жасыру үшін кабельдік тегтерді, оқшаулағыш таспаларды және кабельді корпусты қолдандым, сонымен қатар оларды суретте көргендей қара түске боядым.
Пайдалы кеңес: Сіз кабельдеріңізді қажетсізден артық дюйм қалдырып кеткендіктен, оларды кернеусіз дұрыс басқару қажет! Егер сіздің жарық диодтарыңыздың бірі жанады, ал басқалары сіз бәрін дұрыс жасасаңыз да - мәселе RPi -ге қосылған Jumper Wires, бос байланыс болады. Егер бұл жалғаса берсе, сымды ұзарту және жалғау үшін еркек пен әйел арасындағы секіргіш сымды қолданыңыз. Сымдардың қозғалмауы үшін оларды орнында ұстау үшін кабельдік байланыстарды қолданыңыз.
Енді индикатордың бәрі мінуге дайын! Ләззат ал
PS: Келесі нұсқаулықта мен тізбектегі сымдардың санын азайтып, жақсы жоспар құрғым келеді. Егер мен осылай жасасам, мен бұл туралы нұсқаулықты бөлісемін!
10 -қадам: индикатордың кейбір суреттері
Бұл нұсқаулықты оқығаныңыз үшін рахмет. Сіз маған оны жасағандағыдай ұнадыңыз деп үміттенемін
Уақыт шкаласы: Қорытынды тест Жоғарыда көрсетілген сегментте сіз бөлме қараңғыланған кезде «Түнгі көрініс» қосылатынын және жарқыраған сайын бірден өшетінін көре аласыз!
Уақыт шкаласы: Айналдыруға дайын Мен индикаторды басты назарда көрсету үшін түсірген кейбір бейнелер. Әпкелерімнің велосипедпен жүруіне видео үшін барлық несие!
Ұсынылған:
NodeMCU сенсорлы сенсорлы LDR температураны басқару релесі бар үйді автоматтандыру: 16 қадам
NodeMCU сенсорлы сенсорлы LDR температураны бақылау релесі бар үйді автоматтандыру: Менің бұрынғы NodeMCU жобаларымда мен Blynk қосымшасының екі тұрмыстық техникасын басқардым. Мен жобаны қолмен басқару және басқа мүмкіндіктерді қосу арқылы жаңарту үшін көптеген түсініктемелер мен хабарламалар алдым, сондықтан мен бұл ақылды үйді кеңейту қорабын жасадым
Музыкалық ассемблер: сенсорлы блокты сенсорлы интеграцияланған виртуалды аспап: 4 қадам
Музыкалық ассемблер: сенсорлы сенсорлы интеграцияланған виртуалды аспап: музыкалық аспапта ойнауды үйренгісі келетіндер көп. Өкінішке орай, олардың кейбіреулері құралдардың қымбат болуына байланысты оны бастамайды. Осыған сүйене отырып, біз жаңа бюджетті азайту үшін интеграцияланған музыкалық аспаптар жүйесін жасауды шештік
Минималистік сағат сағаты: 28 қадам (суреттермен)
Минималистік сағат сағаты: Super Make Something -ге үлкен рахмет, себебі бұл жоба олардың неопиксельді сағат сағатынан шабыттанды. Мен бұл сағатты IGCSE Design бөлігі ретінде жасадым & Технология курсы және ол үшін A* алды. CAD модулі алдын -ала синтезге негізделген, сондықтан
Минималистік IoT сағаты (ESP8266, Adafruit.io, IFTTT және Arduino IDE көмегімен): 10 қадам (суреттермен)
Минималистік IoT сағаты (ESP8266, Adafruit.io, IFTTT және Arduino IDE көмегімен): Бұл оқулықта мен минималистік сағатты интернетпен қалай жасауға болатынын көрсетемін. Мен оны ESP8266 негізіндегі екі түрлі тақтамен тексердім: Firebeetle және NodeMCU. Микроконтроллер Google серверінен ағымдағы уақытты алады және оны
Өмір ағашы (Arduino Capacitive сенсорлы сенсорлы қозғалтқыш): 6 қадам (суреттермен)
Өмір ағашы (Arduino Capacitive Touch Sensor Driving Servo Motor): Бұл жоба үшін біз сыйымдылық сенсоры мен серво қозғалтқыштан тұратын күріш беретін ағаш жасадық. Кілемшеге қол тигізгенде, серво қозғалтқышы қосылады және күріш (немесе оған салғыңыз келетін нәрсе) шығарылады. Мұнда қысқаша бейне