keypad+1307+lcd+комп + дитё и таблица умножения

std
Offline
Зарегистрирован: 05.01.2012

Идея такая.

Имеется компьютер (думаю что стационарник, хотя обдумывалось засунуть и в ноут). имеется бро, который не хочет учить уроки, но хочет играть в комп.

Планируется сделать на ардуино устройство, при включении выводящее на экранчик случайные числа и действие, нечто типа 45*62, 584+372. для умножения двухзначные числа, для сложения-вычитания скажем 3-4 значные. ответ с клавиатуры, ессно с кнопками типа backspace и enter, чтобы не делать ошибок если не ту кнопку нажал.

10 или сколько-нибудь примеров правильно решил - комп включается. часы (1307) отслеживают чтобы комп работал некоторое время, скажем от 15 минут до двух часов.

С впихиванием экрана и кнопок в miditower, который не жалко, проблем не возникнет. а теперь вопрос, как исключить фактор приема с ломом, короче чтобы не получилось этот импрувмент хакнуть. Можно тупо просверлить 4 дырки в корпусе на крышках, и повесить обычные амбарные замки и просто прицепить оптрон вместо кнопки включения, или имеет смысл ардуиной как-то замещать некий активный/пассивный компонент, незнаю, мож какой-нибудь резистор в блоке питания, без которого оный не запустится? Может сделать ps/2-клиент, эмулирующий клавиатуру, и через него скидывать компу пароль BIOS на этапе загрузки? Как тогда реализовать две ps/2 клавиатуры, чтобы они друг другу не мешали, или придется делать ps2 мою "клавиатуру", набирающую пароль и родную от компа usb?

вообще вариант с "клавиатурой" и пассом в BIOS имхо ненадежный.

mixail844
Offline
Зарегистрирован: 30.04.2012

 

хмммм ну пару вариантов есть,зависит от того как сильно развито дитя))

1.сделать так что бы по окончанию решения 10 примеров,ардуина вместо компьютерной кнопки включала питание(то есть замыкала контакт),плюс в том что комп будет выключаться безопасно.минус легко хакнуть ибо доступ есть на  уже на мат плате.

2.сделать тоже самое но только внутри самого блока питания компа.что бы дуина управляла мощным транзистором,который будет управлять питанием всего компа,найти такое место в БП вещь не самая сложная,оттуда же саму дуину и запитать.получаеться сколько не тыкай в кнопку включения,комп не заведеться пока не будут решены задачки - дуина не даст- вариант более сложный но более надежный от "взлома",как говориться "замки от честных людей"))а минус в том что каждый раз комп будет выключаться как будто из сети волку вынуть - не очень полезно для жестких дисков и изменений в несохраненных приложениях)

3.(на ходу придумал)совмещения 1+2 : дуина будет сидеть на том контакте(+5в) в блоке питание,откуда приходит сигнал на включение компа и давать "добро" полсе решения задачек-в сам блок питания трудней добраться да разбираться что там на что влияет,думаю ребенку будет не под силу.

думаю интерфейс легче всего реализовать с помощью маленкого(16x2) LCD экранчика и 4x4 клавиатуры,чем городить связку с BIOSом и прочее

хотя вот можно еще,если у вас есть потдержка ps/2 на нужном компе.то думаю можно подключить ps/2 клавиатуру к дуие,и пока будет иди процесс решения задачек то клавиатура будет средством ввода в дуину.а когда задачки будут решены,ты думаю легко сделать из дуины что то вроде мостика,что бы она подклчала клавиатуру к материнке как обычную клавиатуру и все-можно работать)

а вывод примеров,думаю все же легче LCD(16x2) реализовать)

да испрявят меня более опытные обитатели форума.

хммм ну еще фантастическй вариант анти взлома : присобачить к дуине GSM/Ethernet шилд и как только без вашего ведома открыта крышка,вам отсылаеться сообщение в виде sms/e-mail ))) ну уж через чур дороговато получиться для резализации такого)
 

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Вариант с клавиатурой PS/2 мне понравился.

Хорошо подойдет для проекта Leonardo - умеет себя как клаву прадставлять. В разрыв кнопки питания завести дуину - она же и выключать будет. Дежурного питания ATX - вполне хватит дуине для работы, можно и китайский БП приспособить.

std
Offline
Зарегистрирован: 05.01.2012

не, никакого оверлея на биос, нафиг нафик. так и планировалось с каким-нибудь винстаром 1602, то есть говоря "экранчик" я подразумеваю lcd 

значит получается, на вход идет: кнопка питания, светодиод "power" с мамы (все с оптронной развязкой).

на выход собсно коммутатор кнопки питания и коммутатор 220 на блоке питания, aka прерыватель.

тогда алгоритм получается такой:

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

- если нажали кнопку а комп включен, значит его хотят выключить. запоминаем сколько времени прошло, оставшееся добавляем к кредитам на текущий день (по схеме максимум N часов за компом в день, максимум M минут за компом за один присест).

- если время N или M закончилось, принудительно выключаем комп. для этого:

1. один раз даем импульс на кнопку, типа короткое нажатие. через ~40 сек убеждаемся, что комп потух (по нулю со светодиода "power").

1а. если этого не произошло, возможно, комп висит. даем на кнопку длинный импульс 4 секунды, типа нажатие на выключение до упора. думаю это всяко приятнее для компа, чем просто вынуть его с розетки.

2. когда комп выключился, отрубаем блок питания от сети.

в фазе выключения думаю имеет смысл игнорировать нажатия кнопки "power" на компе. если чего не так думаю, то пока не поздно скорректировать 

схема будет представлять собой сигнальную линию кнопки, через дуину, и силовую на блок. тоесть я так понимаю иного способа как отрезать 220 и кнопку, нет. пичаль, пичаль... или всетаки есть еще способы?

надо будет еще память отдельную туда впаять, чтобы не писать в EEPROM атмеги, т. к. запись будет делаться несколько раз в день. или держать эту информацию в часах? там 56 байт памяти есть.

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

std пишет:

схема будет представлять собой сигнальную линию кнопки, через дуину, и силовую на блок. тоесть я так понимаю иного способа как отрезать 220 и кнопку, нет. пичаль, пичаль... или всетаки есть еще способы?

надо будет еще память отдельную туда впаять, чтобы не писать в EEPROM атмеги, т. к. запись будет делаться несколько раз в день. или держать эту информацию в часах? там 56 байт памяти есть.

Не, я бы не стал связываться с питанием. Во-первых, это вредно для БП, во-вторых, я бы запитал дуину от дежурного напряжения БП, а для этого он должен быть включен. Если уж хочется, лучше поставить прерыватель на реле (можно на твердотельном)

А отдельную память незачем. Вам что, 100000 циклов не хватит? Запись же будет вестись только при окончании игровой сессии.

std
Offline
Зарегистрирован: 05.01.2012

ok, сделаю просто на кнопке без вмешательств в БП, и выложу.

вопрос по аналоговой электронике: какой запас по току у дежурного выхода БП? хватит ли его атмеге (не целой ардуине а просто контроллеру с кварцем), экрану 1602 и часам?

и да, откуда его брать? если я правильно помню то с фиолетового провода, хотя могу ошибаться.

sergeevalex
Offline
Зарегистрирован: 15.10.2012

А просто совтом - не катит? Отдельный профиль для ребёнка и стартовый софт, который при некорректном решении отправляет в комп сон, или с ограничением по времени.

std
Offline
Зарегистрирован: 05.01.2012

таки вот желательно не просто софтом и т. п., а чтобы без решения комп вообще не завелся. идеальным был бы какой-нибудь вывод ШИМ на транзюки в блоке питания, чтобы никакими зубами было не отодрать от моей ардуины. потому что дитяти все из себя кулхацкеры, POS эскалация привилегий пользователя в венде, сброс пароля и обход настроек загрузки в BIOS и все дела.

еще как вариант - сделать железную дверцу с приводом, закрывающую мышку и клавиатуру, типо такой маленький сейф. и прикрутить провод мышки и клавиш к стенке этого "сейфа" на 12-сантиметровые анкера.

хотя да, вариант софтварного ограничения доступа обдумывался, да. не устроил, увы.

sergeevalex
Offline
Зарегистрирован: 15.10.2012

std пишет:

POS эскалация привилегий пользователя в венде, сброс пароля и обход настроек загрузки в BIOS и все дела.

Нафига ему ваша таблица умножения :)?