Arduino Mega2560 Verständnissfrage

#7508193
Lesenswert?

Hallo in die Runde und ich wünsche ein sonnigen Feiertag.

Hab hier einen Arduino Mega 2560 aufm Tisch liegen und an PIN 21 einen Taster angeschlossen, der eine LED PIN 34 zum leuchten bringen soll.

Laut Datenblatt und meiner Info hat der Chip interne PULLups, welche aktiviert werden "können".

  1. Am Eingang 21 (Taster) hab ich einen 27 K Pulldown dran und wenn der Pullup nicht aktiviert (pinMode(interruptPin, INPUT) ist hat der PIN 3,561 V und gedrückt natürlich 5 V

  2. Wenn ich den Pullup intern aktiviere (pinMode(interruptPin, INPUT_PULLUP), hat der Eingang 3,772 V und gedrückt 5V.

Hat jemand eine Idee, wo mein Fehler liegt bei Fall 1 ? Sollten ja 0 V sein mit dem Pulldown und nicht aktivierten Pullup.

Danke.

// Setze den Pin für die LED auf 13 const byte ledPin = 34; // Setze den Interruptpin auf 2 const byte interruptPin = 21; // Definiere eine globale volatile Variable für den Status der LED volatile byte state = LOW;

void setup() { // Lege den Pin für die LED als Outputpin fest pinMode(ledPin, OUTPUT); // Lege den Interruptpin als Inputpin mit Pullupwiderstand fest pinMode(interruptPin, INPUT_PULLUP); // Lege die ISR 'blink' auf den Interruptpin mit Modus 'CHANGE': // "Bei wechselnder Flanke auf dem Interruptpin" --> "Führe die ISR aus" attachInterrupt(digitalPinToInterrupt(interruptPin), blink, FALLING); }

void loop() { // Schreibe den Status der LED auf den LED-Pin zurück: // "Schalte die LED an oder aus" digitalWrite(ledPin, state); }

void blink() { // Invertiere den Status: "Lass die LED blinken von HIGH auf LOW/ an auf aus" state = !state; }

#7508210
Lesenswert?

Stefan F. schrieb:

Daniel E. schrieb:

Sieht nach meinen Recherchen irgendwie anders aus …

weiter rechts oben

Der Schaltplan ist ein zerstückeltes Suchbild. Aber verglichen mit dem, was hier des öfteren präsentiert wird, sieht der noch sehr gut aus.

Blöd gelaufen….

Vielen vielen Dank 👍 für die geistige Erleuchtung und einen schönen Feiertag noch und bis zum nächsten Problem 🫣

#7508233
Lesenswert?

Daniel E. schrieb:

Hab hier einen Arduino Mega 2560 aufm Tisch liegen und an PIN 21 einen Taster angeschlossen, der eine LED PIN 34 zum leuchten bringen soll.

Laut Datenblatt und meiner Info hat der Chip interne PULLups, welche aktiviert werden "können".

  1. Am Eingang 21 (Taster) hab ich einen 27 K Pulldown dran und wenn der Pullup nicht aktiviert (pinMode(interruptPin, INPUT) ist hat der PIN 3,561 V und gedrückt natürlich 5 V

Zusätzlicher Hinweis:
Taster benutzt man i.A. in "negativer Logik", d.h. Pull-up am Eingang und Taster zieht nach 0V.

https://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Pullup-Widerstand

Solange man die Platine nicht groß verlässt, und der Taster für den geringen Strom ausgelegt ist, reicht meist der interne Pull-up (ATtiny161x: typ. 35k, 20...50k).

Zitat zum dort veröffentlichen Beispielcode:
"Werden auf diese Art und Weise die AVR-internen Pullup-Widerstände aktiviert, so sind keine externen Widerstände mehr notwendig und die Beschaltung vereinfacht sich zu einem Taster, der einfach nur den µC-Pin mit GND verbindet."

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren