Skocz do zawartości

Światłolub - nie działa elektronika/program


m471

Pomocna odpowiedź

Witam,

Mam problem ze światłolubem, otóż układ na płytce nie działa. Nie wiem czy to problem w kodzie (wiadomo że czasem drobna "literówka" może zdyskwalifikować cały projekt, a moje początkujące oko niczego nie widzi), czy z płytką, czy w ogóle z elektroniką. Załączam kod (C) oraz schemat (nie widać zasilacza, napięcie jest stabilizowane do 5V).

Z góry dziękuję za pomoc 🙂

Pozdrawiam

Kod:

#include <avr/io.h>
#include <avr/interrupt.h>

volatile signed int tmp1, tmp2;   //tmp1 lewy czujnik



void timer_init()
{
	TCCR1A|= (_BV(COM1A1) | _BV(COM1B1));
	OCR1A= 0;
	OCR1B= 0;
	TCCR1B|= _BV(CS10);
	TCCR1B|= (_BV(WGM12) | _BV(WGM10));
	DDRB|= ( _BV(PB1) | _BV(PB2) );
} 

void ADC_init()
{
	ADCSRA|= ( _BV(ADEN) | _BV(ADIE) );
	ADMUX|= ( _BV(REFS0) | _BV(ADLAR) );

}

ISR(ADC_vect)
{
	if(ADMUX & 1)
	{
		tmp2=ADCH;
	}
	else
	{
		tmp1=ADCH;
	}
	ADMUX^= 1;
	ADCSRA|= _BV(ADSC);
}

int main(void)
{
	timer_init();
	ADC_init();
	DDRC=0x00;
	PORTC=0x00;
	DDRD=1;
	PORTD=0;
	sei();
	ADCSRA|= _BV(ADSC);
	while(1)
	{

		while(tmp1<=500 || tmp2<=500)   //swiatło świeci
		{

			while(tmp1-tmp2>10)   //światło na lewym mocniejsze
			{
				OCR1A=256;
				OCR1B=0;
			}
			while(tmp2-tmp1>10)   //na prawym
			{
				OCR1A=0;
				OCR1B=256;
			}
			while((tmp1-tmp2<=10) )		// nieduża różnica
			{
				OCR1A=128;
				OCR1B=128;
			}
			OCR1A= 0;
			OCR1B= 0;
		}
	}
}

Schemat:

forum.thumb.png.66740b435f2d044edee1085c997b8706.png

 

Link do komentarza
Share on other sites

(edytowany)

@Treker Okej rozumiem że to błąd, nie w tym problem. Póki co, do mikrokontrolera zamiast silników podłączyłem diody i okazało się że prąd nawet nie płynie. Stąd zastanawiam się, czy wina leży w kodzie, np błędna inicjacja, czy w płytce, przez co mikrokontroler nie może działać poprawnie

Edytowano przez m471
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.