Мазмуну:

Ротари терүүчү PIC интерфейси: 7 кадам
Ротари терүүчү PIC интерфейси: 7 кадам

Video: Ротари терүүчү PIC интерфейси: 7 кадам

Video: Ротари терүүчү PIC интерфейси: 7 кадам
Video: JUST ONE RECTANGLE - Easy bag making/ shopping bag/ Cloth bag/ Handbag/ Gym/ travel bag-COMPACT BAG 2024, Ноябрь
Anonim
Ротари терүүчү PIC интерфейси
Ротари терүүчү PIC интерфейси

Мен өзүмдү көптөгөн айлануучу телефондор менен таптым. Чынында, алар мен караган бардык жерде. Качандыр бир кезде аларды азыраак көрөм деген үмүттө, мен аларды бөлүп алып, бөлүктөрдү башка максаттар үчүн кайра колдоно баштадым.

Эмнегедир мен PIC чипи менен айлануучу башкаруунун интерфейси жакшы идея болорун мээме түшүрдүм. Мен азырынча анын бир нече түшүнүксүз колдонулушу жөнүндө гана ойлоно алам жана эч бири өзгөчө пайдалуу эмес, бирок келечекте муну менен сонун бир нерсе кылам деп үмүттөнөм.

1 -кадам: Бир нерселерди алыңыз

Бир нерселерди ал
Бир нерселерди ал

Сизге керек болот: 1 - Ротари телефон3 - 220 Ом резистор2 - 0.1uF конденсатор 2 - 20K каршылыгы (10Ктан 47Кке чейинки нерсени алмаштыра алат) 2 - Светодиодтар1 - ПИКти өнүктүрүү тактасы (Мен негизги микро өнүктүрүү чөйрөсүн колдондум) 1 - 20 МГц резонатору же кристалл1 - Нан тактасы1 - 5В кубат булагы1 - Бир фут же андан көп зым 1 - Бурагыч1 - Зым сыйруучу

2 -кадам: Телефонду ажыратыңыз

Телефонду ажыратыңыз
Телефонду ажыратыңыз
Телефонду бөлүңүз
Телефонду бөлүңүз
Телефонду бөлүңүз
Телефонду бөлүңүз

Ротари телефонуңузду ачыңыз. Ичинде сиз бир нече негизги бөлүктөрдү байкайсыз; айлануучу циферблат, коңгуроо, эки домкрат, илгич которгуч жана адатта металл түйүнү сыяктуу нерсеге камтылган негизги схема.

Ротордук тергичтен бул түйүнгө окшош нерсеге чейин төрт зым өтөт. Зымдарды бекемделген бурамалар менен кармоо керек. Бурамаларды бошотуп, зымдарды ажыратыңыз. Андан кийин, айлануучу тергичти телефондун өзүнөн ажыратыңыз.

3 -кадам: Зымдардын эмне кыларын аныктаңыз

Wires эмне кыларын аныктаңыз
Wires эмне кыларын аныктаңыз
Wires эмне кыларын аныктаңыз
Wires эмне кыларын аныктаңыз

Төмөндөгү диаграммада көрсөтүлгөндөй эки LEDди өткөрүңүз.

Эки ак зым тергич бурулганда сизге билдирүүчү өчүргүчтү жабуучу түгөй болушу керек. Көк жана жашыл зым кайсы номер терилгенин билүүгө мүмкүнчүлүк берген түгөй болушу керек. Ошентип, тергичти бурганыңызда, ак зымдарга туташкан LED күйгүзүлүшү керек, ал эми терүүнү кое бергенде, көк жана жашыл зымдарга туташкан LED сиз санынан канча эсе көп өчүп -өчүп турушу керек. терилген (видеону караңыз). Мисалы, сиз 8 терсеңиз, жашыл жана көк зымга туташкан LED 8 жолу өчүп күйөт. Бул телефон номерин терүүнүн бир жолу, сиз терүүгө аракет кылып жаткан цифранын канча жолу байланышты үзүү. Ошентип, дагы бир жолу, 8ди терүү үчүн, байланышты 8 жолу тез бузууга туура келет.

4 -кадам: PIC чипине тергичти туташтырыңыз

Терүүчүнү PIC чипине туташтырыңыз
Терүүчүнү PIC чипине туташтырыңыз
Терүүчүнү PIC чипине туташтырыңыз
Терүүчүнү PIC чипине туташтырыңыз

Диаграммада көрүнүп тургандай, айлануучу тергичти PIC чипине туташтырыңыз. Байкаңыз, мен RC-убакытты колдонуу менен айлануучу терүүчү абалында окуп жатам. Башкача айтканда, PIC чипи конденсатордун канча жолу разрядка чыгарын эсептеп жатат (каршылык кошулганда өзгөрөт).

Бул жерде 20K каршылыгы келет. Муну киришке кошуу жабык жана ачык айлануучу которгуч туташуусунан келген сигналды так айырмалоого мүмкүндүк берет.

5 -кадам: Кодду чогултуу

Кодду чогултуу
Кодду чогултуу

Чипти программалоо үчүн мен Basic Microдо жеткиликтүү MBasic иштеп чыгуу чөйрөсүн колдондум. MBasic, жөн эле, PIC чиптери менен колдонуу үчүн иштелип чыккан Basicтин бир түрү. Бул универсалдуу (пайдалуу) тилге оңой которулат. Код негизинен кимдир бирөө терүүнү качан бурганын аныктайт жана андан кийин сигналды четинен аныктоону (төмөн өтүүнү аныктоо) терүү баштапкы абалына келгенге чейин аныктайт. Сигналдын өтүшүн канча жолу эсептегенден кийин, ал ошого жараша LEDди күйгүзөт. Мисалы, эгер сиз 3дү терсеңиз, PIC үч эң аз өтүүнү эсептейт, андан кийин LEDди 3 жолу өчүрөт. Жарык диод, сиз ойлогондой, иштеши үчүн керексиз жана сизге көрүнүп турган пикирлерди берүү үчүн ошол жерде. Сиз керектүү деп эсептеген каалаган түзмөктү алмаштыра аласыз. ********************* Бул жерде кээ бир код: ********************* CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain: countclicks = 0repvar = 0'sets/resetets valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin> see then got got countumup эгерде негизги программасы бар болсо, кичи программага өтөт '================ Countmeup: жогорку B1rctime B1, 1, clacker'sets valuegoto countmeuploop'ту салыштырат' =========== ===== countmeuploop: жогорку B1rctime B1, 1, clicker'cheks эсептөө valuelargefig = clacker + 100'боштуктун маанисин '0дөн чоң, бирок мүмкүн болгон пин-жогорку баалуулуктардан азыраак болот + 1endif'adds 1 мааниси төмөндөн жогоркуга өтүү жазылган сайын жогорку B2 убактысы B2, 1, startcountinif startcountin <10 анда санаса> 0 анда blinkelsegoto mainendifendif' текшерет, тергич анын артка кайтып келгенин текшерет nitial state 'эгерде жана номер терилген болсо, анда ал LED режимине өтөт' башкача, эгер эч кандай номер терилбесе mainclacker = clicker'ге барат ! '================ жаркыратуучу: repvar = repvar + 1'бул режимдин ар бир кайталанышын эсепке алат В3 жогорку тыныгуу 1000 төмөн В3 пауза 1000'блинк LEDif repvar = кайра чыкылдатуу андаrepvar = 0ого маанидеф кайталануу светодиоддун ирмелиши керек болгон санда барабар

6 -кадам: Тестирлөө

Тестирлөө
Тестирлөө

Эгер сиз баарын мен сыяктуу кылсаңыз, ал иштеши керек (видеону караңыз).

Эгер ал иштебей жатса, анда бардыгын туура зымга байлаганыңызды жана код туура көчүрүлгөнүн текшериңиз. Ошондой эле, резонаторуңуздун (же кристаллыңыздын) 20 МГц экенине ишениңиз. Эгерде сиз өзүңүздүн кодуңузду жазган болсоңуз, анда жогорку деңгээлдеги өткөөлдөрдү текшерүүчү тыныгуулар жок экенин текшериңиз.

7 -кадам: Чегинен өтүңүз

Go Beyond
Go Beyond

Айналма тергич үчүн LEDди күйгүзүүдөн башка кандайдыр бир башка жолду табыңыз.

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