Pages: [1]   Go Down
Author Topic: for Ablaufsteuerung?  (Read 732 times)
0 Members and 1 Guest are viewing this topic.
Raum Stuttgart
Offline Offline
Newbie
*
Karma: 0
Posts: 25
Arduino rockt und hat mich schon 3 mal vor ner Blamage gerettet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hi

Ich hab ne ganz banale Frage.

kann mir jemand  in simplen laiendeutsch die for schleife erklären? ich versteh die funktion im Ptogrammierhandbuch nicht so wirklch.

ich will das er mir einen pin nur einmal als high liefert. also

for(?;digitalRead(pin1)==HIGH;?)
digitalWrite(pin2,HIGH);
delay(100);
digitalWrite(pin2,LOW);




das soll er mir nur einmal machen, obwohl der pin1 die ganze zet auf HIGH steht.

im vorraus schonmal vielen Dank

Gruß NIB
Logged

Düsseldorf, Germany, Europe
Offline Offline
Newbie
*
Karma: 0
Posts: 16
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo Niberium,

wäre da ein "if" nicht besser?
Wenn du das in der loop aufrufst sollte das doch passen, oder?


Gruß aus Düsseldorf

BKone
Logged

Bavaria Germany
Offline Offline
Full Member
***
Karma: 0
Posts: 121
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ist es so, daß Pin2 während des gesamten Programmlaufs nur einmal für 100 msecs auf HIGH gesetzt werden soll (falls pin1=HIGH)?

Dann in "void loop()":
Code:
static boolean pin2OK = false;

if (pin2OK==false  && digitalRead(pin1)==HIGH) {
  pin2OK = true;
  digitalWrite(pin2,HIGH);
  delay(100);
  digitalWrite(pin2,LOW);
}

So, wie Du es beschreibst, sehe ich auch keinen Bedarf für eine loop. :-X
« Last Edit: October 27, 2009, 11:16:16 pm by mmi » Logged

Raum Stuttgart
Offline Offline
Newbie
*
Karma: 0
Posts: 25
Arduino rockt und hat mich schon 3 mal vor ner Blamage gerettet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hi

Also erst mal danke für die Antworten.

Ich glaub aber selber dass ne if nicht geht. ich beschreib vlt am besten noch mal was ich gena machn will.

also.
ich hab nen reed schalter. den betätige ich mit nem magnet der die ganze zeit draufbleibt bis ich ihn wieder wegnehmen will.

wenn jetzt der Magnet auf dem Reed ist dann hab, dann liefert das ein HIGH. den definier ich mal als pin1.
ich will jetzt erreichen dass solange der Reed schalter ein ist der nur ein einziges mal solange der magnet da drauf ist (also der Reed schalter an ist) der an einen anderen pin2
digitalWrite(pin2,High);
delay(50);
 digitalWrite(pin2,LOW);


so. wenn ich jetzt ein if hab dann macht der das die ganze zeit. heist der triggert das ganze immer hin und her. mit if hab ichs nämlich schon versucht.

wenn ich dann den magnet wieder runternehm dann soll er mir nen 3.pin high liefern. wobei ich das gut mit ner if schleife machen kann.



wenn jetzt aber der magnet weg ist und der später irgendwann wider da drauf gesetzt wird soll der mir wieder den pin2
digitalWrite(pin2,High);
delay(50);
 digitalWrite(pin2,LOW);

mit boolean kenn ich mich leider auch nicht aus. da hab ich absolut null ahnung.:-)
Cool wäre mal ein Buch: Arduinoprogrammieren für dummies.

Gruß NIB
« Last Edit: October 28, 2009, 04:13:33 am by Niberium » Logged

Munich/Germany
Offline Offline
God Member
*****
Karma: 9
Posts: 642
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Vorschlag:

Code:
boolean lastState = false;

void setup()
{
  ...
}

void loop()
{
  int pinMode = digitalRead(pin1);
  if ((pinMode == HIGH) && !lastState)
  {
    lastState = true;
    digitalWrite(pin2, HIGH);
    delay(100);
    digitalWrite(pin2, LOW);
  }
  else if ((pinMode == LOW) && lastState)
  {
    lastState = false;
    digitalWrite(pin3, HIGH);
    delay(100);
    digitalWrite(pin3, LOW);
  }
}

Und nachdem das mit Arduino im Speziellen nichts zu tun hat, empfehle ich Dir folgendes Buch: http://www.amazon.de/für-Dummies-So-lernen-Sie-hohe/dp/3826629434
Logged

_______
Manfred

Raum Stuttgart
Offline Offline
Newbie
*
Karma: 0
Posts: 25
Arduino rockt und hat mich schon 3 mal vor ner Blamage gerettet
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

genau so mann

echt klasse.
vielen vielen vielen dank!!!
funktioniert genau so wie ich wollt.

:-)

*freu*
Logged

Pages: [1]   Go Up
Jump to: