parameter von processing an arduino übergeben & speichern

hallo ich habe ein processing und ein arduino script.

am arduino habe ich 2 leds die ich unterschiedlich lange an und ausmachen möchte. die steuerung soll über processing erfolgen. das klappt auch so lange processing läuft. mir wäre es aber am liebsten, wenn ich die processing beenden kann, sobald ich die parameter an rduino übergeben habe.

aber wie mache ich das am besten?

das processing script

import processing.serial.*;
import cc.arduino.*;

Serial serial_port;

void setup()
{
  serial_port = new Serial(this, Serial.list()[0], 9600);
}


void draw()
{
  serial_port.write('2'); //Motor an
  delay(2500);
  serial_port.write('3'); //Motor aus
  delay(250);
  serial_port.write('1'); //Foto an
  delay(100);
  serial_port.write('0'); //Foto aus
  delay(7500);
}

das arduino script

int pin_led = 10;
int Motor = 8;
int reply = 0;

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

void loop()
{
  if (Serial.available() > 0)
  {
    reply = Serial.read();
    if (reply == '1')
    {
      digitalWrite(pin_led, HIGH);
    }
    else if (reply == '0')
    {
      digitalWrite(pin_led, LOW);
    }
    else if (reply == '2')
    {
      digitalWrite(Motor, HIGH);
    }
    else if (reply == '3')
    {
      digitalWrite(Motor, LOW);
    }
  }
}

Solange Arduino nur stur die Ausgänge HIGH oder LOW schaltet bis ein anderes Komando von Processing kommt, hat es keinen Sinn den Arduino autonom zu betreiben.
Du mußt schon mal entscheiden was Arduino autonom machen soll.

Grüße Uwe

Hallo Handyaner,

da würde sich ein RAM-Baustein für den I²C-Bus anbieten.

RAM deswegen, weil EEPROM nach etwa 100000 Schreib-Lesezyklen defekt ist.

Das RAM kannst Du mit einer kleinen Batterie (z.B. CR2016) puffern, dann hast Du die Daten auch nach dem abschalten zur Verfügung.

Evtl. kannst Du auch einen Uhrenbaustein PCF8583 benutzen, der hat außer der Uhr noch 240 Byte RAM.

Gruß

Martin

reicht es nicht aus die daten in einem array bereit zu halten, statt diese direkt in einem speicher? Wenn der strom weg ist und das array dadurch gelöscht wird ist es egal.

und wo befindet sich das Array? im RAM.

Wenn Du ein externe EEPROM nimms,t hast das bis zu 1000000 schreibzyklen. Wenn Du immernoch befürchtest es könnte kaputtgehen dan nimm ein FRAM von Ramtron.

handyaner
Mir erschließt sich noch nicht des Sinn der ganzen Sache. Wenn Du den Arduino vom Prozessing fernsteuern willst dann gibt es keine Aktionen wenn Prozessing nicht aktiv ist.

Grüeß Uwe

ich möchte es insofern fernsteuern, indem ich einmal dem arduino die befehle gebe, und arduino dies stundenlang durchführt.