Форумы Modlabs.net: Будильник, кодовый замок для ПК - Форумы Modlabs.net

Перейти к содержимому

  • (2 Страниц)
  • +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Будильник, кодовый замок для ПК

#1 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 07 Сентябрь 2005 - 10:25

Вот хочу собрать сие устройство! Будильник нужен чтобы комп включался сам по расписанию(например утром :) ), а кодовый замок чтобы без меня никто его включить не мог, запускается только после ввода кода, с помошью iButton или подсказали ещё "круче" как сигнализация на авто, нажал на блоке и вуаля ;) (но это все планы). Пока имеется ATmega16 и часы календарь PCF8583 ещё LCD который уже вроде подружился с МК :gigi: , а вот как его заставить работать с часами? Нужна инфа как управлять в ATmega портом TWI или исходник для примера!!! Может кто поможет? Или ещё чего можно "пркрутить" к устройству :spy:
0

#2 Пользователь офлайн   PSIX 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 2 930
  • Регистрация: 06 Декабрь 03

Отправлено 07 Сентябрь 2005 - 13:28

Denisvak сказал:

Будильник нужен чтобы комп включался сам по расписанию(например утром

Ёпт,а соответствующий пункт в биосе у тебя отсутствует чтоли?...
0

#3 Пользователь офлайн   Dimka 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Участник клуба Voodoo Masters
  • Сообщений: 1 037
  • Регистрация: 13 Апрель 05

Отправлено 07 Сентябрь 2005 - 13:55

PSIX

PSIX сказал:

Ёпт,а соответствующий пункт в биосе у тебя отсутствует чтоли?...

Согласен может включения по расписанию в Биосе нет, а вот включение после входящего звонка (если есть модем) или при вводе пароля с клавы есть.
Denisvak
Тебе прийдётся постоянно питать твоё устройство от батарейки. Даже если ты такое поставишь дай мне отвёртку и я тебе его включю.
Т.е. не практично и слишком дорого как кнопка, идея интресная а как кнопки можно использовать матрицу из кнопок 3х3 + принять/отменить, В прошивке указать какие кнопки будешь жать и последовательность.
Чё это было?
0

#4 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 07 Сентябрь 2005 - 14:56

Ага пункта такого не имеется!!! Может и не практично, спорить не буду. Мне интересен сам процесс :beer: Корпус мой без ключика не вскроешь даже отверткой!!! И народ больше по делу ;) помогите пожалуйста :beer: кто чем может
0

#5 Пользователь офлайн   Dimka 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Участник клуба Voodoo Masters
  • Сообщений: 1 037
  • Регистрация: 13 Апрель 05

Отправлено 07 Сентябрь 2005 - 16:25

Denisvak

Denisvak сказал:

Ага пункта такого не имеется

Это минус

Denisvak сказал:

Может и не практично, спорить не буду

Быстро согласился

Denisvak сказал:

Мне интересен сам процесс

С этого нужно было и начинать. Такой подход к делу мне самому нравится. Может оно тебе и ненадо нифиг, а интересно как работает

Denisvak сказал:

мой без ключика не вскроешь даже отверткой!!!

Ну тогда бензопилой!

Denisvak сказал:

И народ больше по делу помогите пожалуйста кто чем может

Посмотри алгоритм обработки конопок. И поробуй ссделать так:
Клавиатура имеет вид например

1 2 3
4 5 6
7 8 9
Например код 1 2 3
Тогда
1) Атмега ждёт нажатия на кнопку
2) если последовательность и номера правильные то посылаем сигнал на какуюнибудь лапку Атмеги
3) если нет, то возвращаемся к 1)
Я думаю понятно изложил
0

#6 Пользователь офлайн   geners 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 182
  • Регистрация: 05 Май 05

Отправлено 07 Сентябрь 2005 - 16:38

НУ про включение это действительно легче через биос
А вот чтоб без тебя не включали нехорошие личности
у меня кстати подход в свое время был гораздо к этому проще
я поствил озушку на 100 Мгц (с видео ,аудио , игрухи и проч не юзаю)
а на матке был выведен джампер преключения регенерации 100133
вывел я с него тумблер на заднюю стенку и юзал себе спокойно
при переключении 133 комп так "долбало" что он даже POST не запускал
0

#7 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 07 Сентябрь 2005 - 17:32

Dimka
Спасибо конечно, но вопрос пока не про коды и клаву :beer: Я хочу понять как работать с I2C в ATmeg'е :beer: в частности как все проинициализировать, в какие регистры что записывается? И как записыватьсчитывать данные с определённого слэйв адреса. В сам принцып I2C я вроде въехал, а вот как это в МК связать не понимаю ;)


Напоминаю, в ATmega16 I2C встроет и кличут его TWI
0

#8 Пользователь офлайн   geners 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 182
  • Регистрация: 05 Май 05

Отправлено 07 Сентябрь 2005 - 18:57

как с МК связать
типа как к компу что ли подрубить или что
0

#9 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 07 Сентябрь 2005 - 20:06

Как МК связать с PCF8583 по I2C? ;)
А МК будет связан с компом через com port
0

#10 Пользователь офлайн   geners 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 182
  • Регистрация: 05 Май 05

Отправлено 07 Сентябрь 2005 - 20:13

а в чем собсвенно дело?
на одном нету ицишки - дак для этого пребразователь можно собрать
а вот если у тебя проблемы програмные ,то больше н побеспокою
0

#11 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 07 Сентябрь 2005 - 20:52

geners
Рисую схему если кто не понимает в чем проблема у меня:


.............данные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 - что-то вроде нашёл :)
0

#12 Пользователь офлайн   geners 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 182
  • Регистрация: 05 Май 05

Отправлено 07 Сентябрь 2005 - 21:18

мдя
после сапромата совсем котел у меня не варит :)
0

#13 Пользователь офлайн   ProniX 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 744
  • Регистрация: 25 Ноябрь 03

Отправлено 07 Сентябрь 2005 - 23:42

Denisvak сказал:

Вот хочу собрать сие устройство! Будильник нужен чтобы комп включался сам по расписанию(например утром :) ), а кодовый замок чтобы без меня никто его включить не мог, запускается только после ввода кода, с помошью iButton или подсказали ещё "круче" как сигнализация на авто, нажал на блоке и вуаля :P (но это все планы). Пока имеется ATmega16 и часы календарь PCF8583 ещё LCD который уже вроде подружился с МК :gent: , а вот как его заставить работать с часами? Нужна инфа как управлять в ATmega портом TWI или исходник для примера!!! Может кто поможет? Или ещё чего можно "пркрутить" к устройству :no:
Пестец, я рыдал :) Давайте ещё ARM какой-нить сюда прикрутим, чтобы было "круто, ажнифигасебе" :) Какой LCD, какой PCF? Любой, кто хочет комп запустить, его запустит, следовательно невскрываемость подобных вещей должна быть равна или чуть больше времени похода за каким-нить отламывательным предметом (если корпус на ключике). В качестве подобной "защиты" рекомендую штук восемь джамперов, с монтажным шифратором :) Ну, а если всё это задумывается как защита хранилища порнухи, с трудом накачанной из инета, от родителей, тогда больше подойдет SyMon, поставленный в загрузочный сектор диска, вкупе с паролями в биосе на загрузку со всего, кроме hdd... В общем, идея по меньшей мере странная.

ЗЫ: Примеры реализации того или сего называются application notes (аппноты) и преспокойно дожидаются тебя на сайте атмела. Чего ещё надо? Даташит в руки и вперед, к покорению Крыма :)
0

#14 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 08 Сентябрь 2005 - 00:51

ProniX сказал:

Denisvak писал(а):
Вот хочу собрать сие устройство! Будильник нужен чтобы комп включался сам по расписанию(например утром :) ), а кодовый замок чтобы без меня никто его включить не мог, запускается только после ввода кода, с помошью iButton или подсказали ещё "круче" как сигнализация на авто, нажал на блоке и вуаля :P (но это все планы). Пока имеется ATmega16 и часы календарь PCF8583 ещё LCD который уже вроде подружился с МК :) , а вот как его заставить работать с часами? Нужна инфа как управлять в ATmega портом TWI или исходник для примера!!! Может кто поможет? Или ещё чего можно "пркрутить" к устройству :no:
Пестец, я рыдал :) Давайте ещё ARM какой-нить сюда прикрутим, чтобы было "круто, ажнифигасебе" :) Какой LCD, какой PCF? Любой, кто хочет комп запустить, его запустит, следовательно невскрываемость подобных вещей должна быть равна или чуть больше времени похода за каким-нить отламывательным предметом (если корпус на ключике). В качестве подобной "защиты" рекомендую штук восемь джамперов, с монтажным шифратором :) Ну, а если всё это задумывается как защита хранилища порнухи, с трудом накачанной из инета, от родителей, тогда больше подойдет SyMon, поставленный в загрузочный сектор диска, вкупе с паролями в биосе на загрузку со всего, кроме hdd... В общем, идея по меньшей мере странная.

ЗЫ: Примеры реализации того или сего называются application notes (аппноты) и преспокойно дожидаются тебя на сайте атмела. Чего ещё надо? Даташит в руки и вперед, к покорению Крыма :)

ProniXИ к чему это сказано? Народ, все кто так думает и все кто не понимает ничего просто пропускайте этот топик. Я понимаю вы здесь "крутые" :) разработчики и вам смешно, а я вам скажу что мне все равно, меня прёт :P "Расписались" тут, а по делу ничего и нет. Ладно буду сам до всего доходить, спасибо всем..........


ЗЫ:Модеры как удалить эту тему?
0

#15 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 08 Сентябрь 2005 - 03:46

Denisvak
Посмотри вот на это: http://www.avrfreaks.net/index.php?module=...em_type=project

(нужно сначала зарегитрироваться). И вообще, на avrfreaks есть хорошие примеры и по I2C, и по 1-wire.

Кстати, зачем тебе внешние часы? AFAIR, в 16й меге есть собственный RTC.

А геноссе ProniX... Он хороший специалист, но работает слишком мало, чтобы относиться к работе со здоровым цинизмом. Вот и напрягает его подобное соотношение целей и средств. Вместо того, чтобы предложить маленький аппаратный криптомодуль для IDE, который пралты ключ с iButton - пытается оппрочить идею в целом.
0

#16 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 08 Сентябрь 2005 - 04:48

:)
0

#17 Пользователь офлайн   ProniX 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 1 744
  • Регистрация: 25 Ноябрь 03

Отправлено 08 Сентябрь 2005 - 19:55

Я не понимаю просто, в чём проблема? Ну если хочется человеку ibutton, так возьми да сделай :) Элементарно ключ-полевик поставь на кнопку включения питания, управляемый от простейшей ATtiny :lol: Протокол работы с ебатонами занимает дай бог 200 байт кода :)

Добавлено спустя 4 минуты:

Ах, да - насчёт часов. В детстве делал так: берем китайские электронные часы за 10 рублей и распатрониваем до получения маааааленькой платы с батарейкой. Дальше ищём тот контакт, который на жк-экранчике соответствует мигающему двоеточию. Там идёт меандр с частотой ровно 1Гц. Соответственно в уже предложенную ATtiny засовываем алгоритм подсчёта импульсов... Прерывание по фронту сигнала. Проснулись от прерывания, прибавили единичку в переменную, проконтролировали перенос, снова заснули. Потребление общее - нановатты :)
0

#18 Пользователь офлайн   Denisvak 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 20
  • Регистрация: 21 Август 05

Отправлено 10 Сентябрь 2005 - 13:05

Ой народ, извините конечно, но я на Вас удивляюсь!!! У мну просто шок ;) Ладно проехали про часы...
Тут проблемка выяснилась :beer: с драйвером LCD
вот исходник:
;=======================

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
:( где собака зарыта?
0

#19 Пользователь офлайн   listener 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 618
  • Регистрация: 08 Май 03

Отправлено 12 Сентябрь 2005 - 01:09

ProniX
Подпишусь под каждым словом.
За маленьким исключением. Хорошо, когда это у тебя фиг знает какая конструкция на AVR (или вообще на МК). Начинающему же, по крайней мере, на этапе разработки удобнее использовать что-то начиная с mega16 по причине того, что в нем есть JTAG, и можно нормально поотлаживаться с минимальными затратами. (AFAIR, ничего простого с поддержкой debug wire, народ не сделал).

Что же касается часов и tiny, назови меня буржуем, но я бы в такой ситуации взял бы какой-нибудь далласовский RTC с подключением по 1-wire исключительно по эстетическим соображениям (припаять tsop8 проще, компактней и красивее, чем городить огород с часами (тем более, что 1-wire все равно используется).

Добавлено спустя 18 минут 57 секунд:

Denisvak
А как выглядит инициализация?
Кроме того, есть подозрение, что запись TWEN и TWINT в одной команде - это некошерно.
0

#20 Пользователь офлайн   Dreadatour 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 121
  • Регистрация: 14 Март 05

Отправлено 12 Сентябрь 2005 - 06:57

2listener:
согласен насчёт меги16 для начинающего.
и вся необходимая периферия есть (не кастрированный 2313, который некоторые предлагают для начинающего) и JTAG... хотя, может кому-то хватит и обычного программатора внутрисхемного...

в меге16 нет RTC... там есть асинхронный таймер, который можно заставить работать как RTC, повесив на него часовой кварц. хотя это практически одно и тоже =)))

2Denisvak:
откуда брал примеры? приглядись к аппнотам Atmel... и на AVRFreaks тоже неплохо было бы погулять...
0

Поделиться темой:


  • (2 Страниц)
  • +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

7 человек читают эту тему
0 members, 7 guests, 0 anonymous users