- 12V Akku mit 280 Ah bauen         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 18 von 18

Thema: ADC Probleme

  1. #11
    Erfahrener Benutzer Robotik Einstein Avatar von Felix G
    Registriert seit
    29.06.2004
    Ort
    49°32'N 8°40'E
    Alter
    41
    Beiträge
    1.780
    Anzeige

    E-Bike
    Wenn der µC sonst nichts zu tun hat kann man natürlich auch auf Interrupts verzichten, stimmt schon

    Ich ging halt davon aus, daß der µC mehr als eine Aufgabe hat
    So viele Treppen und so wenig Zeit!

  2. #12
    Benutzer Stammmitglied
    Registriert seit
    11.12.2005
    Ort
    Chemnitz
    Alter
    35
    Beiträge
    87
    Wie ist denn der COde für deine Funktion dann nun insgesamt?
    Muss mit dem Teil möglichst schnell (innerhalb der nächsten Tage) einen sharp-entfernungsmesser auslesen und der µC soll auch noch was machen während er auf den ACD wartet... bitte helft mir

    MfG dark_flash
    Signatur:
    Bild hier  

    Sowas find ich absolut faszinierend!

  3. #13
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    119
    Wie ist denn der COde für deine Funktion dann nun insgesamt?
    Muss mit dem Teil möglichst schnell (innerhalb der nächsten Tage) einen sharp-entfernungsmesser auslesen und der µC soll auch noch was machen während er auf den ACD wartet... bitte helft mir

    MfG dark_flash
    Code:
    uint16_t getADC(uint8_t pin);					
    
    * main program 
    */    
    {
       /* define port a as imput ( A/D-converter inputs ) */
       DDRA = 0x00;
       PORTA = 0x00;
       int s1 = getADC(0);
    }
    
    uint16_t getADC(uint8_t pin)
    {
    	uint16_t adc_value = 0;
    	
    	// min Prescaler = µC Frequ / 200 KHz & max Prescaler = µC Freq. / 50 khz = min 80 & max 320
    	ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); // Prescalar = 128
    	
    	ADMUX = pin;
    	ADMUX |= (1<<REFS1) | (1<<REFS0); // use internal voltage
    	ADCSRA |= (1<<ADSC);
    	
    	while (!(ADCSRA & (1<<ADIF)));	// wait for finish converting ADIF bit
    	adc_value = ADCW; 					// read result 
    	ADCSRA = (1<<ADIF);				// delete ADIF, cause it could trigger an ISR		
    	
    	return adc_value;					// return result
    }
    Also in der MAin wird die Methode mit dem Port aufgerufen, an welchem gemessen werden soll... sonst ist eigentlich alles kommentiert...oder gibt es nocht Fragen ?

    MfG

    Alex

    PS: Allen Usern noch ein gesundes neues Jahr 2006 ! \/

  4. #14
    Benutzer Stammmitglied
    Registriert seit
    11.12.2005
    Ort
    Chemnitz
    Alter
    35
    Beiträge
    87
    danke für die Funktion, aber der Wert der ausgegeben wird ist doch ein Integer oder? Wie kann ich den in einen String umwandeln, der mir auf einem LCD angezeigt wird?
    Signatur:
    Bild hier  

    Sowas find ich absolut faszinierend!

  5. #15
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    119
    danke für die Funktion, aber der Wert der ausgegeben wird ist doch ein Integer oder? Wie kann ich den in einen String umwandeln, der mir auf einem LCD angezeigt wird?
    kommt drauf an wie du deine Ausgabe realisierst, ich habe zB. für eine ausgabe über die RS232 die Printf-funktion benutzt und somit kann man es wunderschön wzb. so benutzen:

    Code:
    int wert = 1234;
    printf("Wert = %i", wert);
    oder du benutzt
    Code:
      char mychar_array[4];
      char *p_mychar_array = mychar_array;
      itoa(wert,p_mychar_array,4);
    ist jetzt nicht getestet aber sollte funktionieren ...

    MfG

    Alecs[/code]

  6. #16
    Benutzer Stammmitglied
    Registriert seit
    11.12.2005
    Ort
    Chemnitz
    Alter
    35
    Beiträge
    87
    mmh werds ausprobieren wenn ich wieder zuhause bin...
    Danke erstmal aber da fällt mir ein... Kann ich einenn SHarp-entfernungsmesser GP2D12 einfach so an den Pin des Mega 32 hängen?

    Danke,MfG Sebastian
    Signatur:
    Bild hier  

    Sowas find ich absolut faszinierend!

  7. #17
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.09.2004
    Beiträge
    119
    Kann ich einenn SHarp-entfernungsmesser GP2D12 einfach so an den Pin des Mega 32 hängen?
    eigentlcih schon, hab gerade noch mal den Schaltplan vom RN-Control angeschaut und dort ist PORT A auch direkt auf den µC gezogen...

    Viel Erfolg

    MfG

    Alecs

  8. #18
    Benutzer Stammmitglied
    Registriert seit
    11.12.2005
    Ort
    Chemnitz
    Alter
    35
    Beiträge
    87
    Sooo wir haben den ADC jetzt am Laufen danke für die Tips...
    Signatur:
    Bild hier  

    Sowas find ich absolut faszinierend!

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

Solar Speicher und Akkus Tests