Технический форум по робототехнике.
snayperAlfa » 23 июн 2008, 22:58
собрал я вот такую схму для матрицы кнопок.

- clip_image002.jpg (10.85 КиБ) Просмотров: 2851
Пишу вот такой код и оно выводит надписи хотя я кнопки не нажимаю
- Код: Выделить всё • Развернуть
DDRC= 0b00000001;
PORTC=0b00000001;
// LCD module initialization
lcd_init(16);
lcd_clear();
while (1)
{
if(PINC.1==1){
delay_ms(50);
lcd_clear();
printf("PINC.1==1");
delay_ms(3000);
}
if(PINC.4==1){
delay_ms(50);
lcd_clear();
printf("PINC.4==1");
delay_ms(3000);
}
};
Как это исправить?
Myp » 23 июн 2008, 23:01
хмм
я конечно ничо не понимаю в програмлении
но щас ктонить придёт и скажет что у тебя ноги неправильно сконфигурены
и чото мне схема не нравится...
snayperAlfa » 24 июн 2008, 00:28
Я изменил код на следующий
while (1)
{
if(PINC.1==1 && PINC.4==0){
delay_ms(50);
lcd_clear();
printf("PINC.1==1");
delay_ms(3000);
}
};
И теперь когда подношу руку к проводам которы идут от клавы к МК то надпись поялвяется на ЖК.

Шо это я за датчик изобрел?

Victorovych » 24 июн 2008, 01:45
Входы РС4-РС7 ни к чему не подтянуты и висят в сером состоянии, при поднесенной руке емкость линии изменяется, потенциал на входе приподымается и трактуется контроллером как единица(достаточно одного такта). Дисплей рисует.
Вывод датчик - емкостной
К-стати не пойму, зачем РС0, хитрое ноухау?
$ilent » 24 июн 2008, 09:29
Исправить на что?
Можно например так:
- Код: Выделить всё • Развернуть
DDRC= 0b00000000;
PORTC=0b00000000;
// LCD module initialization
lcd_init(16);
lcd_clear();
while (1)
{
if(PINC.1==1){
delay_ms(50);
lcd_clear();
printf("Пиво");
delay_ms(3000);
}
if(PINC.4==1){
delay_ms(50);
lcd_clear();
printf("Мясо");
delay_ms(3000);
}
};
А вообще опрос клавиш не правильный, с матрицей так не работают.
И для чего РС0 с диодами подключил?
Master » 24 июн 2008, 11:06
Короче ползешь на радиокот.ру, там есть стать по подключенияю матрицы к МК, там берешь схему, если есть желание можно и в коде разобрать, но он на асме.
snayperAlfa » 24 июн 2008, 11:22
Я схему взял из апноута атмеля.Но там код на асме.Я в нем 0.Если кому не трудно то укажите как переподключить матрицу кнопок и проводить ее опрос.Позалуста
Добавлено спустя 3 минуты 28 секунд:Вот откуда взял схему AVR240.pdf.
EdGull » 24 июн 2008, 11:31
а ни чё что она с твоей ваще не совпадает?

snayperAlfa » 24 июн 2008, 11:43
У меня клава 3*4 и без резисторов
EdGull » 24 июн 2008, 11:50
решил на резисторах сэкономить?
Добавлено спустя 2 минуты 39 секунд:или ты думаешь что они там лишние?
snayperAlfa » 24 июн 2008, 12:21
Щас я их туда присобачу
EdGull » 24 июн 2008, 12:26
боюсь чт оуже поздно

snayperAlfa » 24 июн 2008, 12:41
Master » 24 июн 2008, 12:55
Не ну а что ты хотел? Представляешь какой ток пошел через порты МК.
Victorovych » 24 июн 2008, 13:10
Контроллеру думаю ничего не случилось, какие там токи?