Будильник, кодовый замок для ПК
#1
Отправлено 07 Сентябрь 2005 - 10:25
#2
Отправлено 07 Сентябрь 2005 - 13:28
Denisvak сказал:
Ёпт,а соответствующий пункт в биосе у тебя отсутствует чтоли?...
#3
Отправлено 07 Сентябрь 2005 - 13:55
PSIX сказал:
Согласен может включения по расписанию в Биосе нет, а вот включение после входящего звонка (если есть модем) или при вводе пароля с клавы есть.
Denisvak
Тебе прийдётся постоянно питать твоё устройство от батарейки. Даже если ты такое поставишь дай мне отвёртку и я тебе его включю.
Т.е. не практично и слишком дорого как кнопка, идея интресная а как кнопки можно использовать матрицу из кнопок 3х3 + принять/отменить, В прошивке указать какие кнопки будешь жать и последовательность.
Чё это было?
#4
Отправлено 07 Сентябрь 2005 - 14:56
#5
Отправлено 07 Сентябрь 2005 - 16:25
Denisvak сказал:
Это минус
Denisvak сказал:
Быстро согласился
Denisvak сказал:
С этого нужно было и начинать. Такой подход к делу мне самому нравится. Может оно тебе и ненадо нифиг, а интересно как работает
Denisvak сказал:
Ну тогда бензопилой!
Denisvak сказал:
Посмотри алгоритм обработки конопок. И поробуй ссделать так:
Клавиатура имеет вид например
1 2 3
4 5 6
7 8 9
Например код 1 2 3
Тогда
1) Атмега ждёт нажатия на кнопку
2) если последовательность и номера правильные то посылаем сигнал на какуюнибудь лапку Атмеги
3) если нет, то возвращаемся к 1)
Я думаю понятно изложил
#6
Отправлено 07 Сентябрь 2005 - 16:38
А вот чтоб без тебя не включали нехорошие личности
у меня кстати подход в свое время был гораздо к этому проще
я поствил озушку на 100 Мгц (с видео ,аудио , игрухи и проч не юзаю)
а на матке был выведен джампер преключения регенерации 100133
вывел я с него тумблер на заднюю стенку и юзал себе спокойно
при переключении 133 комп так "долбало" что он даже POST не запускал
#7
Отправлено 07 Сентябрь 2005 - 17:32
Спасибо конечно, но вопрос пока не про коды и клаву
Напоминаю, в ATmega16 I2C встроет и кличут его TWI
#9
Отправлено 07 Сентябрь 2005 - 20:06
А МК будет связан с компом через com port
#10
Отправлено 07 Сентябрь 2005 - 20:13
на одном нету ицишки - дак для этого пребразователь можно собрать
а вот если у тебя проблемы програмные ,то больше н побеспокою
#11
Отправлено 07 Сентябрь 2005 - 20:52
Рисую схему если кто не понимает в чем проблема у меня:
.............данные1.....................данные2
PCF8583 -------->> ATmega16 ---------->>LCD
.............I2C - шина.................8bit -шина
Дак вот, как передать данные1
Нужен принцип работы модуля TWI в ATmega
Добавлено спустя 11 минут 48 секунд:
http://www.gaw.ru/html.cgi/txt/doc/micros/...arh128/18_5.htm - что-то вроде нашёл
#13
Отправлено 07 Сентябрь 2005 - 23:42
Denisvak сказал:
ЗЫ: Примеры реализации того или сего называются application notes (аппноты) и преспокойно дожидаются тебя на сайте атмела. Чего ещё надо? Даташит в руки и вперед, к покорению Крыма :)
#14
Отправлено 08 Сентябрь 2005 - 00:51
ProniX сказал:
Вот хочу собрать сие устройство! Будильник нужен чтобы комп включался сам по расписанию(например утром
Пестец, я рыдал
ЗЫ: Примеры реализации того или сего называются application notes (аппноты) и преспокойно дожидаются тебя на сайте атмела. Чего ещё надо? Даташит в руки и вперед, к покорению Крыма
ProniXИ к чему это сказано? Народ, все кто так думает и все кто не понимает ничего просто пропускайте этот топик. Я понимаю вы здесь "крутые"
ЗЫ:Модеры как удалить эту тему?
#15
Отправлено 08 Сентябрь 2005 - 03:46
Посмотри вот на это: http://www.avrfreaks.net/index.php?module=...em_type=project
(нужно сначала зарегитрироваться). И вообще, на avrfreaks есть хорошие примеры и по I2C, и по 1-wire.
Кстати, зачем тебе внешние часы? AFAIR, в 16й меге есть собственный RTC.
А геноссе ProniX... Он хороший специалист, но работает слишком мало, чтобы относиться к работе со здоровым цинизмом. Вот и напрягает его подобное соотношение целей и средств. Вместо того, чтобы предложить маленький аппаратный криптомодуль для IDE, который пралты ключ с iButton - пытается оппрочить идею в целом.
#17
Отправлено 08 Сентябрь 2005 - 19:55
Добавлено спустя 4 минуты:
Ах, да - насчёт часов. В детстве делал так: берем китайские электронные часы за 10 рублей и распатрониваем до получения маааааленькой платы с батарейкой. Дальше ищём тот контакт, который на жк-экранчике соответствует мигающему двоеточию. Там идёт меандр с частотой ровно 1Гц. Соответственно в уже предложенную ATtiny засовываем алгоритм подсчёта импульсов... Прерывание по фронту сигнала. Проснулись от прерывания, прибавили единичку в переменную, проконтролировали перенос, снова заснули. Потребление общее - нановатты
#18
Отправлено 10 Сентябрь 2005 - 13:05
Тут проблемка выяснилась
вот исходник:
;======================= init_LCD: ldi tmp,$0 out dat_lcd,tmp cbi con_lcd,lcd_rs cbi con_lcd,lcd_rw cbi con_lcd,lcd_e ldi sim,$38 rcall WriteComand ldi sim,$0c rcall WriteComand ldi sim,$06 rcall WriteComand ldi sim,$01 rcall WriteComand rcall Del_2 ret WriteData: rcall ReadStatus sbi con_lcd,lcd_rs out dat_lcd,sim sbi con_lcd,lcd_e nop nop cbi con_lcd,lcd_e cbi con_lcd,lcd_rs ret WriteComand: rcall ReadStatus out dat_lcd,sim sbi con_lcd,lcd_e nop nop cbi con_lcd,lcd_e ret ReadStatus: ldi tmp,0 out DDRB,tmp sbi con_lcd,lcd_rw wait_lcd: sbi con_lcd,lcd_e in tmp,dat_lcd cbi con_lcd,lcd_e sbrc tmp,7 rjmp wait_lcd cbi con_lcd,lcd_rw ldi tmp,255 out DDRB,tmp ret ;===============================
Дак вот вроде всё работает, только если написать команду
ldi sim,$c5 rcall WriteComand- чтобы переставить курсор на второй строчке в 5й символ МК зависает
Добавлено спустя 42 минуты 9 секунд:
Переписал малёк подпрограмку освобождения LCD
ReadStatus: ldi tmp,0 out DDRB,tmp sbi con_lcd,lcd_rw wait_lcd: sbi con_lcd,lcd_e sbic PINB,PB7 rjmp wait_lcd cbi con_lcd,lcd_e cbi con_lcd,lcd_rw ldi tmp,255 out DDRB,tmp ret
Всё заработало
Добавлено спустя 4 часа 1 минуту 42 секунды:
Трабла. Вот вроде пытаюсь послать на линию i2c условие start
ldi err,(1<<TWINT)|(1<<TWSTA)|(1<<TWEN) out TWCR,err ;start wait1: in err,TWCR ;тут всё зацикливается sbrs err,TWINT ;флаг TWINT не устанавливается rjmp wait1
#19
Отправлено 12 Сентябрь 2005 - 01:09
Подпишусь под каждым словом.
За маленьким исключением. Хорошо, когда это у тебя фиг знает какая конструкция на AVR (или вообще на МК). Начинающему же, по крайней мере, на этапе разработки удобнее использовать что-то начиная с mega16 по причине того, что в нем есть JTAG, и можно нормально поотлаживаться с минимальными затратами. (AFAIR, ничего простого с поддержкой debug wire, народ не сделал).
Что же касается часов и tiny, назови меня буржуем, но я бы в такой ситуации взял бы какой-нибудь далласовский RTC с подключением по 1-wire исключительно по эстетическим соображениям (припаять tsop8 проще, компактней и красивее, чем городить огород с часами (тем более, что 1-wire все равно используется).
Добавлено спустя 18 минут 57 секунд:
Denisvak
А как выглядит инициализация?
Кроме того, есть подозрение, что запись TWEN и TWINT в одной команде - это некошерно.
#20
Отправлено 12 Сентябрь 2005 - 06:57
согласен насчёт меги16 для начинающего.
и вся необходимая периферия есть (не кастрированный 2313, который некоторые предлагают для начинающего) и JTAG... хотя, может кому-то хватит и обычного программатора внутрисхемного...
в меге16 нет RTC... там есть асинхронный таймер, который можно заставить работать как RTC, повесив на него часовой кварц. хотя это практически одно и тоже =)))
2Denisvak:
откуда брал примеры? приглядись к аппнотам Atmel... и на AVRFreaks тоже неплохо было бы погулять...

Помощь













