- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 27

Thema: RP6 Fotowiderstand

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von Dirk
    Registriert seit
    30.04.2004
    Ort
    NRW
    Beiträge
    3.803
    Marian Otte:
    Den INTERNEN Pullup abschalten falls der an sein sollte. Kann mir jemand dazu eine genaue anleitung geben bitte ...
    Ich hatte dir ja die Anleitung zur M32 ab Seite 18 empfohlen: Auf Seite 19 oben wird beschrieben, wie man die internen Pullup-Widerstände aktivieren (umgekehrt auch deaktivieren) kann.

    Der Widerstandswert sollte natürlich passend zum Wert des LDR sein. Was heißt das?
    Der Widerstand sollte in etwa so groß sein, wie der Widerstandswert des LDR bei einer mittleren Helligkeit. Ideal wäre, wenn das DIE Helligkeit ist, die fast in der Mitte zwischen der Helligkeit auf der Linie und NICHT auf der Linie liegt.
    Gruß
    Dirk

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    27.11.2012
    Beiträge
    52
    kann mir jemand schnell ein beispielprogramm mit diesen pins geben ich schaffe das mit dem deklarieren und dem richtigen schreiben noch nicht so. Bin noch am lernen

    Danke schon mal im Voraus

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    27.11.2012
    Beiträge
    52
    danke und jetzt noch mal zu dem programm wie schreibe ich das jetzt in ein programm habe das schon versucht klappt aber nicht muss ich noch irgewas deklarieren oder muss ich die makefile ändern bin total hilflos.
    Danke

  4. #4
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Die Pins von ADC0 und ADC1 sollten nach einem Reset immer noch als Eingang konfiguriert sein, deshalb kannst du die Werte ohne zusätzliches Setup einlesen. Allerdings benötigst du dazu einen externen Spannungsteiler (gebildet aus dem Fotowiderstand und einem zusätzlichen Reihenwiderstand). Beispielhaft die Beschaltung der orginalen LDRs beim RP6(V1):
    Bild hier  

    Eine einfachere Lösung wäre den LDR direkt zwischen Pin und GND anzuschliesen und den internen PullUp des Pins zu aktivieren. Ob das funktioniert kann ich nicht sagen. Der interne Pullup hat ca. 20-50 kOhm und wird für ADC0 und ADC1 so aktiviert:

    Code:
    	DDRA &= ~0b00000011; // Datenrichtung ADC0 und ADC1 ist Eingang
    	PORTA |= 0b00000011; // interne PullUps aktivieren
    Bei der ersten Lösung steigt der eingelesene Wert mit der Helligkeit, bei der zweiten Lösung sinkt er bei steigender Helligkeit.

    Gruß

    mic
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken rp6-ldr.jpg  
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    27.11.2012
    Beiträge
    52
    danke und welchle libarys muss ich jetzt nehmen um diesen befehl zu schreiben zu können und was muss ich deklarieren? Muss ich was in der Makefile ändern? und kann mir jeman noch mal den ganzen programmcode geben.

    Danke
    Geändert von Marian Otte (12.12.2012 um 18:49 Uhr)

  6. #6
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Du hast immer noch nicht beschrieben, wie genau du die LDR angeschlossen hast. Zusätzliche Libs oder Änderungen im Makefile brauchst du aber bei keinem der Ansätze. Das passende Programm hast du ja schon gepostet.
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    27.11.2012
    Beiträge
    52
    und was muss ich jetz da einfügen? Die LDR's habe ich direkt an die adc ports angeschlossen an pin 3 und 2.

    Danke

    Marian Otte

  8. #8
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    62
    Beiträge
    5.799
    Blog-Einträge
    8
    Hallo

    Pin 2 und 3 sind GND und ADC-Pin:

    Bild hier  

    Das wäre dann die Variante mit aktivierten PullUp:

    Code:
    #include "RP6RobotBaseLib.h"
    
    // Achtung! Die PWM-Werte werden hier OHNE Rampe verändert!
    void setMotorPWM(uint8_t power_links, uint8_t power_rechts)
    {
    extern uint8_t mleft_ptmp, mright_ptmp;
    
    	if(power_links > 210) power_links = 210;
    	if(power_rechts > 210) power_rechts = 210;
    	mleft_power=mleft_ptmp=power_links;
    	mright_power=mright_ptmp=power_rechts;
    
    	OCR1BL = power_links;
    	OCR1AL = power_rechts;
    
    	if(power_links || power_rechts)
    		TCCR1A = (1 << WGM11) | (1 << COM1A1) | (1 << COM1B1);
    	else
    		TCCR1A = 0;
    }
    int main(void)
    {
    	initRobotBase();
    	DDRA &= ~0b00000011; // Datenrichtung ADC0 und ADC1 ist Eingang
    	PORTA |= 0b00000011; // interne PullUps aktivieren
    
    	while(1)
    	{
    		writeInteger(readADC(ADC_ADC0), 10);
    		writeString_P(" - ");
    		writeInteger(readADC(ADC_ADC1), 10);
    		writeString_P("\n\r");
    		if (readADC(ADC_ADC1)) > (readADC(ADC_ADC0))
    		   setLEDs(4);
    			setMotorPWM(100,50);
    		}
    		else
    		{
    			setLEDs(32);
    		   setMotorPWM(50,100);
    		}
    		mSleep(100);
    	}
    	return(0);
    }
    (ungetestet)

    Gruß

    mic
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken rp6-adc0.jpg  
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Fotowiderstand als Lichtsensor - Überlegungen
    Von TomEdl im Forum Elektronik
    Antworten: 4
    Letzter Beitrag: 08.04.2009, 23:09
  2. Fragen zum Fotowiderstand
    Von mychoice79 im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 25.10.2006, 22:38
  3. Welchen Fotowiderstand
    Von Reeper im Forum Sensoren / Sensorik
    Antworten: 8
    Letzter Beitrag: 19.07.2006, 23:55
  4. Fotowiderstand am Analogport
    Von LazyBee im Forum PIC Controller
    Antworten: 4
    Letzter Beitrag: 19.05.2006, 19:40
  5. Fototransistor/Fotodiode/Fotowiderstand ??
    Von seitenmaster im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 09.06.2005, 09:58

Berechtigungen

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

12V Akku bauen