Signal mit Batterie an Analogeingang?

Hallo,

ich habe folgendes vor und wollte eure Meinung dazu wissen, ob man dies überhaupt mit dem Arduino UNO durchführen kann:

Ich möchte eine LED ansteuern, angeschlossen an GND und PIN 12, die vorerst nichts anzeigt (LOW). Als Signalgeber habe ich 4 in Reihe geschaltene Batterien mit einem Taster verbunden und wollte die an GND und Analog 0 anschließen. Sobald ich den Taster drücke, soll Arduino merken: "Strom an Analogeingang 0, schalte LED an(HIGH)".

Ist dies so umsetzbar und wie verkraftet Arduino 6V/2400mAh?

Ich würde einen Spannungsteiler vorschalten, damit max. 5 V an den Eingang kommen und gleichzeitig ein Pulldown dran ist.

Für was möchtest du die 6V benutzen?

Der Arduino verträgt maximal 5,5V und gleichzeitig darf die angelegte Spannung nicht höher als die Versorgungsspannung + 0,5V sein. Mit den 6V killst du zumindest auf Dauer deinen Arduino. Wie EIEspanol vergeschlagen hat, einen Spannungsteiler benutzen!

Hallo,

versorge lieber das Board ordentlich mit Spannung wie es sich gehört. Aktiviere den internen Pullup vom gewählten Eingang, klemme den Taster gegen Masse und frage auf LOW ab. Das ist allgemeiner Standard.

Wait8: Ich möchte eine LED ansteuern, angeschlossen an GND und PIN 12, die vorerst nichts anzeigt (LOW).

Ohne Widerstand wirst du den Port und/oder die LED zerstören.

Doc_Arduino: Hallo,

versorge lieber das Board ordentlich mit Spannung wie es sich gehört. Aktiviere den internen Pullup vom gewählten Eingang, klemme den Taster gegen Masse und frage auf LOW ab. Das ist allgemeiner Standard.

Der TE will doch den Ladezustand der Batterie abfragen. So habe ich es zumindest verstanden. Edit: ich bezog mich hierauf

Und dieser Wunsch schützt Port/Pin oder die LED?

obigen Post editiert

Danke für eure Antworten.

LED mit Vorwiderstand habe ich bereits angeschlossen und wird von Arduino erfoglreich angesteuert.

Was ich eigentlich will, ist ein Signal beim Analogeingang, worauf hin die LED dann das leuchten anfängt. Da ich nicht wusste, wie ich am besten ein Signal herbekomme, habe ich gedacht, dass ich ein Batteriepack mit einem Schalter versehen und damit das Signal auf das Arduino übertrage.

Oder gibt es eine andere Möglichkeit dem Arduino zu sagen, dass ein Taster gedrückt wird und die LED am Ausgang das leuchten anfängt?

Wenn ich den Taster an GND und Analogeingang 0 anschließe, dann merkt doch das Arduino gar nicht ob die Taste gedrückt wird oder nicht?

Hast du #3 überlesen?

Nimm einen digitalen Eingang, betreibe den mit INPUT_PULLUP und lasse den Taster nach GND schließen, wenn du den Taster dann liest, enspricht HIGH nicht gedrückt, LOW gedrückt.

Wait8: Wenn ich den Taster an GND und Analogeingang 0 anschließe, dann merkt doch das Arduino gar nicht ob die Taste gedrückt wird oder nicht?

Wenn du den Eingang "A0" als digital definierst, arbeitet dieser auch wie ein digitaler Eingang und dann kannst du die Beschaltung wie in Post #3 und in Post #9 nochmals wiederholt, vornehmen.

Das funktioniert sicher und wird vielfach so genutzt.

@Hotsystems Ah ok, dann nutze ich einfach die beiden Codes: pinMode(A0, OUTPUT); digitalWrite(A0, HIGH);

@Whandall: Wenn ich aber Taster und LED beide an den digitalen GND schließen würde ohne einen Optokopller, dann hätte ich doch ein Masseproblem?

Nö.

Wenn du eine externe Batterie benutzt und GND nicht verbindest, dann ja.

Wait8: @Hotsystems Ah ok, dann nutze ich einfach die beiden Codes: pinMode(A0, OUTPUT); digitalWrite(A0, HIGH);

Du musst dir unbedingt die Grundlagen und Beispiele in der IDE durchlesen und bearbeiten.

Das funktioniert so nicht.

Grundlagen sind ein wesentlicher Bestandteil, die man selbst erarbeiten muss. Dass können wir dir nicht auch noch beibringen.

Aber damit du es testen kannst:

pinMode (Eingang, INPUT_PULLUP);

Eingang1_Value = digitalRead (Eingang);

Betrachte dies als Beispiel und verwende es mit deinen eigenen Bezeichnungen.

Und in einen System solltest du alle GND-Verbindungen zusammenschalten, es sei denn, du brauchst unbedingt eine Potentialtrennung.

Wait8: @Hotsystems Ah ok, dann nutze ich einfach die beiden Codes: pinMode(A0, OUTPUT); digitalWrite(A0, HIGH);

Auf keinen Fall, du produzierst einen Kurzschluss, wenn du den Schalter nach GND schließt. Im besten Fall gehen die Lichter aus, im schlechtesten brauchst du einen neuen Arduino.

->Unbedingt die Grundlagen durchackern

Danke für eure Antworten :)

Bei mir sieht der Code so aus und funktioniert: int Analog = 0;

void setup() {

pinMode(9, OUTPUT); //LED als Output pinMode(A0, INPUT_PULLUP); //Taster als input

}

void loop() { Analog = digitalRead (A0);

if (Analog == LOW) //Taster gedrückt { digitalWrite(9, HIGH); // LED an } else if (Analog == HIGH) //Taster nicht gedrückt { digitalWrite(9, LOW); //LED aus } }

Taster ist and GND und A0 angeschlossen.

Jetzt sollte der Code richtig sein und keinen Kurzschluss produzieren.

Wait8:
Jetzt sollte der Code richtig sein und keinen Kurzschluss produzieren.

Wenn kein Rauch aufsteigt und es funktioniert, ist es wohl alles richtig.

Und setze deinen Sketch bitte in Code-Tags, Schaltfläche </> oben links im Editor.

Ich halte Analog für einen sehr unglücklichen Namen für den Wert eines digitalen Pins, selbst wenn er über einen Pin eingelesen wird, der auch in der Lage ist analoge Werte zu lesen.

Dann nenne ich den lieber: Eingang_A0

Whandall: Ich halte Analog für einen sehr unglücklichen Namen für den Wert eines digitalen Pins, selbst wenn er über einen Pin eingelesen wird, der auch in der Lage ist analoge Werte zu lesen.

Da gebe ich Whandall recht,, das verbessert die Lesbarkeit und Verständlichkeit nicht gerade.

Noch als Info, du kannst als Eingang auch jeden beliebigen digitalen Pin, ausser D0 und D1 verwenden.