Мазмуну:

Программалануучу LED: 6 кадам (Сүрөттөр менен)
Программалануучу LED: 6 кадам (Сүрөттөр менен)

Video: Программалануучу LED: 6 кадам (Сүрөттөр менен)

Video: Программалануучу LED: 6 кадам (Сүрөттөр менен)
Video: Аял кантсе, эркекти тошокто кандырат? 2024, Июль
Anonim
Программалануучу LED
Программалануучу LED

Ар кандай 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 -кадам: Районду программалоо

Circuit программасы
Circuit программасы
Circuit программасы
Circuit программасы

Контроллер ар кандай тилдерде программаланышы мүмкүн. Көбүнчө Ассемблер, Негизги жана С колдонулат. Мен 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 -кадам: ширетүү

Soldering
Soldering

Эгерде сиздин схемаңыз нан тактасында иштесе, сиз аны ширете аласыз.

Муну ПКБда (басма циквиттик такта), прототип тактасында же тактайсыз деле жасаса болот. Мен муну кылууну чечтим, анткени схема бир нече компоненттерден турат. Эгерде сиз ширетүүнү жакшы билбесеңиз, адегенде ширетүү боюнча окуу куралын издөөнү сунуштайм. Менин ширетүү жөндөмүм бир аз дат басат, бирок менимче, сиз бул идеяны түшүндүңүз. Сизге жакты деп үмүттөнөм. Алекс

Сунушталууда: