ADC0 größer als ADC0?
if (readADC(ADC_ADC0)) > (readADC(ADC_ADC0))
ADC0 größer als ADC0?
if (readADC(ADC_ADC0)) > (readADC(ADC_ADC0))
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
Hallo,
NUR die LDRs?Dann habe ich die LDR an adc0 und adc1 angeschlossen
Siehe Schaltung der LDRs im RP6 Schaltplan um zu sehen wie man es machen muss (Spannungsteiler).
Den INTERNEN Pullup abschalten falls der an sein sollte.
Der Widerstandswert sollte natürlich passend zum Wert des LDR sein.
MfG,
SlyD
Hallo,
Den INTERNEN Pullup abschalten falls der an sein sollte.
Kann mir jemand dazu eine genaue anleitung geben bitte da der Roboter am Freitag laufen muss und die Linie auch erkennen sollte
Der Widerstandswert sollte natürlich passend zum Wert des LDR sein. Was heißt das?
Marian Otte: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.Den INTERNEN Pullup abschalten falls der an sein sollte. Kann mir jemand dazu eine genaue anleitung geben bitte ...
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.Der Widerstandswert sollte natürlich passend zum Wert des LDR sein. Was heißt das?
Gruß
Dirk
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
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
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:
Bei der ersten Lösung steigt der eingelesene Wert mit der Helligkeit, bei der zweiten Lösung sinkt er bei steigender Helligkeit.Code:DDRA &= ~0b00000011; // Datenrichtung ADC0 und ADC1 ist Eingang PORTA |= 0b00000011; // interne PullUps aktivieren
Gruß
mic
Bild hier
Atmel’s products are not intended, authorized, or warranted for use
as components in applications intended to support or sustain life!
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)
Lesezeichen