Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 5146 В разделах:
Electronics
Programming
от May 6th, 2013,
В подшивках: Arduino
По работе мне понадобилось сделать датчик поворота руля. Самый простой и точный способ это выдернуть шифратор из обычной компьютерной мыши, пришаманить его к рулевой колонке, а потом тупо считать подаваемые импульсы. А что если руководитель проекта подумал, что сделать это с помощью переменного резистора гораздо круче? Ну раз он захотел, то почему бы и нет? Ну подумаешь точность немного упадет 🙂 Все равно компьютер будет подруливать.
Чтобы ADC заработал нужно подключить AGND, AREF и AVCC к питанию. Резистор нужно подключить к ADC0 согласно схеме на рисунке ниже.

Теперь необходимо инициализировать АЦП. Включаем нужный пин на вход (я это сделал довольно грубо и одним махом сделал входом весь порт C), устанавливаем делитель в ADCSRA на 256, в DIDR0 отключаем ненужные входы АЦП 1, а нужные 0 и настраиваем мультиплексор.
void initADC(void) {
DDRC = 0;
PORTC = 0xFF;
PRR |= (1<<PRADC);
ADCSRA = (1<<ADPS0)|(1<<ADPS1)|(1<<ADPS2);
DIDR0=0b00111110;
ADMUX = (1<<MUX0);
}
Чтобы снизить шумы можно применить LC фильтр, описаный в даташите
Теперь можно начать читать из АЦП значения. Они будут изменяться от 0 до 1023.
int adc_value=0;
while (1) {
sumsung_clr();
sumsung_goto(0,0);
fprintf_P(&display,PSTR("%02d\n"), adc_value);
_delay_ms(300);
ADCSRA |= (1<<ADSC)|(1<<ADEN);
while((ADCSRA & (1<<ADSC))!=0) ;
adc_value=ADC;
}
Должно получиться что-то типа такого
Демонстрационный стенд с подключеным экраном
Fortune cookie: There was a young lady named Dot Whose cunt was so terribly hot That ten bishops of Rome And the Pope's private gnome Failed to quench her Vesuvial twat.
Здравствуйте, Владимир.
Подскажите, как можно прошить ATtiny45 с помощью Arduino Nano? Возможно ли такое?
Ограничения такие:
1. Из программатора только Arduino Nano с разъемом ICSP
2. Прошивка в виде *.hex, т.е. прога Arduino IDE отпадает – она не знает hex.
Подключение ATtiny45 к Nano я нашел (http://blog.roguecode.co.za/make-dirt-cheap-electronics-with-attiny45-arduino-nano/), но не знаю чем прошивать.
большинство программаторов AVR работает на частоте 12 мгц и выше, т.к. сделаны они на той же AVRке. если ваша нано может работать на 12 мгц и выше, то проблем быть не должно. программируете сначало свою ардуину прошивкой для программатора, а потом ардуиной закачиваете прошивку в тиньку. для ардуино куча всяких сайтов сделано. достаточно немного погуглить и сразу все нужные программы найдете.
Если вы совсем не знаете что и как, то можно купить готовый программатор всего за 150 руб http://www.dx.com/ru/p/usbasp-usbisp-downloader-programmer-for-51-avr-157167?r=47602088