Guten Abend, Ich hoffe ihr könnt mir helfen. Ich habe noch nicht angefangen das Programm zu schreiben. Ich habe ein Arduino nano Atmega328P. Ich würde gerne zwei Schaltungen machen. Ich habe 3 Taster mit Led Beleuchtung und eine Relais Karte mit zwei Relais auch extra für Mikrocontroller. Mit den ersten Taster will ich das erste Relais einschalten und ausschalten, wenn das Relais einschaltet soll die LED auch angehen vom Taster 1. Mit den zweiten Taster will ich das zweite Relais einschalten und da soll die LED von zweiten Taster angehen. Mit den dritten Taster will ich das zweite Relais wieder ausschalten und dann soll die LED aber von dritten Taster angehen wenn das Relais aus ist. Die zweite Schaltung soll aber nur gehen wenn das erste Relais eingeschaltet hat. Angeschlossen habe ich es so: D3 LED dritte Taster D4 LED zweiter Taster D5 LED erster Taster D6 Taster drei mit widerstand D7 Taster zwei mit widerstand D8 Taster eins mit Widerstand D9 Relais 1 D10 Relais 2 Ich hoffe Ihr könnt mir sagen wie ich das schreiben soll. Gruß Michi
Michi schrieb: > Ich hoffe Ihr könnt mir sagen wie ich das schreiben soll. Können schon, aber ob wir wollen? Ich weiss nicht ....
Dafür gibt's doch sicher schon einen Sketch. Einfach mal danach googeln.
Michi schrieb: > Ich hoffe Ihr könnt mir sagen wie ich das schreiben soll. Klar! Du möchtest eine Ablaufsteuerung bauen... So richtig, mit entprellen der Taster und dem ein, oder anderen, endlichen Automaten.
Genau. Gegoogelt habe ich schon aber irgendwie werde ich nicht so schlau daraus. Leider ist das nicht so einfach finde ich, ich arbeite ja gerne mit SPS Logo damit habe ich keine Probleme Aber mit dieser Programmier Sprache habe ich meine Schwierigkeiten :D Ich habe ja nur gefragt ob mir vielleicht einer beim Programm schreiben helfen kann. Wäre echt nett weil ich das nicht hinkriege so richtig. Ich hatte zwar was im Arduino Forum gefunden um das zweite Relais mit ein Taster ein zu schalten und mit den zweiten aus aber ich würde gerne noch die erste Schaltung dazu machen das ich das erste Relais mit ein Taster ein und ausschalten kann aber das kriege ich nicht hin. Wäre dankbar für jede Hilfe. Gruß Michi
Michi schrieb: > Ich hoffe ihr könnt mir helfen. Erstmal würde es helfen, den Deutschunterricht in der Schule etwas ernster zu nehmen, das liest sich übel. > Ich habe noch nicht angefangen das Programm zu schreiben. Frage hier nicht nach einer fertigen Lösung, sondern erarbeite Dir selbst die Grundlagen. Es gibt im Internet jede Menge Schulscripte zu finden, beginne mit Blinken, Lauflicht, per Taste eine LED schalten und so weiter. Mikroprozessor und -controller hatte ich auf dem Tisch, lange bevor es Internet gab und Arduino überhaupt unvorstellbar war. Ich habe mich gefreut, dass ich nach mehreren Tagen Arbeit eine LED ein- und ausschalten konnte. Als ich mir dann mal einen Arduino gekauft habe, habe ich genau auf diesem Niveau wieder angefangen, mir Grundlagen zu erarbeiten. Wer das nicht will oder einsehen mag: Schnurzi Furzi schrieb: > Können schon, aber ob wir wollen?
Manfred schrieb: > Michi schrieb: > Ich hoffe ihr könnt mir helfen. > > Erstmal würde es helfen, den Deutschunterricht in der Schule etwas > ernster zu nehmen, das liest sich übel. > > Ich habe noch nicht angefangen das Programm zu schreiben. > > Frage hier nicht nach einer fertigen Lösung, sondern erarbeite Dir > selbst die Grundlagen. Es gibt im Internet jede Menge Schulscripte zu > finden, beginne mit Blinken, Lauflicht, per Taste eine LED schalten und > so weiter. > Mikroprozessor und -controller hatte ich auf dem Tisch, lange bevor es > Internet gab und Arduino überhaupt unvorstellbar war. Ich habe mich > gefreut, dass ich nach mehreren Tagen Arbeit eine LED ein- und > ausschalten konnte. Als ich mir dann mal einen Arduino gekauft habe, > habe ich genau auf diesem Niveau wieder angefangen, mir Grundlagen zu > erarbeiten. > > Wer das nicht will oder einsehen mag: > Schnurzi Furzi schrieb: > Können schon, aber ob wir wollen? Alles klar danke für die Hilfe.. Dann muss ich das selbst herausfinden. Schönen Abend!
Michi schrieb: > Dann muss ich das selbst herausfinden. Was erwartest du von uns/mir? Das lernen können wir dir nicht abnehmen.....
Schon ok. Habt ja recht. Muss ich selbst halt herausfinden wie das funktioniert . Ich habe gefragt ob mir da jemand hilft. Aber egal ich hol mir halt ein Buch dazu und versuche mein Glück. Ansonsten muss ich wieder auf SPS umsteigen haha. Wollte nur ein Mikrocontrollerboard nehmen wegen der kleinen Größe. Gruß Michi
Überlege dir erstmal wie du das ganze einem Roboter erklären würdest mit ein paar befehlen: Wenn blablabla, mache bliblablub Lese Pin x Setze Pin x auf y
Michi schrieb: > Schon ok. Habt ja recht. Muss ich selbst halt herausfinden wie das > funktioniert . Ich habe gefragt ob mir da jemand hilft. Aber egal ich > hol mir halt ein Buch dazu und versuche mein Glück. Ohne Grundlagen wird nichts klappen. "Arduino Fanboy (ufuf)" hat seinen Nick nicht zufällig gewählt, Arduino macht richtig Spaß, wenn man sich erstmal eingearbeitet hat. > Ansonsten muss ich wieder auf SPS umsteigen. Das sind ja nun zwei ziemlich unterschiedliche Welten. Ich habe eine erheblich lange Erfahrung mit digitalen Schaltungen auf IC-Ebene. Als ich dann mal mit Kontaktplänen und Anweisungslisten konfrontiert wurde, hatte ich erhebliche Schwierigkeiten, deren Denkweise zu erkennen und umzusetzen. Wenn mich denn ein Kollege anruft, weil er einen KOP nicht auf die Reihe bekommt ... immer eine schwere Geburt. Kämpfe Dich durch, mit Arduino kann man sehr viel und das zu einem Bruchteil der SPS-Preise. Nachteil ist natürlich, dass es keine nach xx-Norm zertifzierten Interfaces gibt - Deine SPS oder Logo kannst Du bedenkenlos auf die Hutschiene setzen, den Arduino nicht.
Es helfen Dir sicher viele, aber Du musst halt anfangen, Code posten und dann schildern wo genau es hakt..
Wenn du hilfe brauchst wirst du sie hier auch bekommen, aber deine Frage klingt sehr nach "schreibt mir das (bitte)"... Das wird hier aber keiner machen. Wenn du (je nach lernbereitschaft) in ca. einer Woche dein bisheriges Programm zeigst, wirst du innerhalb weniger Minuten genug Antworten haben um eine weitere Woche deine Fehler zu korrigieren. Also fang mit pinMode(x, INPUT) an, mache mit digitalRead(x) weiter und gib das mit digitalWrite(x1) aus. Wenn du das verstanden hast google Variablen (bool, int, ...). Wenn du auch das verstanden hast verstehe if(x){}. Wenn du all das glaubst zu verstehen kannst du hier ernsthaft um Hilfe fragen, und dann wird das auch was mit deinem Projekt.
Michi schrieb: > Ich habe gefragt ob mir da jemand hilft. Soll nicht das Problem sein! Von mir kann ich sagen, dass ich gerne auf konkrete Fragen antworte. Aber ich lese weder das ganze C++ Buch vor, noch habe ich besonderen Elan dabei anderen die Software für Lau zu schreiben. Wenn ich es dir schreiben würde, würdest du es vermutlich nicht verstehen. Du würdest dann für einen Tag satt werden. Aber mehr auch nicht. Also hätte ich die Arbeit, und du vermutlich nix/wenig (oder gar das falsche) gelernt. Nebenbei: So ganz habe ich deinen Text nicht verstanden. Das erste Relais wird also nie wieder abgeschaltet?
eigentlich steht für dein Problem alles in den Beispiel Programmen. Du musst dir angucken wie man einen Eingang abfragt und wie man eine Led bzw bei dir ein Relais ansteuert. Da ist zb das blink-sketch hilfreich. Hier wie man dann die Bedingungen gestaltet. https://www.arduino.cc/reference/en/language/structure/control-structure/if/ Wenn Taster 1 High, dann so und so..
Der Button.ino sketch könnte dir auch helfen. Einfach anstatt direkt die Led anzusteuern eine Variable umschalten und dann je nach Variablenwert das Relais anziehen oder nicht. Wenn du den Taster drückst, dann kannst du die Variable auf 1 setzen und wenn wieder der Taster gedrückt wird, dann setzt du die Variable auf 0.
1 | // constants won't change. They're used here to set pin numbers: |
2 | const int buttonPin = 2; // the number of the pushbutton pin |
3 | const int ledPin = 13; // the number of the LED pin |
4 | |
5 | // variables will change: |
6 | int buttonState = 0; // variable for reading the pushbutton status |
7 | |
8 | void setup() { |
9 | // initialize the LED pin as an output: |
10 | pinMode(ledPin, OUTPUT); |
11 | // initialize the pushbutton pin as an input: |
12 | pinMode(buttonPin, INPUT); |
13 | } |
14 | |
15 | void loop() { |
16 | // read the state of the pushbutton value: |
17 | buttonState = digitalRead(buttonPin); |
18 | |
19 | // check if the pushbutton is pressed. If it is, the buttonState is HIGH: |
20 | if (buttonState == HIGH) { |
21 | // turn LED on: |
22 | digitalWrite(ledPin, HIGH); |
23 | } else { |
24 | // turn LED off: |
25 | digitalWrite(ledPin, LOW); |
26 | } |
27 | } |
Thomas schrieb: > // check if the pushbutton is pressed. If it is, the buttonState is > HIGH: aber nur wenn der "button" nach +VCC verschaltet ist. besser wäre aber pullup nach VCC und "button" schaltet nach GND. Der pullup begrenzt den Strom falls mal ein Kurzschluß vorliegt oder der Port auf Ausgang low steht, die Abfrage sollte dann auf: > // check if the pushbutton is pressed. If it is, the buttonState is > LOW: lauten https://www.mikrocontroller.net/attachment/105395/Dip-Schalter.png Beitrag "Taster an Ports"
:
Bearbeitet durch User
Michi schrieb: > Angeschlossen habe ich es so: > ... Dann zeige mal deinen Schaltplan (und bitte nicht so ein Stecken-nach-Zahlen Bild). Anhand des Textes kann kein Mensch erkennen, was genau wie dran hängt. Die Sprache der Elektronik ist nun mal ein Schaltplan. Wenn der Schaltplan ok ist, kann man sich um die Initialisierung im Programm kümmern. Und dann kannst du dich mit Tastenentprellung und FSM beschäftigen. https://de.wikipedia.org/wiki/Endlicher_Automat
Als der Stab des Papstes austrieb, war Tannhäuser längst wieder im Venusberg. Und er hatte dort viel Spaß!
Leute er hat ne simple Aufgabenstellung und ihr kommt da mit Endlichen Automaten und ähnlicher Theorie. Da blickt doch ein Anfänger nicht durch. Er hat nicht vor E-Technik zu studieren, sondern will mit einem Taster ein Relais ansteuern. Das geht mit Arduino ähnlich schwer wie lego zusammen bauen.
Hans schrieb: > Leute er hat ne simple Aufgabenstellung und ihr kommt da mit > Endlichen > Automaten und ähnlicher Theorie. > Da blickt doch ein Anfänger nicht durch. Er hat nicht vor E-Technik zu > studieren, sondern will mit einem Taster ein Relais ansteuern. Das geht > mit Arduino ähnlich schwer wie lego zusammen bauen. Ich denke er meinte mit "E-Technik" die Informatik! Aber ein wenig Theorie der Informationsverarbeitung gehört dazu, um eine saubere, d.h. funktionierende Lösung, zu beschreiben. Ja Schreiben auf Papier gehört zu Modellierung der Aufgabenbeschreibung. Bisher weis auch keiner, warum der TO das so machen will.
Hans schrieb: > und ihr kommt da mit Endlichen Automaten Ob er will oder nicht... Ob er weiß, oder nicht ... Oder gar schon kennt.. Wie auch immer: Ich behaupte mal, dass Arduinoprogramme, welche das tun, was sie tun sollen, (nahezu) allesamt endliche Automaten sind. Und das völlig unabhängig davon, ob derjenige das beabsichtigt hat, oder auch nicht. Aus dem Blickwinkel betrachtet, dürfe es kein Fehler sein, sich ein klein wenig mit der Theorie zu befassen. Tipp: 1. (fast) Alles wurde schon gedacht. 2. Es tut keine Not das Rad neu zu erfinden, denn es wird nicht runder davon.
Arduino F. schrieb: > Es tut keine Not das Rad neu zu erfinden, denn es wird nicht runder > davon. Wer sagt, das es das sein muss? https://www.sport1.de/actionsport/2016/12/eckig-rollt-besser-shark-wheel-erfindet-das-rad-neu :-)
Ich kann bisserl coden. Wenn Du nicht weiter kommst, sag mal Bescheid. Hast Du die Arduino IDE schon am Laufen?
Dieter F. schrieb: > Arduino F. schrieb: >> Es tut keine Not das Rad neu zu erfinden, denn es wird nicht runder >> davon. > > Wer sagt, das es das sein muss? > > https://www.sport1.de/actionsport/2016/12/eckig-rollt-besser-shark-wheel-erfindet-das-rad-neu > > :-) Hmm, bei den Mythbusters hatte das nicht so gut geklappt: https://youtu.be/CIN8Q_4iaxU?t=248
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.