INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Hilfe bei Ironman Helm Sketch
30.05.2016, 16:55
Beitrag #1
Hilfe bei Ironman Helm Sketch
Hi alle zusammen,
ich brauche Hilfe beim schreiben eines Sketch für mein Arduino Uno 3, da ich nur Laie bin und mir so ein bisschen Randwissen angeeignet habe, jetzt jedoch aus irgendein Grund vorm Scheidern stehen.
Folgende Funktion will ich erreichen mit Tastendruck, und zwar soll 2 Seromotoren mit 90 Grad angesteuert werden, in die eine Richtung langsamer als in die andere Richtung, gleichzeitig sollen 3 LED angehen in die Richtung wo der Servo schneller fährt, dabei soll bevor die LEDs dauerhaft leuchten eine kurze Schleife erzeugt werden, wo die LEDs 3 mal für ein paar Millisekunden/Sekunde an und aus gehen und in die Richtung wo der Servo langsamer fährt, sollen die LEDs ausgehen.
Einen Sketch habe ich auch schon erstellt, bei dem die Servomotoren und LEDs auf Tastenknopf reagieren:
Video:
Youtube-Video "Arduino Aufbau Helm Ironman"
Sketch:
#include <Servo.h>
const int tasterPin = 2; const int ledPin1 = 13; const int ledPin2 = 10;
const int ledPin3 = 11;
int tasterStatus = LOW;
int tasterGedrueckt = 0;
int lichtmodus = 0;
int ledStatus = LOW;
Servo servoblau1;
Servo servoblau2;
unsigned long tasterZeit = 0;
unsigned long entprellZeit = 10;
unsigned long ledMillis = 500;
void setup()
{
servoblau1.attach(6);
servoblau2.attach(9);
pinMode(ledPin1,OUTPUT);
pinMode(ledPin2,OUTPUT);
pinMode(ledPin3,OUTPUT);
pinMode(tasterPin,INPUT);
}
void loop()
{
tasterStatus = digitalRead(tasterPin);
if (tasterStatus == HIGH)
{
tasterZeit = millis();
tasterGedrueckt = 1;
}
if ((millis() - tasterZeit> entprellZeit)&& tasterGedrueckt == 1)
{
lichtmodus++;
tasterGedrueckt = 0;
}
if (lichtmodus == 0)
{
digitalWrite(ledPin1,HIGH);
digitalWrite(ledPin2,HIGH);
digitalWrite(ledPin3,HIGH);
servoblau1.write (90);
servoblau2.write (0);
delay(50);
}
if (lichtmodus == 1)
{digitalWrite(ledPin1,LOW);
digitalWrite(ledPin2,LOW);
digitalWrite(ledPin3,LOW);
servoblau1.write (0);
servoblau2.write (90);
delay(50);
}
if (lichtmodus >= 2)
{
lichtmodus = 0;
}
}
Wenn ihr mir helfen könntet würde ich mich freuenWink
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2016, 14:28 (Dieser Beitrag wurde zuletzt bearbeitet: 31.05.2016 14:29 von Scheams.)
Beitrag #2
RE: Hilfe bei Ironman Helm Sketch
Hey!

Zitat:welches von den zahlreichen Videos dürfen wir uns aussuchen ???

Also ich finde nur 3 Ergebnisse auf Youtube, wenn ich den Titel suche.
Das hier wird das dann wohl sein

Zitat:dann hast Du für den Einstieg das falsche Projekt ausgewählt !
Das Projekt scheint mir aber nicht alzu schwer für einen Einsteiger, man kann schön langsam anfangen und immer mehr LEDs bzw. Servo hinzufügen und den Code ausbauen.

Der Programmablauf erscheint mir aber nicht ganz klar. Wenn ich das richti verstanden habe so:
Taste drücken -> LEDs blinken -> Servos (schnell) auf 90° & LEDs an
nochmal Taste drücken -> LEDs aus -> Servo (langsam) auf 0°
Richtig verstanden? Dann würde dir nurnoch das Blinken fehlen, weil im Video geht der Rest ja schon Smile

Und ja Code wie schon von Lötzinnerhitzer gesagt, bitte in #Code.

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2016, 15:10
Beitrag #3
RE: Hilfe bei Ironman Helm Sketch
Hi Scheams,

danke, mal endlich einer in einen der Forum's wo ich um Hilfe gefragt habe der nicht beleidigend und schulmeisterhaft mir antwortet.Smile

Ja das ist das Video,hatte eigentlich den Link in Thread kopiert,warum er das nicht angenommen hat keine Ahnung.
Und du hast mich supi verstanden, was ich vor habe:-),bin nicht so der Erklärbär;-).

Leider weiß ich nicht was #Code bedeutet,wie gesagt bin Laie und kenne mich kaum aus in dieser Materie,daher frage ich ja mehr oder weniger euch die mir das ein oder andere erklären können bzw. wollen,ich hoffe du siehst mir das nach:-).

MfG Heppo
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2016, 15:51
Beitrag #4
RE: Hilfe bei Ironman Helm Sketch
Hey!

... jeder fängt mal klein an.

(31.05.2016 15:10)Heppo schrieb:  Leider weiß ich nicht was #Code bedeutet,wie gesagt bin Laie und kenne mich kaum aus in dieser Materie,daher frage ich ja mehr oder weniger euch die mir das ein oder andere erklären können bzw. wollen,ich hoffe du siehst mir das nach:-).
Wenn du Code ins Forum kopierst: davor immer [code.] und danach immer [/code.] ohne den Punkten, dann ist der Code übersichtlicher.

Um zum Code zu kommen:
Die LEDs blinken zu lassen kannst du einfach dann machen, wenn du am Beginn von (lichtmodus == 0) bist. D.h.:

Code:
if (lichtmodus == 0)
    { // Servos schnell, bevor sie sich drehen: LEDs blinken
        BlinkLEDs();
        BlinkLEDs();
        BlinkLEDs();
        digitalWrite(ledPin1,HIGH);
        digitalWrite(ledPin2,HIGH);
        digitalWrite(ledPin3,HIGH);
        servoblau1.write (90);
        servoblau2.write (0);
        delay(50);
    }
Für die Funktion "BlinkLEDs();" probier dir eine eigene Funktion zu schreiben, die die alle 3 LEDs einmal blinken lassen.
Code:
void BlinkLEDs()
{    
    // Hier einen Code damit die LEDs blinken, probier selber einen zu schreiben
}

void setup()
// ... hier gehts dann weiter mit dem restlichen Code

Um die Servos bei (lichtmodus == 1) langsam zurück zu drehen kannst du einen "for"-Loop verwenden (falls unbekannt unbedingt nachschauen und aneignen!), d.h. der könnte so ausschauen:
Code:
for (int i = 0; i <= 90; i++) {
            servoblau1.write (90 - i);
            servoblau2.write (i);
            delay(10);
        }
Dieser Code wäre dann statt dem servoblau1.write(0) ... usw.

Fallst du es schaffst und es funktioniert probier gleich den Code etwas zu ändern z.B. dass beide Servos parallel laufen, LEDs verschieden blinken, etc.
Wenn du dann die blinkenden LEDs haben willst, während sich der Motor dreht solltest du dir ->Blink Without Delay<- anschauen.

Gutes Gelingen! Smile

mfg Scheams
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
31.05.2016, 17:18
Beitrag #5
RE: Hilfe bei Ironman Helm Sketch
Hi Scheams,

Ah vielen Dank,habe die for Schleife bei Servo schon probiert,nur sehe ich gerade bei deinem Beispiel was ich eventuell vergessen habe bzw. falsch gemacht haben könnte und mein Sketch deshalb dann gar nicht mehr ging und mit dem BlinkLEDs habe ich auch versucht mich schon rein zu lesen,aber durch dein Beispiel ist das verständnisvoller geworden☺. Wie gesagt erstmal vielen Dank für die Stütze,so habe ich mir Hilfe erhoffen.Fast hätte ich nach wüsten beschimpfen in den Theards bei mir und anderen, den Vertrauen in die Foren verloren
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Hilfe 433MHz Empfänger OLDARDUINO 12 384 16.11.2016 09:55
Letzter Beitrag: hotsystems
  Hilfe für einen GPS gestützten Quadrocopter TeamQuadro 13 391 02.11.2016 08:14
Letzter Beitrag: Binatone
  Hilfe, ist der bmp280 defekt? reimundko 5 596 12.09.2016 18:49
Letzter Beitrag: ardu_arne
  Hilfe bei IR Lichtschranke cb_baer 55 23.644 02.09.2016 14:37
Letzter Beitrag: Sarlochin
  Bitte un Hilfe 3ddrucker 3 249 18.08.2016 16:24
Letzter Beitrag: Binatone
Star Bitte um hilfe bei Aurel Empfänger & Sender Mischa 3 523 08.06.2016 15:26
Letzter Beitrag: hotsystems
Heart Bitte um Hilfe um auf Display Temperatur auzugeben Mischa 6 518 04.06.2016 20:49
Letzter Beitrag: hotsystems
  Benötige Hilfe zu Schaltbild torsten_156 4 490 07.04.2016 16:09
Letzter Beitrag: Bitklopfer
  PWM in analoge Spannung umwandeln - Hilfe bei Berechnung chris15 5 2.319 12.08.2015 05:46
Letzter Beitrag: Bitklopfer
  Hilfe: 2 Servos mit einem Schalter schalten? bvb2307 34 3.757 30.06.2015 13:01
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste