Show Posts
Pages: [1]
1  International / Deutsch / Re: Probleme mit Void und Funktionen. on: December 08, 2012, 07:10:52 am
Danke für die erklärung.

Der von dir beschriebene effekt tritt allerdings nicht ein. Ich kann zu jederzeit den/die blinker ansprechen. Testweise habe ich die zeit auch mal auf 5 sekunden blinkintervall hochgedreht -kann aber immer innerhalb der zeit an oder abschalten.

Vielen dank erstmal. Ich melde mich sicherlich wieder  smiley-mr-green
2  International / Deutsch / Re: Probleme mit Void und Funktionen. on: December 04, 2012, 06:12:46 pm

An Stelle der von mir mit ERROR! gekennzeichneten Zeile gehört sowas hin, was nur den Blinkstatus umschaltet:
blinkState=!blinkState;


mmh, wenn blinkState=!blinkState; umschaltet (on/off/off/on), dann müsste was ich wieder getrieben hab grundsätzlich falsch sein. Blinken wird zwar aktiviert bei "f" empfang über serial aber das wars dann auch schon.

Code:
#define blinkPin 8
boolean blinkState=false;
int f = true;

char val;

void setup() {
 
 
pinMode(blinkPin, OUTPUT);
 
Serial.begin(9600);
}

void performBlinkState(boolean blinkerGesetzt) {
  if (blinkerGesetzt) {
    if (((millis()/500)%2)==0) digitalWrite(blinkPin,LOW);
    else digitalWrite(blinkPin,HIGH);
}
  else
    digitalWrite(blinkPin,LOW);
}

void performCommand() {
  if (Serial.available()) {
    val = Serial.read();
}
            }

void loop() {
performCommand();
performBlinkState(blinkState);
    if (val == 'f')  { blinkState=!blinkState; }
}

Btw, wie ist denn das mit dieser "Flag" geschichte gemeint ?  smiley-sleep
3  International / Deutsch / Re: Probleme mit Void und Funktionen. on: December 04, 2012, 11:17:56 am
Dann poste doch mal den Code wo Du Fehler bekommst. Dann muss Uwe seine Kristallkugel nicht polieren, falls die überhaupt schon von der Reparatur zurück ist  smiley-wink
Wenn wir sehen wo Du das Beispiel eingebunden hast, können wir Dir auch sagen wo es klemmt.

Hi,

so z.b:

Code:
#define blinkPin 13
boolean blinkState=true;

char val;

void setup() {
 
 
pinMode(blinkPin, OUTPUT);
 
Serial.begin(9600);
}

void performBlinkState(boolean blinkerGesetzt) {
  if (blinkerGesetzt) {
    if (((millis()/500)%2)==0) digitalWrite(blinkPin,LOW);
    else digitalWrite(blinkPin,HIGH);
}
  else
    digitalWrite(blinkPin,LOW);
}

void performCommand() {
  if (Serial.available()) {
    val = Serial.read();
}
    if (val == 'f') {
      performBlinkState();
          }
        }

void loop() {
performCommand();
performBlinkState(blinkState);
}

 smiley-red
4  International / Deutsch / Re: Probleme mit Void und Funktionen. on: December 04, 2012, 04:34:17 am
Hi,

vielen dank für eure mühen aber ich schaffe es nicht eins der von euch geposteten beispiele in meinen vorhandenen sketch einzubauen. Ich verstehe zwar was die beispiele machen dank eurer beschreibung und das sie den arduino nicht blockieren aber bekomme sie auch nach zwei tagen "fummeln" einfach nicht an den richtigen stellen implementiert.

Ich ersetze eure beispiele durch diese stelle,

Code:
void light_on() {
  digitalWrite(light, HIGH);   // turn the LED on (HIGH is the voltage level)
 
}

passe hier und da noch etwas an aber bekomme nur errors. Ich denke da wohl viel zu sehr in böcken bzw. blockweise.  smiley-confuse
5  International / Deutsch / Probleme mit Void und Funktionen. on: December 01, 2012, 01:21:44 pm
Erstmal ein herzliches hallo an alle!
Eine super community ist das hier -habe schon sehr viel gelesen -nur leider nicht alles kapiert.  smiley-red

Zum Projekt.

Ich habe vor einiger Zeit ein Ferngesteuertes Auto umgebaut (aus einem Tutorial das ich im Netz fand) welches nun mit einem Arduino Uno bzw. meinem Smartphone (Android) gesteuert wird. Der Arduino dient als Empfänger und mein Smartphone als Sender über Bluetooth. Soweit funktioniert das auch alles (Die Kiste fährt und tut was sie soll) da alles ganz simpel über Low/High gesteuert wird. Ich sende ein "F" an den Arduino und der Schaltet mir einen Pin auf High. Ich sende ein "Z" und dieser schaltet den Pin wieder auf Low. (u.s.w)

(Hier der Link zum BasisTutorial: http://www.mobot.es/MobotBTCar.html ) -die App habe ich mit AppInventor nachgebaut weil ich die App aus dem Tutorial hässlich fande und ich das Smartphone lieber im Landscape Modus halte.

Jetzt zum Punkt der ganzen geschichte.

Ich würde gerne bei meinem neuen Auto welches ich gerade baue auch gerne Blinker und solche Funktionen einbauen. Und genau da hängt es in meinem Gehirn wenn ich den Code aus dem Tutorial als Basis nehme.

Hier ein Bsp:

Quote
int light = 12;    // Pin 12 - Light


char val;  // Variable to receive data from the serial port

void setup() {
 
  // initialize the digital pins as output
  pinMode(light, OUTPUT);
 
    Serial.begin(9600);    // Start serial communication at 9600bps
}

// Block Light on

void light_on() {
  digitalWrite(light, HIGH);   // turn the LED on (HIGH is the voltage level)
 
}

// Block Light Off
void light_off() {
  digitalWrite(light, LOW);
 }
 // Read serial port and perform command
void performCommand() {
  if (Serial.available()) {
    val = Serial.read();
  }
    if (val == 'f') { // Command Light On
      light_on();
    } else if (val == 'z') { // Command Light Off
      light_off();
      }
}

void loop() {
  performCommand();
  }

Die Led/Pin wird per Smartphone High/Low geschaltet. Funktioniert. Aber sobald ich möchte, dass in diesem Block

Quote
void light_on() {
  digitalWrite(light, HIGH);   // turn the LED on (HIGH is the voltage level)
 
}

geblinkt wird fangen die Probleme an. Die "Blink" beispiele der Arduino-Referenz einfach in den "Block" zu Kopieren klang einfach, stellten sich aber schnell als "Scheisse, geht doch nicht" raus -ob nun mit Delay oder ohne. Das Problem ist einfach diese Void Geschichte. Jede Art von "Blink" setzt irgendwie ein Void Loop() vorraus. Void Loop() habe ich allerdings schon am ende des Sketches zum Lauschen auf Serial.  smiley-confuse

Ich habe langsam das gefühl, dass der komplette aufbau des codes einfach nicht mit meinem vorhaben zu machen ist. Ich möchte einfach, dass mein arduino diverse funktionen "loopt" wie zb. blinken aber nebenbei noch in der lage ist variablen zu empfangen bzw. zu verarbeiten um andere pins weiterhin high/low zu schalten z.b um das blinken abzuschalten oder rückwärts und forwärts zu fahren. 
 
Ich habe zwar u.a auch das Buch von Erik Bartmann zum Arduino allerdings bringt mich das auch nicht wirklich weiter da ich einfach zu blöd bin meine wünsche im sketch umzusetzen. Ich verstehe zwar das grundproblem in "meinem" code, habe aber absolut keine skills es so zu frickeln, dass es funktioniert. Bin da mittlerweile wirklich sehr frustriert da ich schon viele nächte hinter diesem problem hänge (immer mit dicken augen zur arbeit  smiley-grin ). Ich kann jetzt auch nicht unbedingt die programmiersprache von A-Z lernen da ich dafür einfach keine zeit habe durch meinen beruf.

(Ich würde auch gerne diverse €€€ springen lassen damit die scheisse endlich funktioniert. Damit hätte ich kein problem.)

Vll. kann mir ja jemand helfen.  smiley-red
Pages: [1]