![]() |
![]() |
#21 | |||||||||||||||||||||||
Автор
Регистрация: 08.08.2011
Сообщений: 145
|
![]()
если есть желание - можно собрать свою ардуину достаточно легко. прикладываю лайаут который делал для себя для другого проекта, который собственно говоря повторяет железо ардуины, т.е.: 1. usb-разъем 2. ft232rl 3. кварц на 16 мгц 4. atmega (у меня в проекте была 168) 5. обвяз (кондеры, резюки, диод шоттки) 6. разъемы если программатор есть и ЛУТ-ом владеешь - вперед, ценник получится не более 400 рэ, что вполне подъемно даже студенту... |
|||||||||||||||||||||||
![]() |
![]() |
![]() |
#22 |
Автор
Регистрация: 08.08.2011
Сообщений: 145
|
![]()
итак, поехали ко второй части статьи или "продолжаем продолжать" как пелось в одной песне...
для начала пара фоток шилдов из той коллекции, про которую буду рассказывать сейчас и в последующих частях:
итак, мы всё собрали и готовы начать программировать. дальше ссылок уже было вагон, базовая страница для меня всегда была - http://arduino.cc - это официальный сайт проекта ардуино. поскольку всё, что мы делаем нам нужно видеть (для начала на компе), то самая используемые функции будут Serial.print (http://arduino.cc/en/Serial/Print) и Serial.println (http://arduino.cc/en/Serial/Println). по-русски очень кратко есть тут http://freeduino.ru/arduino/lang.html (уже упоминалось). ну и http://google.com еще никто не отменял. примеров мильон. очень рекомендую почитать, чтобы было понятно. вообще-то неплохо бы почитать про основы кодирования. про фск модуляцию рассказано тут http://phreakerclub.com/432. но у нас аск модуляция - читаем тут для начала http://ru.wikipedia.org/wiki/Амплитудная_модуляция, а дальше опять же гугл. там и картинка есть прикольная анимированная: Amfm3.gif хотя, если быть честным, то у нас не ask-модуляция (она же амплитудная), а её частный случай - OOK (on-off keyring), когда вместо "высокого" и "низкого" уровня сигнала все модулируется очень просто - есть сигнал (несущая частота) - это "1", нет сигнала (несущей частоты) - это "0". хотя если нам "чисто просто принять", то вся эта муть про виды модуляции неважны. для примера приёма будем рассматривать пакет старлайн: http://phreakerclub.com/391 кстати, еще одно отступление. почему трансивер старлайна. он наиболее универсален, на него можно принять или всё или почти всё (не принимается только шерхан, так как он в другой модуляции - как раз в FSK и некоторые модные виды сиг, которые скачут по частотам) - старлайн, кейлок, большинство видов шлагбаумов и т.п. он работает как нам нужно (для педантов - ask/ook модуляция, 433.92 мгц, ширина канала 280 кГц, скорость пропускания порядка 2 кбит/с). итак, пакет старлайн. как его принять. если вы подключили шилд по моей схеме (на второй фотке выше), то у вас старлайновский трансивер подключен:
на фотке №2 вправо пошли линии питания (сверху земля, снизу питание). итого, распиновка разъемов старлайна. верхний (сверху вниз):
нижний (слева направо):
по статье выше http://phreakerclub.com/391 вы уже наверное прочитали про пакет старлайна. как нам его принять? для начала нужно переключить трансивер в режим приёма. чтобы нам было проще, рекомендую данные 3 строчки поместить в заголовок скетча нашей прошивки: Код:
#define txPin 2 #define swPin 4 #define rxPin 3 продолжаем. чтобы переключить трансивер в режим приёма, нужно в setup() вставить такой код: Код:
pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); pinMode(swPin, INPUT);
последняя строчка самая хитрая. дело в том, что чтобы переключить трансивер старлайна в режим "чтения" (т.е. приёма сигнала) нужно подать "минус" (он же "земля" - привет, tahion! :-) ) на переключатель (swPin). если туда подать "плюс" - то трансивер перейдет в режим передачи. продолжение следует... (в нём мы научимся считать длительности импульсов) Последний раз редактировалось kab; 16.11.2011 в 22:53. |
![]() |
![]() |
![]() |
#23 |
Автор
Регистрация: 13.05.2011
Сообщений: 1,308
|
![]()
Немного дополню, для свитча режим работы вывода (pinMode), должен быть OUTPUT, т.к. в этом случае порт микроконтроллера физически переводится в режим вывода. Но в режиме INPUT, незначительные обратные токи могут позволить открыть например полевый транзистор.
т.е. должно быть так: pinMode(swPin, OUTPUT); И еще немного инфы насчет трансиверов из пультов старлайна/томогавка и т.п., пин который мы называем свитчем, не совсем свитч. Это пин включения приемника, непосредственно свитч который переключает прием и передачу не нуждается во внешнем управлении и работает всегда сам по себе. Т.е. если мы включим приемник и при этом начнем передачу, то свитч переключится на передачу и трансивер начнет передавать информацию в эфир, при этом так же будет работать и приемник, но передаваемый сигнал он не сможет увидеть. Таким образом данные трансиверы всегда готовы к передаче, независимо от того включен прием или нет. Но что бы увидеть эфир приемник необходимо включить, поэтому этот пин все называют свитч )) |
![]() |
![]() |
![]() |
#24 |
Модератор
Регистрация: 27.03.2011
Сообщений: 2,316
|
![]()
Есть ли возможность прогонять в протеусе скетчи-а то что то думается вроде же с бутлоадером уже камень-как же его в протеусе эмулировать?
|
![]() |
![]() |
![]() |
#25 | |||||||||||||||||||||||
Автор
Регистрация: 08.08.2011
Сообщений: 145
|
![]()
ты немного забежал вперед, ок, не вопрос, отвечу. после компиляции скетча его HEX-файл расположен в папке TEMP\чего-нть (каталог генерируется автоматически). кстати, в грядущей версии 1.0rc этот файл (путь где он лежит) отображается в расширенной строке состояния. файл протеуса (.DSN) лежит тут: http://goo.gl/aPz05 достаточно подгрузить к нему этот HEX-файл и можно запускать симуляцию (добавив нужную периферию при необходимости). |
|||||||||||||||||||||||
![]() |
![]() |
![]() |
#26 |
Автор
Регистрация: 09.05.2011
Сообщений: 77
|
![]()
kab!!!!! Респект!!! Проект классный! А главное универсальный!!!
__________________
Если Вам кажется что ситуация улутшается, значит Вы чего-то не заметили.......... |
![]() |
![]() |
![]() |
#27 | |||||||||||||||||||||||
Модератор
Регистрация: 27.03.2011
Сообщений: 2,316
|
![]()
Сможет ли протеус на 16 мгц тактовой частоты меги провести симуляцию? Добавлено через 16 минут kab-вообщем обхожусь без платы ардуино-мега 8 и кварц на 16мгц,хекс нашел в одном из каталогов TEMP/ прошил через авр студию .Скетч брал простой Blink-ну и на макетке светодиодик на диджитал13 замигал-работает |
|||||||||||||||||||||||
![]() |
![]() |
![]() |
#28 | |||||||||||||||||||||||
Резидент клуба
Регистрация: 06.06.2011
Сообщений: 379
|
![]()
если я не ошибаюсь ты можешь в свойствах камня выстави нужную тебе частоту |
|||||||||||||||||||||||
![]() |
![]() |
![]() |
#29 | |||||||||||||||||||||||
Автор
Регистрация: 08.08.2011
Сообщений: 145
|
![]()
да, протеус на нормальной машине сможет эмулировать 16 мгц - я пробовал, получалось. но это почти предел. насчет мега8 вместо ардуины - да, это вполне реально. если есть желание делать так - можно делать так... дополнение к информационному посту про ардуину. tahion прав, нужно делать так (я просто скопипастил старый код, не глянув в него): Код:
pinMode(swPin, OUTPUT); Код:
digitalWrite(swPin, LOW); // или HIGH в зависимости от потребности. pps. но она будет последней, пока не увижу хоть одного клона в виде мега-8 + трансивер или в виде шилда для друины... Последний раз редактировалось kab; 18.11.2011 в 09:22. |
|||||||||||||||||||||||
![]() |
![]() |
![]() |
#30 |
Автор
Регистрация: 13.05.2011
Сообщений: 1,308
|
![]()
kab, думаю будет вполне достаточно фото платформы с подключенным трансивером/приемником ))
P.S. просто фотко ![]() |
![]() |
![]() |