Мазмуну:
- 1 -кадам: Бул кантип иштейт
- 2 -кадам: материалдар жана инструменттер
- 3 -кадам: схемалар
- 4 -кадам: Прототип тактасына чогулуңуз
- 5 -кадам: Районду программалоо
- 6 -кадам: ширетүү
Video: Программалануучу LED: 6 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:43
Ар кандай LED ыргытуулары, жаркыраган диоддор жана ушуга окшош көрсөтмөлөрдүн жетеги менен мен микроконтролёр тарабынан башкарылган LEDдин версиясын кылгым келди. Бул кайра программалоо жарык жана көлөкө менен жасалышы мүмкүн, мис. Сиз фонаригиңизди колдонсоңуз болот. Бул менин биринчи көрсөтмөм, ар кандай комментарийлер же оңдоолор кабыл алынат. 2008-08-12 жаңыртуу: Tinker Storeдо азыр жеткиликтүү комплект бар. Бул жерде аны кайра программалоо видеосу бар. Сапаты үчүн кечирим сурайм.
1 -кадам: Бул кантип иштейт
Чыгуу катары LED колдонулат. Кириш катары мен LDRди, жарыкка көз каранды резисторду колдондум. Бул LDR аздыр -көптүр жарык алган сайын анын резисторун өзгөртөт. Андан кийин резистор ADC микропроцессорлоруна аналогдук киргизүү катары колдонулат (аналогдук санариптик конвертер).
Контроллерде иштөөнүн эки режими бар, бири ырааттуулукту жазуу үчүн, экинчиси жазылган ырааттуулукту ойнотуу үчүн. Контроллер секунданын ичинде жарыктыгынын эки өзгөрүүсүн байкагандан кийин (караңгы, жарык, караңгы же башка жол менен) жазуу режимине өтөт. Рекодринг режиминде LDRдин кириши секундасына бир нече жолу өлчөнүп, чипте сакталат. Эстутум түгөнүп калса, контроллер кайра ойнотуу режимине өтөт жана жазылган ырааттуулукту ойной баштайт. Бул кичинекей контролердун эс тутуму өтө чектелүү болгондуктан, 64 байт (ооба, байт!), Контроллер 400 битти жаза алат. Бул секундасына 40 үлгү менен 10 секундга жетиштүү боштук.
2 -кадам: материалдар жана инструменттер
Материалдар- 2 x 1K каршылыгы- 1 x LDR (Light Dependent Resistor), мис. M9960- 1 x Төмөн токтун LEDы, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1КБ флэш-RAM, 64 байт RAM, 64 байт EEPROM, [email protected] 1 x CR2032, 3V, 220mAhTools- ширетүүчү темир - ширетүүчү зым- нан тактасы- AVR программисти- 5В электр энергиясы менен камсыздоо- мультиметрSoftware- Eclipse- CDT плагини- WinAVRCosts жалпысынан 5 доллардан төмөн болушу керек. Мен ATtiny13v колдондум, анткени бул контроллер үй -бүлөсүнүн бул версиясы 1.8Вда иштей алат. Бул схеманы өтө кичинекей батарея менен иштетүүгө мүмкүндүк берет. Аны узак убакытка иштетүү үчүн, мен азыраак 2мада толук жарыктыкка жетүүчү аз токтун LEDын колдонууну чечтим.
3 -кадам: схемалар
Схемада кээ бир комментарийлер. Баштапкы абалга келтирүү туташкан жок. Бул мыкты практика эмес. Жакшыраак тартуу үчүн 10K каршылыгын колдонуу жакшы болмок. Бирок бул мен үчүн жакшы иштейт жана бул резисторду сактап калат. Тизманы мүмкүн болушунча жөнөкөй сактоо үчүн мен ички осцилляторду колдондум. Бул биз кристаллды жана эки кичинекей конденсаторду сактап калабыз дегенди билдирет. Ички осциллятор контроллерди 1.2MHz ылдамдыкта иштетүүгө мүмкүндүк берет, бул биздин максатыбыз үчүн жетишерлик ылдамдыкта. Эгер сиз 5Вдан башка энергия менен камсыздоону же башка LED ди колдонууну чечсеңиз, анда R1 каршылыгын эсептөө керек. Формула: R = (Электр энергиясы V - LED V) / 0.002A = 1650 Ом (Электр энергиясы = 5V, LED V = 1.7V). Биринин ордуна эки төмөн токтун диоддорун колдонуп, формула мындай көрүнөт: R = (Электр энергиясы V - 2 * LED V) / 0.002A = 800 Ом. Эскертүү, эгер сиз LEDдин башка түрүн тандасаңыз, эсептөөнү тууралашыңыз керек. Резистордун R2 мааниси колдонулган LDRден көз каранды. 1KOhm мен үчүн иштейт. Сиз эң жакшы бааны табуу үчүн потенциометрди колдонушуңуз мүмкүн. Cicuit кадимки күндүз жарыктын өзгөрүшүн аныктай алгыдай болушу керек. Электр энергиясын үнөмдөө үчүн PB3 өлчөө жүргүзүлсө гана жогорку деңгээлге коюлат. Жаңыртуу: схема адаштыруучу болду. Төмөндө туура версия. Рахмат, dave_chatting.
4 -кадам: Прототип тактасына чогулуңуз
Эгерде сиз өзүңүздүн схемаңызды сынап көрүүнү кааласаңыз, анда нан тактасы абдан ыңгайлуу. Эч нерсеге ширетпей, бардык тетиктерди чогулта аласыз.
5 -кадам: Районду программалоо
Контроллер ар кандай тилдерде программаланышы мүмкүн. Көбүнчө Ассемблер, Негизги жана С колдонулат. Мен Cди эң жакшы керектөөлөрүмө дал келгендей колдондум. Мен он жыл мурун Cге көнгөм жана кээ бир билимдерди жандандыра алдым (жакшы, кээ бирлери гана …). Программаңызды жазуу үчүн, мен Eclipseди CDT плагини менен сунуштайм. Бул жерде тутулууну алыңыз https://www.eclipse.org/ жана плагин бул жерде https://www.eclipse.org/cdt/. AVR микроконтроллерлерине C тилин түзүү үчүн кайчылаш компилятор керек болот. Биз бактыга жараша, атактуу 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 flash: w: flickled.hex: iТиркелгенде сиз булакты жана түзүлгөн он алтылык файлды ала аласыз.
6 -кадам: ширетүү
Эгерде сиздин схемаңыз нан тактасында иштесе, сиз аны ширете аласыз.
Муну ПКБда (басма циквиттик такта), прототип тактасында же тактайсыз деле жасаса болот. Мен муну кылууну чечтим, анткени схема бир нече компоненттерден турат. Эгерде сиз ширетүүнү жакшы билбесеңиз, адегенде ширетүү боюнча окуу куралын издөөнү сунуштайм. Менин ширетүү жөндөмүм бир аз дат басат, бирок менимче, сиз бул идеяны түшүндүңүз. Сизге жакты деп үмүттөнөм. Алекс
Сунушталууда:
Программалануучу баскычтоп: 5 кадам (Сүрөттөр менен)
Программалануучу баскычтоп: Бул долбоордо мен эң көп колдонулган баскычтарды, тиркемелерди жана башкаларды картага түшүрүү үчүн салыштырмалуу жөнөкөй жана арзан программалоочу баскычтарды кантип жасоону көрсөтөм
Толугу менен күйүп турат - Программалануучу RGB LED акрил белгиси: 3 кадам (сүрөттөр менен)
Толугу менен күйгүзүлгөн - Программалануучу RGB LED акрил белгиси: Лазердик кескич/граверер менен ойноп жүргөн жана чындап эле акрилди тазалоо үчүн оюп, жарык булагын жаркыратып сүйүп калган. Колдонулуп жаткан акрилдин калыңдыгы a.25 " чындыгында таза кесилген барак
Программалануучу светодиоддор жана ыңгайлаштырылган база жана логотип менен 2D Art: 5 кадам (сүрөттөр менен)
Программалануучу светодиоддор жана ыңгайлаштырылуучу база жана логотип менен 2D Art: Насаатка кош келиңиз! Бүгүн мен сизге 2D Art Projectти логотип менен жана сиз тандаган жалпы дизайн менен кантип жасоону көрсөтөм. Мен бул долбоорду жасадым, анткени ал адамдарга программалоо, зым тартуу, 3D моделдөө жана башка көптөгөн көндүмдөрдү үйрөтө алат. Бул
Программалануучу RGB LED Sequencer (Arduino жана Adafruit Trellisтин жардамы менен): 7 кадам (Сүрөттөр менен)
Программалануучу RGB LED ырааттуулугу (Arduino жана Adafruit Trellisти колдонуу менен): Менин уулдарым столдорду жарыктандыруу үчүн түстүү LED тилкелерин каалашты, мен консерваланган RGB тилкеси контроллерин колдонгум келбеди, анткени алар белгиленген үлгүлөрдөн тажаарын билчүмүн. бул контроллерлер бар. Мен ошондой эле түзүү үчүн сонун мүмкүнчүлүк болот деп ойлогом
Программалануучу LED күйөрманы "Жарык шамал": 5 кадам (Сүрөттөр менен)
Программалануучу LED күйөрманы "Ачык шамал": Бул программалоочу LED тилкелерин жана үнөмдүү дүкөндүн желдеткичин колдонуп, программалоочу LED желдеткичин жасоо үчүн абдан оңой долбоор. Жалпысынан алганда, бардыгын тиркөө, ширетүү жана тестирлөө үчүн мага 2 сааттай убакыт кетти. Бирок мен мындай нерсени жакшы жасайм, андыктан