Мазмұны:

ATtiny85 RF қашықтан басқару пульті: 3 қадам
ATtiny85 RF қашықтан басқару пульті: 3 қадам

Бейне: ATtiny85 RF қашықтан басқару пульті: 3 қадам

Бейне: ATtiny85 RF қашықтан басқару пульті: 3 қадам
Бейне: ATtiny85 RF Transmitter & Receiver 2024, Қараша
Anonim
ATtiny85 RF қашықтан басқару құралы
ATtiny85 RF қашықтан басқару құралы

ЕСКЕРТПЕ: Менің нұсқаулық «Виртуалды жасыру ойыны» хабарды автоматты түрде шифрлайтын RXC6 модулімен қашықтан басқару құралының осы түрін қалай қолдану керектігін көрсетеді.

Алдыңғы нұсқаулықта айтқанымдай, мен жақында ATtiny85 чиптерімен ойнай бастадым. Мен ойлаған алғашқы жоба монеталық батареяда жұмыс істей алатын РЖ пультін жасау болды. Мен шикі чиппен жүруім керек болды, өйткені мендегі Arduino -дың бірде -біреуі өте төмен қуатқа да, салыстырмалы түрде шағын көлемге де қажеттілікті қанағаттандыра алмайды. Өзгертілген LilyPad жақындады, бірақ чип - бұл жақсы жауап. Идея бар қашықтан басқару пультін қайталау үшін емес, таратқыш пен қабылдағышты қалай құруға болатынын көрсету болды. Оқудың қызықты жобасы болудан басқа, ол сізге «құпия» код комбинациясын жасауға мүмкіндік береді. Мен тырнақшаларға «құпияны» енгіземін, себебі бұл қарапайым кодтарды бұзу өте оңай.

1 -қадам: RF хабарламасының форматы

Хабарламаның RF форматы
Хабарламаның RF форматы

Бұл жоба үшін мен Etekcity RF сымсыз қосқыштарының бірінің сигналдарын қайталауды шештім (осы модульдердегі нұсқаулықты қараңыз). Мен мұны жасадым, себебі мен таратқыштың Etekcity қабылдағышымен жұмыс істейтінін, ал қабылдағышым Etekcity пультімен жұмыс істейтінін тексере алдым. Мен сондай -ақ бұл құрылғыларға арналған дұрыс кодтар мен форматты білемін, себебі мен оларды бұрын түсірдім. Кодты түсіру эскизі үшін «Arduino RF Sensor Decoder» нұсқаулығын қараңыз.

Etekcity розеткалары үшін кодтар мен форматтар өте арзан RF құрылғыларына тән. Менде өте ұқсас форматтарды қолданатын арзан қауіпсіздік құрылғылары бар. Хабарламаның ұзақтығы - ұзақ басталу және қысқа тоқтау биті бар ыңғайлы 24 бит. Деректердің көп байтын қосу үшін және синхрондау мен деректердің биттерінің уақытын өзгерту үшін кодты оңай өзгертуге болады. Тағы да, бұл эскиз - бұл тек бастапқы үлгі.

2 -қадам: Жабдық

Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал
Аппараттық құрал

Таратқыш монеталық батареямен жұмыс істейді (2032), сондықтан энергияны аз тұтыну маңызды. Мұның көп бөлігі бағдарламалық қамтамасыз етуде орындалады, бірақ оған ATtiny85 әдетте 1 МГц ішкі сағаттарда жұмыс істейді. Ереже-төменгі жиілік жиілігі аз қуатты қажет етеді және 1-МГц таратқыш логикасы үшін өте қолайлы.

Мен қолданғым келетін нақты радиожиілік таратқыш модулі - бұл FS1000A, ол әдетте қол жетімді. Ол 433 МГц және 315 МГц нұсқаларында келеді. Бағдарламалық жасақтама сіз қайсысын қолданатындығыңызға қарамайды, бірақ сіз қабылдағыш тақтасының бірдей жиілікте жұмыс істейтініне көз жеткізуіңіз керек. Менің жобаларымның көпшілігінде 433-МГц құрылғылары қолданылады, себебі мен жинақтаған әр түрлі қымбат емес сымсыз құрылғылар солай қолданады. Суретте көрсетілген таратқыш тақтаның орналасуы ескі таблетка бөтелкесіне жақсы сәйкес келеді. Бұл әдемі емес, бірақ тұжырымдаманы дәлелдеуге жеткілікті.

Қабылдағыш дәнекерленген тақтада орналасқан, себебі оның мақсаты - қабылданған кодтардың негізінде сигналдарды қабылдауды және бір нәрсені қосу/өшіруді көрсету. Ол сөндіру/өшіру күйін көрсету үшін жарықдиодты пайдаланады, бірақ сіз оны реле драйверіне ауыстыра аласыз және т. Егер өлшем әлі де болса, басқа ATtiny85 чипін қолдануға болады. Ең бастысы, ATtiny85 қабылдағышта 8 МГц жиілікте жұмыс істеуі керек. Ішкі сағатты 8-МГц-ке сәтті өзгерткеніңізді растайтын қарапайым нобай үшін менің бұрынғы ATtiny85 Instructable сілтемесін қараңыз. Сенсорды декодтау бойынша нұсқаулықтың соңында мен ресивердің бағдарламалық жасақтамасының Arduino Nano нұсқасын қосамын. Бұл чип регистрінің бірнеше айырмашылығын қоспағанда, ATtiny85 нұсқасына ұқсас.

Мен бұрынғы RF нұсқауларында егжей -тегжейлі айтып өткендей, мен қарапайым RXB6 сияқты қабылдағышты қолданғанды жөн көремін. Бұл супер-гетеродинді қабылдағыш, әдетте FS1000A таратқыштарымен бірге жеткізілетін суперрегенеративті қабылдағыштарға қарағанда жақсы жұмыс істейді.

Таратқыш пен қабылдағыш модульдері тиісті антенналармен жақсы жұмыс істейді, бірақ олар жиі берілмейді. Сіз оларды сатып ала аласыз (дұрыс жиілікті алыңыз) немесе өзіңіз жасай аласыз. 433-МГц жиілігінде дұрыс сымды антенна үшін ұзындығы шамамен 16 см. Шиыршық жасау үшін шамамен 16 см оқшауланған, өзекті сымды алыңыз да, оны 5/32 дюймдік бұрғылау ұңғысы сияқты бір қабатқа ораңыз. Оқшаулауды қысқа түзу бөліктің бір ұшынан алып тастаңыз және оны таратқыш/қабылдағыш тақтасына қосыңыз. Мен сынық Ethernet кабелінің сымы антенналар үшін жақсы жұмыс істейтінін байқадым. Таратқыш тақтада әдетте антеннаны дәнекерлейтін орын бар, бірақ қабылдағыш тақтасында тек түйреуіштер болуы мүмкін (RXB6 сияқты). Егер сіз оны дәнекерлемесеңіз, оның сенімді екеніне көз жеткізіңіз.

3 -қадам: Бағдарламалық қамтамасыз ету

Таратқыш бағдарламалық қамтамасыз ету чипті ұйқы режиміне қоюдың жалпы әдістерін қолданады. Бұл режимде ол 0,2уа -дан аз ток алады. Коммутатордың кірістерінде (D1-D4) ішкі тартқыш резисторлар қосылады, бірақ олар қосқыш басылғанша ток алмайды. Кірістер ауыспалы үзіліс (IOC) үшін конфигурацияланған. Коммутатор басылған кезде үзіліс пайда болады және ол чипті оятуға мәжбүр етеді. Үзіліс өңдегіші коммутатордың шығуына мүмкіндік беру үшін шамамен 48 мс кідірісті орындайды. Содан кейін қандай қосқыш басылғанын анықтау үшін тексеру жүргізіледі және сәйкес тәртіп шақырылады. Берілген хабарлама бірнеше рет қайталанады (мен 5 рет таңдадым). Бұл коммерциялық таратқыштарға тән, себебі 433-МГц және 315-МГц жиіліктерінде RF жиілігі өте көп. Қайталанатын хабарламалар кем дегенде біреудің ресиверге өтуін қамтамасыз етеді.

Синхрондау мен разряд уақыттары таратқыштың бағдарламалық жасақтамасының алдыңғы жағында анықталған, бірақ деректер байттары төрт түйменің әрқайсысына енгізілген. Олар түсінікті және өзгертуге оңай және ұзын хабарлама жасау үшін байттарды қосу да оңай. Барлық бірдей анықтамалар ресивердің бағдарламалық жасақтамасына, сондай -ақ деректер байтының анықтамаларына енгізілген. Егер сіз хабарламаға деректер байтын қоссаңыз, сізге «Msg_Length» анықтамасын өзгерту және «RF_Message» айнымалысына байт қосу қажет болады. Қосымша байттардың дұрыс қабылданғанын тексеру және сол байттарды анықтау үшін сізге «циклде» «RF_Message» белгісіне код қосу қажет болады.

Ұсынылған: