-
        

Ergebnis 1 bis 2 von 2

Thema: GP2D05 funktioniert nicht

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    13.08.2004
    Beiträge
    11

    GP2D05 funktioniert nicht

    Anzeige

    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.)
    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);      
      }
      
     }
       
          
       
    }
    Weiß jemand ob diese Pinbelegung des Sensores richtig ist ?
    http://www.superrobotica.com/S320100.htm

    danke henrik

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    17.04.2006
    Beiträge
    2.193
    Ausser dass Du den Eingang (PA2) als Ausgang definiert hast, ist mir auf den ersten Blick nichts verwerfliches aufgefallen. Ich bevorzuge bei solchen Sachen immer die Benutzung eines Oszilloskops, es ist ärgerlich, die Peripherie zu verdächtigen, wenn der uC gar nicht arbeitet (am "besten" noch, weil ein fuse bit falsch gesetzt ist)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •