Заказать прошивку

 





 
Дело было вечером делать было нечего. Предлагаю вам устройство которое реагирует на движение руки, плавным извинением цвета...
Вместо опто-пары ставим фототранзистор и светодиод, а вместо генератора подключаем светодиод к питанию схемы. Поставить оптические элементы можно любые главное, чтобы у них была одна длина волны у меня стоят ИК диод и транзистор на 940 нанометров транзистор на 30 градусов обзор, а диод на 20 градусов. Так как таймер тиньки рассчитан только на два вывода  ШИМ пришлось использовать не RGB, а RB светодиод. Ну это и не важно.
Ах ну да я забыл Q1 у нас BC547C. А теперь приступим к самой программе :
 
#include <avr/eeprom.h>
#include <avr/io.h>
#include <stdio.h>
#include <avr/interrupt.h>
#include <inttypes.h>
#include <util/delay.h>
#include <math.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
#include <stdbool.h>
#include <avr/pgmspace.h>
#include <avr/boot.h>
#include <stdint.h>
 
volatile unsigned int ADC_buff=0;
volatile unsigned char PWM_buff0=0;
 
void ADC_init(void)//конфигурируем ADC
{
ADCSRA=0<<ADPS0|0<<ADPS1|1<<ADPS2|1<<ADEN|1<<ADSC|0<<ADIF|1<<ADIE;
ADMUX=0<<REFS0|1<<MUX0|0<<MUX1;
};
 
 
void TIM0_init(void)//конфигурируем TIMER
{
TCCR0B=1<<CS00|0<<CS01|0<<CS02|0<<WGM02;
TCCR0A=0<<COM0A0|1<<COM0A1|1<<COM0B0|1<<COM0B1|1<<WGM00|1<<WGM01;
OCR0A=0;
OCR0B=0;
TIMSK0=1<<TOIE0;
};
int main (void)// main
{
DDRB=0b11101011;
_delay_ms(150);
ADC_init();
TIM0_init();
asm("sei");
for (;;);//бесконечный цикл
return 0;
}
 
ISR(ADC_vect)// обработчик прерывания по таймеру ADC
{
ADC_buff=ADC;// Загоняем в буфер
PWM_buff0=ADC_buff/4;//Значение ADC делим на 4
ADCSRA=ADCSRA|1<<ADSC;//Запуск нового преобразования
};
 
ISR (TIM0_OVF_vect)//обработчик прерывания по таймеру
{
OCR0A=PWM_buff0;
OCR0B=PWM_buff0;
};
 
Сам hex файл конечно же прилагается. Fuse bits не трогаем оставляем заводские. Программа написана в AVRStudio + WinAVR.
Скачать прошивку
Для тех кто начнет орать что на Си писать для 1кБайта памяти это идиотизм отвечу сразу – пользуйтесь нормальными компиляторами и прямыми руками.
Спасибо за внимание. Ну и конечно же ВИДЕО работы железяки:

Не забываем рассчитывать свои резисторы для каждого цвета!!! Иначе сгорит, почему, так это вам домашнее задание.
P.S. Так много библиотек для тех у кого их мало, а у кого их много, то поделитесь, не жмитесь.

 
Дата: 9-04-2011, 08:06, Просмотров: 13644, Автор: Rhime
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо войти под своим именем.

   
ASUS # 1
9 апреля 2011 08:49  
 
можно использовать как подсветка замочной скважины. Та и обычную микросхему логики можно применить.И не плохая идея, можно розвивать это устройство.
--------------------
против лома нет приема, разве что законы ома, лом ужасен и велик, он хороший проводник)))
  •    •     


   
DieselBorn # 2
30 сентября 2011 13:27  
 
можно спрасить. Какой у вас ИК диод и Фототранзистор?
маркировка
  •    •     

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
 

Обновления

Конкурсные работы:

Сообщения Форума Ответов
Сенсорный выключатель 379
Рецензия на фильм Макс Стил 0
Спидометр - одометр + квазиана ... 4
бaкoмeтр 1829
Бакометр 2 211
Авторская программа LEX6630SOF ... 36
Сколько мужчина может потратит ... 4
Настенные часы - термометр 258
PICKIT2 и AVR 5
RGB подсветка приборной панели 4