Микроконтроллеры AVR от Atmel.Введение Что такое микроконтроллеры в общих чертах отлично рассказал MegaDeth (респект). Но должна быть свобода выбора. Микроконтроллеры AVR и PIC приблизительно равны по параметрам. Но все же AVR немного лучше (с моей субъективной стороны): дешевле, производительнее, ПРОЩЕ в освоении. Например, есть такая модель ATmega8. Цена - 1,5у.е. Частота - 16 МГц. 32 8-ми битных регистра общего назначения. 1 Кб оперативной памяти. 512 байт флеш памяти, 8 Кб памяти под программу. Плюс АЦП, ЦАП и еще много полезной мелочи. И к тому же 23 линии ввода вывода. А еще можно перезаписывать программу ну почти неограниченное количество (10 000 раз). Теперь самое приятное - для его программирование кроме софта нужно лишь 5 проводков. Не надо паять никакого программатора, просто подключаем к LPT пятью проводками. Программировать лучше на С. Дока на avr123.nm.ru и там же ссылка на компилятор http://www.hpinfotech.ro/cvavre.zip Неплохой консольный программатор здесь - http://ln.com.ua/~real/avreal/http://ln.com.ua/~real/avreal/ Ссылки: atmel.com - сайт производителя, документация на английском gaw.ru - документация на русском avr123.nm.ru - отличный самоучитель. Теперь жду вопросов. И есть предложение - сделать маленький девайсик с нуля. С полным разбором каждого элемента. Ну только нужны предложения - полезные и простенькие. ПС: На AVR реализовал: систему управление температурой (обогреватель в комнате), светильник с изменением яркости в зависимости от освещение (чтобы ночью клавиатуру было нормально видно), шахматные часы, и на диплом систему поиска жучков и еще много никому не нужных мелочей. ПСС: Предложение для MegaDeth - можна сделать один и тот же девайс но паралельно на AVR и PIC?
Отлично! Развивается здоровая конкуренция! ) Как человек свято преданный пикам, AVR никогда не занимался, так что будет очень интересно посмотреть. Для начала хотелось бы увидеть тот же "Hello, World!", как и в параллельной теме MegaDeth - несколько светодиодов мигающих с кратной частотой. Пожалуйста схему в студию, текст программы на С. Убедительная просьба давать подробные комментарии к строкам, связанным с конфигурацией контроллера.
Далее Все что дальше буду писать относится к микроконтроллеру ATmega8. Надеюсь скачали компилятор (ссылка выше) и таблетку к нему. Если таблетку не найдете, то пишите – помогу. (кстати, модераторы, может разрешите мне прикреплять файлы, без этого неудобно ). Итак, запускаем CodeVision. Создаем новый проект, дальше нас спрашивают – будем ли мы использовать мастера. Конечно, жмем ОК. Дальше в вкладке Chip выбираем наш МК, а в поле частота вводим 1 МГц (по умолчании внутренний генератор настроен именно на 1 МГц). Дальше идем на вкладку Ports – и всем линиям на порте В указываем – out. Дальше выбираем файл-генерировать, сохранить и выход. Вводим имена файлов и постоянно жмем ОК. Ухты! Как много кода сгенерировано. Но на самом деле его можна очень сильно урезать. Теперь на основе этого кода напишем программу для для мигания светодиодами. Тоесть 8 светодиодов, горят через один и раз в секунду меняются местами - эфект бегущих огоньков. Текст программы: Code: //будем использовать МК mega8 #include <mega8.h> //нужны функции для роботы с задержками #include <delay.h> void main(void) { //порт B будет работать на выход DDRB=0xFF; //в порт B записываем 10101010b PORTB = 0xAA; while (1) { //инвертируем значения на выходе порта B PORTB ^= 0xFF; //ждем одну секунду delay_ms(1000); }; } Схему подключения рисую, опубликую позже
Схема какая гадость рисовать в Paint, но под рукой ничего другого нету. Квадратик красного цвета нужно повторить к каждой линии порта В - PB0,PB1,PB2,PB3,PB4,PB5,PB6,PB7 И хорошая новость, что никакой другой обвязки не надо. После подачи питание МК сразу начнет работать на частоте 1Мгц. На днях помещу программатор, чтобы можна было каждому попробовать. Пишу с расчетом на какие то минимальные знание в МК, но если будут вопросы или что-то не будет получатся отвечу.
Зачетно! Пока все понятно. На счет схем: я рисую в P-CADе 2004. Помоему, если контроллерами заниматься, к его изучению все равно придешь в конце концов. Давай, presidentua, ждем продолжения!
Согласен P-CAD нужен будет. Но сейчас в основном пользуюсь Proteus. Хотя это отличный симулятор, но принт-скрин дает отличные рисунки. Выше же его не использовал чтобы показать внешнюю обвязку полностью ( Proteus некоторые вещи сам добавляет ). ПС: Ночью размещу программатор. Ждем-с-с-с
presidentua, чуваккк =))) рад видеть новых микронотроллерщиков =))))))) я так понимаю высоковольтное программирование?...+12в? не ну я знаю есть фича такая что подвод питания, перевод в режим программирвания, данные, такт, масса - 5 проводов всего (собсна больше и ненадо, протоколы одинаковые то =))) ) но я бы советовал резисторы воткнуть на 4,7 Ком... и вообще юзать LVP (Low Voltage Programming) я разрабатываю девайс сейчас "мигающее сердце" на светодиодах... я взял мощный контроллер с 22 линиями, чтобы отдельным светодиодом можно было управлять без заморочек с разширителями ввода вывода, ктомуже ШИМ аппаратный есть. контроллер PIC16F873A... это конечно как по мухе из пушки но я хотел деффке на денюху подарить - всеравно не успел кстати хороший подарок на 8 марта будет =))) я печатку 10 раз переделывал. я решил что небуду играничивать ток светодиодов резисторами, пусть ярко горят, но контроллер может не выдержать (для всего порта макс 25 Ма) светодиод один жрет 3 Ма примерно... вообще их дофига и больше но если брать слаботочные и яркие то разоришся =))) вывод - ставить транзисторные ключи... вот такая сумашедшая идея у меня =)))))))) еще у меня в задумках просто сделать Блок управления аудиомикросхемами (TDA 7313, аудиоконтроллер. по I2c управляется, регулирует громкость, бас,тембр, балланс двух своих каналов) наподобие того что у мя ща усилке но усовершенствовать надо, например экран цветной с часами и пр. в мечтах у мя собрать ЦАП и юзать цифровой звук (S\PDIF)
Да, Мега, просторное ты поле деятельности задумал. Молодец! Ты давай в пиковскую тему возвращайся! Ато переметнулся на сторону вероятного соперника, понимаете ли. ))
Возникла идея обсудить кого какие проекты интересуют. Что-бы хотелось сделать или посмотреть как это сделают другие . Особенно интересна возможность применения в сфере соответствующей направленности сайта. Короче, теме нужен КРЕАТИВ! ) Полет фантазии не ограничен! Я, например, давно мечтаю сделать робота-шпиона: машинка на колесах с камерой и микрофоном.
Интересуют много интересных тем, но к сожалению на реализацию одних не хватает времени, а на других не хватает УМА. Например: Замок на отпечатках пальцев.
Программатор Просто, не правда ли. Но к тому же я никогда не использовал ограничительных резисторов, но вам советую использовать. Линию РЕСЕТ тоже не использую - на схеме ставлю кнопочку которая заземляет РЕСЕТ, тоесть нужно программировать - нажал кнопку и потом запустил программу на ПК. Программируется при питании 5 вольт, у меня все от ЮСБ. На это вводная квази-статья о АВР закончена. Целью не было рассказать все, а лишь показать простоту и то что КАЖДЫЙ может попробывать сделать интересные девайсы и это действительно просто (почти ). А дальше читайте специальную литературу. Ее в нете полно. Теперь жду лишь вопросов. Если будут какието проблемы спрашивайте. Пожелание тоже принимаются, только не очень глобальные
MegaDeth, ты что мысли читать умеешь. Я уже месяц собираюсь сделать для девченки сердце, но никак не начну. Я хотел сделать Сердце которое стучит и мигает, но частота его "биения" зависит от расстояния к ближайшему обьекту. Тоесть если девченка подходит к сердцу, то оно начинает чаще биться. А если берет в руки, то играет какую-то мелодию. Давай обьединимся и сделаем какой-то симбиоз из наших идей, только с разными МК. Заведем тему и будем пошагово раздумывать реализацию программирование, схемы и другое. Конечно за поддержки Animal ( и других форумчан. Что думаешь?
Для реализации замка на i-button надо аж где-то 10 строчек кода (при использовании стандартных библиотек). Это очень простая задача которая решается за один вечер. Другое дело отпечатки пальцев. Я над этим много работал, хотел на диплом магистра сделать. Нашел классный датчик от фирмы Atmel - AT77101b. Датчик почти все делает сам и картинку передает через параллельный интерфейс. Дальше можем через МК передать на комп. И проводить там уже анализ картинки. Если сравнение делать по всем правилам дактилоскопии, то это очень сложная робота (очень-очень). Но что нам мешает сравнивать просто картинки, или их части. Нам не надо идентифицировать тысячи людей. Надо лишь узнать одного-двух - а это вполне реализуемо. Но меня остановило лишь наш украинский рынок радиоелементов. У меня нет таких слов чтобы его охарактеризовать. Вот такая хня. ПС: Если у кого-то есть возможность приобрести этот датчик, то очень прошу свяжитесь со мной, обговорим, расчитаемся. Буду должен до конца жизни.
ИИ - типа искуственный интелект. Это еще более грандиозная идея чем с отпечатками пальцев ))))))))))))
Еще идея. Подключить датчик алкоголя к микроконтроллеру и три лампочки. Повесить это устройство на воротник и идти на пьянку. Зеленый свет - трезвый. Желтый свет уже пьяный, но не очень. И красный - харе пить, а то к дому не дойдешь. )))))) Кстати цена устройства будет около 5 баксов.
не, насчет "подходить" нереально. я видел что если 2 сердца подносиш к другдругу то это да... в руки берешь - сенсорные контакты делать можно, но если сделать большие по площади то оно по любой причине бедт моргать... много нерешеных проблем с питанием. я посчитал 300Ма - батарейки 9В ненадолго хватит... можно сделать маленький импульсник (не больше спичечного коробка получается) но надо чтобы было 1000000% безопасно и никаких там 220 чтобы можно было юзать как ночник. не решен вопрос с корпусом, не подаришь же плату стеклотекстолитоваю гы =))) мелодия - куда ты ее совать будеш? ЦАП делать еще гы? кажется приятна будет если просто делать "мигалку". печатку еще уже успел неско раз переделать, хреновай я художнег (((
Avr насчет питания - может использовать ЮСБ (бесопасно), что-бы не сильно думать о экономии. Хотя там ограничение 100 мА. Тоесть нужно будет использовать экономичные светодиоды. А можна соединить к корпусу непосредственно - к контактам где 5 вольт даже при выключении компа. Корпус: Можна плату поместить в коробку, типа подставка, а все светодиоды аккуратно на оргстекле в виде сердца. Мелодия: маленькую в МК можно поместить. Типа ряд частота и время играния этой частоты. ЦАП: можно использовать встроенный, его качества для нашей цели хватит с головой. А вот с "приближением" действительно проблема. А излучать ультразвук и оценивать время его "возвращения"?