Как то у нас вышел закон об обязательном включении ходовых огней при движении в городе. Соответственно очень часто забывается то включить то выключить. Лезть в электронику авто категорически запрещено условиями гарантии. Да и потом такая проблема у родителей, у друзей. Порывшись в интернете готового не нашел (Точнее нашел готовое устройство 3тыс руб). Вот и родилась идея, что если ловить разницу напряжение на аккумуляторе при заглушенном двигателе 12в при заведенном больше 13в и в зависимости от этого щелкать реле.
Код: Выделить всё
#define F_CPU 9600000
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#define SET_B(x) |= (1<<x)
#define CLR_B(x) &=~(1<<x)
#define INV_B(x) ^=(1<<x)
unsigned char Cache;
unsigned char x=170;
int main (void)
{
DDRB=0x00; //порт на выход
DDRB SET_B(2);
DDRB SET_B(3);
PORTB =0x00;
ACSR|=(0<<ADC); //включение компаратора
ACSR|=(0<<ACBG);
while(1){
if ((ACSR & (1<<ACO))==0)
PORTB SET_B(2);
else
PORTB CLR_B(2);
if (((ACSR & (1<<ACO))!=0) && (x<180)){
x++;
_delay_ms(100);
}
if (((ACSR & (1<<ACO))==0) && (x>160) ){
x--;
_delay_ms(100);
}
if (x==160)
PORTB SET_B(3);
if (x==180)
PORTB CLR_B(3);
}
}
Почему выбран контроллер, а не обычный дешевый компаратор - отсрочка времени включения и исключить провалы при включении нагрузки как дальний свет, печка и тп.
Итог: Прошу посмотреть и проверить. как бы по частям все работает, все вместе не собирал. Так сказать прошу модерации)!
Всем спасибо! за потраченное время)
- Вложения
-
- AutoLed.rar
- Схема в DipTrace + Proteus
- (35.23 КБ) 185 скачиваний



