Мазмұны:

Бағдарламаланатын жарық диоды: 6 қадам (суреттермен)
Бағдарламаланатын жарық диоды: 6 қадам (суреттермен)

Бейне: Бағдарламаланатын жарық диоды: 6 қадам (суреттермен)

Бейне: Бағдарламаланатын жарық диоды: 6 қадам (суреттермен)
Бейне: Arduino ҚАЗАҚША [6] ШИМ порттар 2024, Шілде
Anonim
Бағдарламаланатын жарық диоды
Бағдарламаланатын жарық диоды

Әр түрлі жарық диодты лақтыру, жыпылықтайтын светодиодтар мен ұқсас нұсқаулықтардан шабыттанып, мен микроконтроллер басқаратын жарықдиодты шығаратын нұсқамды жасағым келді. Бұл қайта бағдарламалауды жарық пен көлеңке арқылы жасауға болады, мысалы. Сіз шамды пайдалана аласыз. Бұл менің бірінші нұсқаулығым, кез келген түсініктемелер мен түзетулер құпталады. 08.08.2008 жаңарту: Tinker дүкенінде қазір жинақ бар. Мұнда оны қайта бағдарламалау туралы бейне бар. Сапасы үшін кешіріңіз.

1 -қадам: Бұл қалай жұмыс істейді

Жарықдиодты шығару ретінде қолданылады. Кіріс ретінде мен LDR, жарыққа тәуелді резисторды қолдандым. Бұл LDR резисторды өзгертеді, себебі ол көп немесе аз жарық алады. Содан кейін резистор ADC микропроцессорларына аналогтық кіріс ретінде қолданылады (аналогты цифрлық түрлендіргіш).

Контроллерде екі жұмыс режимі бар, біреуі тізбекті жазуға, екіншісі жазылған тізбекті ойнатуға арналған. Контроллер секундтың жартысында жарықтылықтың екі өзгеруін (қараңғы, ашық, қараңғы немесе басқа жолмен) байқаған соң, жазу режиміне ауысады. Қайта жазу режимінде LDR кірісі секундына бірнеше рет өлшенеді және чипте сақталады. Егер жад таусылса, контроллер ойнату режиміне қайта көшеді және жазылған тізбекті ойнай бастайды. Бұл шағын контроллердің жады өте шектеулі болғандықтан, 64 байт (иә, байт!), Контроллер 400 битті жаза алады. Бұл 10 секундқа жеткілікті кеңістік, секундына 40 үлгі.

2 -қадам: материалдар мен құралдар

Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар
Құралдар мен материалдар

Материалдар- 2 x 1K резистор- 1 x LDR (жарыққа тәуелді резистор), мысалы. M9960- 1 x Төмен токты жарықдиодты, 1,7В, 2ма- 1 x Atmel ATtiny13v, 1КБ флэш-жедел жады, 64 байт жедел жады, 64 байт EEPROM, 0-4МГц@1.8-5.5V- 1 x CR2032, 3В, 220мАчтұрақтар- дәнекерлеу үтігі - дәнекерлеуші сым- нан тақтасы- AVR бағдарламашысы- 5В қуат көзі- мультиметр Бағдарламалық жасақтама- Eclipse- CDT плагині- WinAVRCosts жалпы құралдарсыз 5 доллардан төмен болуы керек. Мен ATtiny13v -ді қолдандым, себебі бұл контроллерлер тобының бұл нұсқасы 1,8 В -та жұмыс істей алады. Бұл тізбекті өте кішкентай батареямен басқаруға мүмкіндік береді. Ол ұзақ уақыт жұмыс істеуі үшін мен толық жарықтылыққа 2м -де жететін төмен токты жарықдиодты қолдануды шештім.

3 -қадам: Схемалар

Схемалар
Схемалар

Схемаға қатысты кейбір түсініктемелер. Қалпына келтіру кірісі қосылмаған. Бұл ең жақсы тәжірибе емес. 10K резисторды көтеру кезінде қолдану жақсы болар еді. Бірақ бұл мен үшін жақсы жұмыс істейді және резисторды сақтайды, схеманы мүмкіндігінше қарапайым ұстау үшін мен ішкі осцилляторды қолдандым. Бұл дегеніміз, біз кристалды және екі шағын конденсаторды үнемдейміз. Ішкі осциллятор контроллерге 1,2 МГц жиілікте жұмыс істеуге мүмкіндік береді, бұл біздің мақсатымыз үшін жеткілікті жылдамдықтан асады, егер сіз 5 В -тан басқа қуат көзін пайдалануды немесе басқа жарық диодты қолдануды шешсеңіз, R1 резисторын есептеуге тура келеді. Формула: R = (Қуат көзі V - Жарықдиодты V) / 0,002А = 1650 Ом (Қуат көзі = 5В, Жарықдиодты V = 1,7В). Бір емес, екі төмен токты жарықдиодты қолданғанда формула келесідей көрінеді: R = (Қуат көзі V - 2 * LED V) / 0,002А = 800 Ом. Назар аударыңыз, егер сіз басқа жарықдиодты түрін таңдасаңыз, есептеуді реттеуіңіз керек. R2 резисторының мәні пайдаланылған LDR -ге байланысты. 1KOhm мен үшін жұмыс істейді. Сіз ең жақсы мәнді табу үшін потенциометрді қолданғыңыз келуі мүмкін. Циклит күндізгі жарықта жарықтың өзгеруін анықтай алуы керек. Қуатты үнемдеу үшін PB3 тек жоғарыға орнатылады, егер өлшеу жүргізілсе. Жаңарту: схема жаңылыстырды. Төменде дұрыс нұсқа бар. Рахмет, dave_chatting.

4 -қадам: Прототип тақтасына жинаңыз

Прототип тақтасына жинаңыз
Прототип тақтасына жинаңыз
Прототип тақтасына жинаңыз
Прототип тақтасына жинаңыз

Егер сіз өз тізбегіңізді тексергіңіз келсе, тақта өте ыңғайлы. Сіз барлық бөлшектерді дәнекерлемей жинай аласыз.

5 -қадам: Схеманы бағдарламалау

Циклды бағдарламалау
Циклды бағдарламалау
Циклды бағдарламалау
Циклды бағдарламалау

Контроллер әр түрлі тілдерде бағдарламалануы мүмкін. Көбінесе Assembler, Basic және C қолданылады. Мен C тілін қолдандым, себебі ол менің қажеттіліктеріме сәйкес келеді. Мен он жыл бұрын C -ге үйрендім және кейбір білімді жандандыра алдым (жақсы, кейбіреулері ғана …). Бағдарламаңызды жазу үшін мен CDT плагинімен Eclipse ұсынамын. Тұтылуды мына жерден алыңыз https://www.eclipse.org/ және плагин мына жерден https://www.eclipse.org/cdt/. AVR микроконтроллерлеріне С тілін құрастыру үшін сізге кросс компилятор қажет болады. Бақытымызға орай, әйгілі GCC порты бар. Ол WinAVR деп аталады және оны мына жерден табуға болады https://winavr.sourceforge.net/. AVR контроллерлерін WinAVR-мен бағдарламалаудың өте жақсы оқулығы мына жерде https://www.mikrocontroller.net/articles/AVR-GCC- Оқулық. Кешіріңіз, бұл неміс тілінде, бірақ сіз өзіңіздің тіліңізде осы тақырып бойынша мыңдаған оқулық беттерін таба аласыз, егер сіз оларды іздесеңіз. Дереккөзді құрастырғаннан кейін он алтылық файлды контроллерге беру керек. Мұны компьютерді провайдермен (жүйелік бағдарламашыда) немесе арнайы бағдарламашылардың көмегімен схемаға қосу арқылы жасауға болады. Мен арнайы бағдарламашыны қолдандым, себебі ол кейбір сымдар мен штепсельді үнемдеу арқылы тізбекті сәл жеңілдетеді. Кемшілігі мынада, сіз бағдарламалық жасақтаманы жаңартқан сайын контроллерді схема мен бағдарламашы арасында ауыстыруыңыз керек. Менің бағдарламашым https://www.myavr.de/ сайтынан келеді және ноутбукке қосылу үшін USB қолданады. Айналада көптеген басқа адамдар бар, және сіз оны өзіңіз жасай аласыз. Трансфер үшін мен WinAVR дистрибутивіне кіретін avrdude атты бағдарламаны қолдандым. Пәрмен жолы мысалы келесідей болуы мүмкін:

avrdude -F -p t13 -c avr910 -P com4 -U жарқыл: w: flickled.hex: iҚосылған сіз қайнар көзді және жиналған он алтылық файлды ала аласыз.

6 -қадам: дәнекерлеу

Дәнекерлеу
Дәнекерлеу

Егер сіздің схемаңыз тақтада жұмыс жасаса, оны дәнекерлеуге болады.

Мұны ПХД (басылған циквит тақтасы), прототип тақтасында немесе тіпті тақтайсыз жасауға болады. Мен мұны істеуді шештім, себебі схема бірнеше компоненттерден тұрады. Егер сіз дәнекерлеуді білмесеңіз, мен алдымен дәнекерлеу оқулығын іздеуді ұсынамын. Менің дәнекерлеу дағдыларым біраз тот басқан, бірақ менің ойымша, сіз бұл идеяны түсіндіңіз. Сізге ұнады деп үміттенемін. Алекс

Ұсынылған: