-         

Ergebnis 1 bis 4 von 4

Thema: [Schon Gut] MEGA32 ADC2 und 3 auslesen?

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    24.01.2009
    Beiträge
    76

    [Schon Gut] MEGA32 ADC2 und 3 auslesen?

    Anzeige

    Hallo,
    ich denke mal das is für euch profis kein prob.
    ich will die werte vom ADC2 und ADC 3 auslesen und auf meine LCD display wieder geben könnt ihr mit helfen?
    wäre euch echt dank bar
    ---------------------------------
    ******korigire***********
    Mein LCD is grade duch geraucht warum auch immer 30 € im ars**
    was solls
    meine Neu Frage ist :
    Könnt ihr mir helfen das er bei einen mess wert von 0.2 V LED1 vom MEGA32 anmacht (messwert vom ADC3)

    LG
    Christian

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo Christian,

    es gibt das Demo Programm "RP6Control_05_IO_ADC.c", das gut zeigt, wie ADCs der M32-Karte ausgelesen und die Werte angezeigt werden.
    Wenn du unter/über 0,2 Volt irgend etwas (z.B. eine LED) schalten willst, mußt du den ADC-Wert mit 41 vergleichen.

    Gruß Dirk

    P.S.: Selbst ist der Mann!

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    24.01.2009
    Beiträge
    76
    ok thx für den tipp
    ich hab jetzt volgenes:

    Code:
    #include "RP6ControlLib.h" 
    
    int main(void)
    {
    	initRP6Control(); 
        sound(225,142,44);
    	sound(125,70,20);
    	mSleep(400);
    	setLEDs(0b0000);
    
    
    	
    	
    	DDRA &= ~ADC3;
    	DDRA &= ~ADC2;
    
    	while(true) {
    		writeString_P("\nADC3: ");
    		uint16_t adc3 = readADC(ADC_3); // Read ADC Channel 3
    		writeInteger(adc3, DEC);
    		writeString(" | ADC2: ");
    		uint16_t adc2 = readADC(ADC_2); // Read ADC Channel 2
    		writeInteger(adc2, DEC);
    		writeChar('\n');
    		mSleep(500);
    	}
    	return 0;
    }
    so mein prob is volgenes ich weiß nicht wie ich z.b beim es schaffe das wenn ADC2 beim wert 0bis 10 eine led anmacht und beim wert
    300 bis 350 2 leds anmacht und bei 600bis 650 4 leds anmacht sry aber ich weiß es wirklich nicht

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.791
    Hallo Christian,

    tu mal Folgendes in deine Schleife zwischen writeChar('\n') und mSleep(500) :
    Code:
    	if (adc2 <= 10) {
    		externalPort.LED1 = true;
    	}
    	
    	if ((adc2 >= 300) && (adc2 <= 350)) {
    		externalPort.LED1 = true;
    		externalPort.LED2 = true;
    	}
    	
    	if ((adc2 >= 600) && (adc2 <= 650)) {
    		externalPort.LED1 = true;
    		externalPort.LED2 = true;
    		externalPort.LED3 = true;
    		externalPort.LED4 = true;
    	}
        
    	if (((adc2 > 10) && (adc2 < 300))
    	 || ((adc2 > 350) && (adc2 < 600))
    	 || (adc2 > 650)) {
    		externalPort.LED1 = false;
    		externalPort.LED2 = false;
    		externalPort.LED3 = false;
    		externalPort.LED4 = false;
    	}
    	outputExt();
    Nicht getestet!

    Gruß Dirk

Berechtigungen

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