Hallo zusammen Ich beschäftige mich schon seit längerem mit dem Thema Microcontroller und bin Zuhause am rumtüfteln. Allerdings stehe ich vor einem grossen Problem (ich denke, für die Erfahrenen wird es leicht sein) das mich nicht mehr loslässt. Konkret ginge es um folgendes Problem: Ich möchte etwa im Gesamten 10 Schalter einsetzten, alle sind jedoch an der gleichen LED angeschlossen, sodass dann folglich immer nur diese brennt. Danach möchte ich noch jedem Taster einen Blinkmodi hinzufügen(z.B schnell blinken, langsam blinken usw). Im Gesamten wären es dann 10 Schalter mit je einem Blinkmodi und eine LED. Wie man die LED blinken lasssen kann, das kann ich. Also das muss nicht mehr im Code stehen. Vielmehr wäre ich um folgendes froh: Ich bräuchte eine schematische Darstellung der Bauteile (Schaltplan) und natürlich den Code dazu. Ich wäre auf jeden Fall bereit, etwas zu zahlen. Es basiert alles auf dem guten Glauben. Ich glaube Ihnen, dass Sie ihre Arbeit gut machen ohne mich abzuzocken, aber sie können auch mir glauben, dass ich Ihnen den Betrag überweisen werde. Ich arbeite mit dem Arduino UNO, aber auch mit dem NANO. Wer sich vorstellen könnte, sich mit dieser Aufgabe zu befassen und einem Einsteiger helfen zu können, wäre genau richtig! Vielleicht hat es auch Leute aus der Schweiz(Region Bern), was aber nicht dringend sein muss. Eine detailliertere Beschreibung würde über Mail erfolgen. Vielen Dank! Mit freundlichen Grüssen
Direkt am Uno ohne extra Bauteile geht das so.. Viel Text, wenig Infos und im Endeffekt zu einfach. Ungetestet via copy&Paste:
1 | int lastpin = 0; |
2 | int ledPin = 13; |
3 | int buttonPins[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; //Pin Nummern für Buttons |
4 | int delays[10] = {100, 1000, 2000, 3000, 4000, 1000, 2000, 300, 500, 100}; //Delay passend zu buttonPins |
5 | int ledState = LOW; // ledState used to set the LED |
6 | unsigned long previousMillis = 0; |
7 | unsigned long EntprellungMillis = 0; |
8 | unsigned long Entprellzeit = 500; //Sperrung Knöpfe nach Druck und Entprellung |
9 | int intervall = 0; |
10 | |
11 | void setup() { |
12 | |
13 | pinMode(ledPin, OUTPUT); |
14 | for (int i = 0; i < 9; i++) |
15 | pinMode(buttonPins[i], INPUT); |
16 | |
17 | }
|
18 | |
19 | void loop() { |
20 | |
21 | unsigned long currentMillis = millis(); |
22 | |
23 | if (currentMillis - EntprellungMillis >= Entprellzeit) |
24 | {
|
25 | EntprellungMillis = currentMillis; |
26 | for (int i = 0; i < 9; i++) |
27 | if (digitalRead(buttonPins[i]) == HIGH) |
28 | {
|
29 | lastpin = buttonPins[i]; |
30 | intervall = delays[i]; |
31 | }
|
32 | }
|
33 | |
34 | if (currentMillis - previousMillis >= intervall) { |
35 | previousMillis = currentMillis; |
36 | if (ledState == LOW) |
37 | ledState = HIGH; |
38 | else
|
39 | ledState = LOW; |
40 | |
41 | digitalWrite(ledPin, ledState); |
42 | }
|
43 | |
44 | |
45 | }
|
Man könnte die Tasten als Matrix anschließen, z.B.: Beitrag "Tastenmatrix auslesen über nur 2 Leitungen"
Vielen Dank dir für deine Antwort! Wie sieht es mit dem Schaltplan zum Beispiel aus? MFG gabriel
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.