Съдържание:

ATtiny85 RF дистанционно управление: 3 стъпки
ATtiny85 RF дистанционно управление: 3 стъпки

Видео: ATtiny85 RF дистанционно управление: 3 стъпки

Видео: ATtiny85 RF дистанционно управление: 3 стъпки
Видео: Плата управления светодиодной лентой на Attiny85 2024, Ноември
Anonim
ATtiny85 RF дистанционно управление
ATtiny85 RF дистанционно управление

ЗАБЕЛЕЖКА: Моята инструкция "Виртуална игра на криеница" показва как да използвате този тип дистанционно с модул RXC6, който автоматично декодира съобщението.

Както споменах в предишен Instructable, наскоро започнах да играя с някои чипове ATtiny85. Първоначалният проект, който имах предвид, беше да направя RF дистанционно управление, което да може да работи с монетна батерия. Трябваше да отида със суров чип, защото никой от Arduinos, който имам, не може да задоволи както необходимостта от много ниска мощност, така и относително малък размер. Модифициран LilyPad се приближи, но чипът е по -добър отговор. Идеята не беше толкова да дублирате съществуващо дистанционно, а да демонстрирате как можете да създадете свой собствен предавател и приемник. Освен че е забавен учебен проект, той също така ви позволява да създадете своя собствена „тайна“кодова комбинация. Слагам „тайна“в кавички, защото е доста лесно да пробиете тези прости кодове.

Стъпка 1: Формат на RF съобщение

Формат на RF съобщение
Формат на RF съобщение

За този проект избрах да копирам сигналите за един от моите безжични комутатори Etekcity RF (вижте моя Instructable на тези модули). Направих това, защото успях да проверя дали предавателят работи с приемника Etekcity и че приемникът ми работи с дистанционното управление Etekcity. Случайно знам точно какви са правилните кодове и формат за тези устройства, защото съм ги заснел преди това. Обърнете се към моя „Arduino RF Sensor Decoder“с инструкции за скицата за улавяне на код.

Кодовете и форматите на търговските обекти Etekcity са много типични за евтини RF устройства. Имам евтини устройства за сигурност, които използват много подобни формати само с някои вариации на времето. Дължината на съобщението е удобни 24 бита с дълъг стартов бит и кратък стоп бит. Можете лесно да промените кода, за да добавите още байтове данни и да промените времето за синхронизиране и битове за данни. Отново тази скица е само начален шаблон.

Стъпка 2: Хардуер

Хардуер
Хардуер
Хардуер
Хардуер
Хардуер
Хардуер

Предавателят работи на монетна батерия (2032), така че ниската консумация на енергия е от ключово значение. Повечето от това е постигнато в софтуера, но се подпомага от факта, че ATtiny85 обикновено работи на 1-MHz вътрешен часовник. Правилото е, че по-ниските тактови честоти изискват по-малко мощност и 1-MHz е идеален за логиката на предавателя.

Действителният модул за RF предавател, който обичам да използвам, е FS1000A, който е общодостъпен. Той се предлага във версии 433-MHz и 315-MHz. Софтуерът не се интересува кой използвате, но трябва да се уверите, че платката на приемника работи на същата честота. Повечето от моите проекти използват 433-MHz устройства, защото това се използва от различните евтини безжични устройства, които съм натрупал. Разположението на предавателната платка, показано на снимката, се вписва добре в стара бутилка с хапчета. Не е красиво, но достатъчно добро за доказателство за концепцията.

Приемникът е на макет без запояване, защото единствената му цел е да покаже как да приема сигнали и как да включва/изключва нещо въз основа на получените кодове. Той използва светодиод, за да покаже състоянието на включване/изключване, но можете да го замените с релеен драйвер и т.н. Всеки Arduino може да се използва за приемника, защото не е необходимо да се изтощава от батерията. Ако размерът все още е съображение, можете да използвате друг чип ATtiny85. Ключът е, че ATtiny85 трябва да работи на 8-MHz в приемника. Вижте моя по-ранен ATtiny85 Instructable за проста скица, която потвърждава, че сте променили успешно вътрешния часовник на 8-MHz. В края на инструктажа за декодиране на сензори включвам Arduino Nano версия на софтуера на приемника. Той е идентичен с включената тук версия ATtiny85, с изключение на няколко разлики в регистъра на чипове.

Както описах в по -ранните си RF Instructables, предпочитам да използвам приемник като обикновения RXB6. Това е супер-хетеродинен приемник, който работи много по-добре от суперрегенеративните приемници, които обикновено са свързани с предавателите FS1000A.

Модулите на предавателя и приемника работят по -добре с подходящите антени, но често не се доставят. Можете да ги купите (да получите правилната честота) или да направите свои собствени. При 433-MHz, дясната дължина е около 16 cm за правопроводна антена. За да направите навита, вземете около 16 см изолирана, твърда жица и я увийте около нещо като 5/32-инчов буркан в един слой. Отстранете изолацията от къса права част в единия край и я свържете към платката на вашия предавател/приемник. Открих, че проводникът от скрап Ethernet кабел работи добре за антени. Предавателната платка обикновено има място за запояване на антената, но приемната платка може да има само щифтове (като RXB6). Просто се уверете, че връзката е сигурна, ако не я запоявате.

Стъпка 3: Софтуер

Софтуерът на предавателя използва общи техники за поставяне на чипа в режим на заспиване. В този режим той извлича по -малко от 0.2ua ток. Входовете на превключвателя (D1-D4) имат включени вътрешни резистори, но те не изтеглят ток, докато не се натисне превключвател. Входовете са конфигурирани за прекъсване при промяна (IOC). При натискане на превключвател се генерира прекъсване и принуждава чипа да се събуди. Манипулаторът на прекъсвания изпълнява около 48 ms закъснение, за да позволи на превключвателя да се освободи. След това се прави проверка, за да се определи кой превключвател е натиснат и се извиква съответната рутина. Предаденото съобщение се повтаря няколко пъти (избрах 5 пъти). Това е типично за търговските предаватели, тъй като там има толкова много RF трафик на 433-MHz и 315-MHz. Повтарящите се съобщения помагат да се гарантира, че поне едно достига до приемника.

Времената за синхронизиране и битове са дефинирани в предната част на софтуера на предавателя, но байтовете за данни са вградени във всяка от четирите бутони. Те са очевидни и лесни за промяна и добавянето на байтове за по -дълго съобщение също е лесно. Всички същите дефиниции са включени в софтуера на приемника, както и дефинициите на байтове за данни. Ако добавите байтове с данни към съобщението си, ще трябва да промените дефиницията за „Msg_Length“и да добавите байтове към променливата „RF_Message“. Също така ще трябва да добавите код към проверката „RF_Message“в „цикъл“, за да проверите правилното получаване на допълнителните байтове и да определите тези байтове.

Препоръчано: