Skocz do zawartości
m471

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

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

 

Udostępnij ten post


Link to post
Share on other sites

@m471 czy naprawdę, zgodnie ze schematem, podłączyłeś silniki bezpośrednio do mikrokontrolera?

Udostępnij ten post


Link to post
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

Udostępnij ten post


Link to post
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!

Gość
Napisz odpowiedź...

×   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...