Hallo Ich versuche greade den GP2D05 von Sharp zum laufen zu bekommen aber irgendwie klappt das nicht.
Zur Ansteuerung des Sensores:
Vin muss 56ms lang auf low gestellt sein und dann kann man über
Vout ablesen ob sich ein Gegenstand in Reichweite des Sensores befindet.
(Low ja es befindet sich ein Gegenstand in Reichweite)
Mein Programm sieht folgendermaßen aus:
(eine LED am PortA3 soll leuchten wenn ein Gegenstand in Reichweite
ist, aber sie leichtet immer auf.)
Weiß jemand ob diese Pinbelegung des Sensores richtig ist ?Code:/* Standard Includes */ #include <compat/deprecated.h> #include <inttypes.h> #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000UL #include <util/delay.h> int main(void) { DDRA = 0b01011111; for (;;) { PORTA = PORTA | ( 1<<PA1 ); //Vin high PORTA &= ~(1<<PA3); //LED aus PORTA &= ~(1<<PA1); // Porta1 / Vin auf low _delay_ms(56); if ( !(PINA & (1<<PINA2)) ) //wenn pinA2 auf low ist { PORTA = PORTA | ( 1<<PA3 ) ; //pa3 high setzten -led an } PORTA = PORTA | ( 1<<PA1 ); //Porta1 auf High for (int i=1; i<=16; i++) { _delay_ms(62.5); } } }
http://www.superrobotica.com/S320100.htm
danke henrik







Zitieren

Lesezeichen