Фрикер Клуб
 

Вернуться   Фрикер Клуб > Основной раздел > Статьи

Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 16.11.2011, 21:05   #21
kab
Автор
 
Аватар для kab
 
Регистрация: 08.08.2011
Сообщений: 145
По умолчанию

Цитата:
Сообщение от DIVER_SANT
Жалко денюжку на дуину

если есть желание - можно собрать свою ардуину достаточно легко.

прикладываю лайаут который делал для себя для другого проекта, который собственно говоря повторяет железо ардуины, т.е.:
1. usb-разъем
2. ft232rl
3. кварц на 16 мгц
4. atmega (у меня в проекте была 168)
5. обвяз (кондеры, резюки, диод шоттки)
6. разъемы

если программатор есть и ЛУТ-ом владеешь - вперед, ценник получится не более 400 рэ, что вполне подъемно даже студенту...
Вложения
Тип файла: rar mega168.rar (14.7 Кб, 462 просмотров)
kab вне форума   Ответить с цитированием
Старый 16.11.2011, 22:50   #22
kab
Автор
 
Аватар для kab
 
Регистрация: 08.08.2011
Сообщений: 145
По умолчанию

итак, поехали ко второй части статьи или "продолжаем продолжать" как пелось в одной песне...

для начала пара фоток шилдов из той коллекции, про которую буду рассказывать сейчас и в последующих частях:
  1. Набор шилдов (слева направо): переходник для arduino nano под старлайн, переходник под большую ардуино под старлайн, переходник под ti cc1101 и "2313usb" (это я так назвал девайс от tahion-а http://phreakerclub.com/563 а конкретно на фотке вот эта http://phreakerclub.com/935 сборка), поелику как шерхан также замечательно подключается к ардуино.
    foto1.jpg
  2. шилд под старлайн крупным планом
    foto2.jpg

итак, мы всё собрали и готовы начать программировать.
дальше ссылок уже было вагон, базовая страница для меня всегда была - 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 кбит/с).

итак, пакет старлайн. как его принять. если вы подключили шилд по моей схеме (на второй фотке выше), то у вас старлайновский трансивер подключен:
  • txPin (отправка сигнала) - пин № 2 ардуины
  • rxPin (приём сигнала) - пин № 3 ардуины
  • swPin (переключение между приёмом и передачей) - пин № 4 ардуины.

на фотке №2 вправо пошли линии питания (сверху земля, снизу питание).

итого, распиновка разъемов старлайна. верхний (сверху вниз):
  1. земля
  2. отправка
  3. питание (3.3 или 5 вольт)
  4. остальные не используются (в данном примере)

нижний (слева направо):
  1. свитч (переключение приёма и передачи)
  2. не используется
  3. приём
  4. остальные не используются (в данном примере)

по статье выше http://phreakerclub.com/391 вы уже наверное прочитали про пакет старлайна. как нам его принять?

для начала нужно переключить трансивер в режим приёма.

чтобы нам было проще, рекомендую данные 3 строчки поместить в заголовок скетча нашей прошивки:
Код:
#define txPin 2
#define swPin 4
#define rxPin 3
эти строчки добавляют строковые константы. но вам уже про них рассказывать (про строковые константы) ведь уже не надо, вы прочитали документацию на язык wiring (arduino) и вам и так уже ясно? (даже если вы просто прочитали про простой примерчик как помигать светодиодом - http://arduino.cc/en/Tutorial/Blink, то вам уже всё должно быть понятно в этих строчках).

продолжаем. чтобы переключить трансивер в режим приёма, нужно в setup() вставить такой код:
Код:
pinMode(rxPin, INPUT);
pinMode(txPin, OUTPUT);
pinMode(swPin, INPUT);
этими 3 строчками мы говорим ардуине, что:
  1. переключи режим пина rxPin в режим "читаем"
  2. переключи режим пина txPin в режим "пишем"
  3. переключи режим пина swPin в режим "читаем"

последняя строчка самая хитрая. дело в том, что чтобы переключить трансивер старлайна в режим "чтения" (т.е. приёма сигнала) нужно подать "минус" (он же "земля" - привет, tahion! :-) ) на переключатель (swPin). если туда подать "плюс" - то трансивер перейдет в режим передачи.

продолжение следует... (в нём мы научимся считать длительности импульсов)

Последний раз редактировалось kab; 16.11.2011 в 22:53.
kab вне форума   Ответить с цитированием
Старый 17.11.2011, 15:27   #23
tahion
Автор
 
Аватар для tahion
 
Регистрация: 13.05.2011
Сообщений: 1,308
По умолчанию

Немного дополню, для свитча режим работы вывода (pinMode), должен быть OUTPUT, т.к. в этом случае порт микроконтроллера физически переводится в режим вывода. Но в режиме INPUT, незначительные обратные токи могут позволить открыть например полевый транзистор.

т.е. должно быть так:

pinMode(swPin, OUTPUT);

И еще немного инфы насчет трансиверов из пультов старлайна/томогавка и т.п., пин который мы называем свитчем, не совсем свитч. Это пин включения приемника, непосредственно свитч который переключает прием и передачу не нуждается во внешнем управлении и работает всегда сам по себе. Т.е. если мы включим приемник и при этом начнем передачу, то свитч переключится на передачу и трансивер начнет передавать информацию в эфир, при этом так же будет работать и приемник, но передаваемый сигнал он не сможет увидеть.
Таким образом данные трансиверы всегда готовы к передаче, независимо от того включен прием или нет. Но что бы увидеть эфир приемник необходимо включить, поэтому этот пин все называют свитч ))
tahion вне форума   Ответить с цитированием
Старый 17.11.2011, 19:45   #24
DIVER_SANT
Модератор
 
Аватар для DIVER_SANT
 
Регистрация: 27.03.2011
Сообщений: 2,313
По умолчанию

Есть ли возможность прогонять в протеусе скетчи-а то что то думается вроде же с бутлоадером уже камень-как же его в протеусе эмулировать?
DIVER_SANT вне форума   Ответить с цитированием
Старый 17.11.2011, 20:04   #25
kab
Автор
 
Аватар для kab
 
Регистрация: 08.08.2011
Сообщений: 145
По умолчанию

Цитата:
Сообщение от DIVER_SANT
Есть ли возможность прогонять в протеусе скетчи-а то что то думается вроде же с бутлоадером уже камень-как же его в протеусе эмулировать?

ты немного забежал вперед, ок, не вопрос, отвечу.

после компиляции скетча его HEX-файл расположен в папке TEMP\чего-нть (каталог генерируется автоматически). кстати, в грядущей версии 1.0rc этот файл (путь где он лежит) отображается в расширенной строке состояния.

файл протеуса (.DSN) лежит тут: http://goo.gl/aPz05

достаточно подгрузить к нему этот HEX-файл и можно запускать симуляцию (добавив нужную периферию при необходимости).
kab вне форума   Ответить с цитированием
Старый 17.11.2011, 22:33   #26
piv2812
Автор
 
Аватар для piv2812
 
Регистрация: 09.05.2011
Сообщений: 77
По умолчанию

kab!!!!! Респект!!! Проект классный! А главное универсальный!!!
__________________
Если Вам кажется что ситуация улутшается, значит Вы чего-то не заметили..........
piv2812 вне форума   Ответить с цитированием
Старый 18.11.2011, 00:41   #27
DIVER_SANT
Модератор
 
Аватар для DIVER_SANT
 
Регистрация: 27.03.2011
Сообщений: 2,313
По умолчанию

Цитата:
Сообщение от kab
ты немного забежал вперед, ок, не вопрос, отвечу.

после компиляции скетча его HEX-файл расположен в папке TEMP\чего-нть (каталог генерируется автоматически). кстати, в грядущей версии 1.0rc этот файл (путь где он лежит) отображается в расширенной строке состояния.

файл протеуса (.DSN) лежит тут: http://goo.gl/aPz05

достаточно подгрузить к нему этот HEX-файл и можно запускать симуляцию (добавив нужную периферию при необходимости).

Сможет ли протеус на 16 мгц тактовой частоты меги провести симуляцию?

Добавлено через 16 минут
kab-вообщем обхожусь без платы ардуино-мега 8 и кварц на 16мгц,хекс нашел в одном из каталогов TEMP/ прошил через авр студию .Скетч брал простой Blink-ну и на макетке светодиодик на диджитал13 замигал-работает
DIVER_SANT вне форума   Ответить с цитированием
Старый 18.11.2011, 08:54   #28
dr.Zoldberg
Резидент клуба
 
Аватар для dr.Zoldberg
 
Регистрация: 06.06.2011
Сообщений: 379
По умолчанию

Цитата:
Сообщение от DIVER_SANT
Сможет ли протеус на 16 мгц тактовой частоты меги провести симуляцию?

если я не ошибаюсь ты можешь в свойствах камня выстави нужную тебе частоту
dr.Zoldberg вне форума   Ответить с цитированием
Старый 18.11.2011, 09:17   #29
kab
Автор
 
Аватар для kab
 
Регистрация: 08.08.2011
Сообщений: 145
По умолчанию

Цитата:
Сообщение от DIVER_SANT
Сможет ли протеус на 16 мгц тактовой частоты меги провести симуляцию?

да, протеус на нормальной машине сможет эмулировать 16 мгц - я пробовал, получалось.
но это почти предел.

насчет мега8 вместо ардуины - да, это вполне реально. если есть желание делать так - можно делать так...

дополнение к информационному посту про ардуину.
tahion прав, нужно делать так (я просто скопипастил старый код, не глянув в него):
Код:
pinMode(swPin, OUTPUT);
и управлять трансивером простым:
Код:
digitalWrite(swPin, LOW); // или HIGH в зависимости от потребности.
ps. на выходных будет 3-я часть статьи...
pps. но она будет последней, пока не увижу хоть одного клона в виде мега-8 + трансивер или в виде шилда для друины...

Последний раз редактировалось kab; 18.11.2011 в 09:22.
kab вне форума   Ответить с цитированием
Старый 18.11.2011, 15:32   #30
tahion
Автор
 
Аватар для tahion
 
Регистрация: 13.05.2011
Сообщений: 1,308
По умолчанию

kab, думаю будет вполне достаточно фото платформы с подключенным трансивером/приемником ))

P.S. просто фотко
Изображения
Тип файла: jpg collection.jpg (405.9 Кб, 2008 просмотров)
tahion вне форума   Ответить с цитированием
Ответ
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 18:55. Часовой пояс GMT +3.


vBulletin 4.1.0 Перевод: zCarot
(C) www.phreakerclub.com