Go Down

Topic: Resistives Sensorarray für eine Schuhsohle (Velostat) (Read 4262 times) previous topic - next topic

ma1kels

Du hast das so gebaut, dass erst bei Eingabe eines 'A' eine neue Messung getriggert wird. Tust Du das?

Gruß Tommy
Du meinst wenn ich ein 'A' sende? Also bei mir kommt halt am Anfang die gewünschte Matrix mit den Werten (je nachdem wie stark ich Anfangs die Sohle belaste) und ab dann tut sich nichts mehr, außer dass ich eben ein nach rechts fortlaufendes 'A' unterhalb der Matrix bekomme (establishContact).

Tommy56

Ich beziehe mich auf den Code in #43
Code: [Select]

void loop(){
 
  if (Serial.available() > 0){
    inByte = Serial.read();
   
    if(inByte == 'A'){

....


Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

ma1kels

Ich beziehe mich auf den Code in #43
Code: [Select]

void loop(){
 
  if (Serial.available() > 0){
    inByte = Serial.read();
   
    if(inByte == 'A'){

....


Gruß Tommy
Okay, aber was meinst du damit? Wie müsste der code den da abgeändert werden?

Tommy56

Das ist der Nachteil, wenn man Code verwendet, den man nicht verstanden hat.
Du musst im Seriellen Monitor ein A eingeben und Senden drücken, damit das ausgeführt wird, was bei den .... steht.

Warum Du in establishContact() ein A zurück sendest erschließt sich mir nicht. Soll das evtl. der Hineis sein, ein A einzugeben?

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

ma1kels

Das ist der Nachteil, wenn man Code verwendet, den man nicht verstanden hat.
Du musst im Seriellen Monitor ein A eingeben und Senden drücken, damit das ausgeführt wird, was bei den .... steht.

Warum Du in establishContact() ein A zurück sendest erschließt sich mir nicht. Soll das evtl. der Hineis sein, ein A einzugeben?

Gruß Tommy
Das habe ich schon verstanden. Problem ist aber, sende ich nun ein A, dann tut sich eben nichts mehr. Der serielle Monitor sieht aus als hätte er sich aufgehängt. Kann doch nicht so schwer sein bei jedem neuen Kontakt mit der Sohle, ein neues Array mit Werten auszuspucken oder?

Quote
Warum Du in establishContact() ein A zurück sendest erschließt sich mir nicht. Soll das evtl. der Hineis sein, ein A einzugeben?
Richtig.

Tommy56

Woran willst Du denn den neuen Kontakt mit der Sohle erkennen?

Die Funktion establishContact() sollte nach meiner Meinung nur eine Ausgabe machen und keine Schleife beinhalten.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

ma1kels

Woran willst Du denn den neuen Kontakt mit der Sohle erkennen?
Ja ich drücke doch mit der Hand oder dem Fuß darauf!? Und dann ändert sich mein Spannungswert je nachdem wie stark ich belaste. Und genau hier soll immer ein neues Array ausgegeben werden.


Tommy56

Dann musst Du mit 2 Arrays arbeiten und alle Werte des alten Arrays mit den Werten der neuen Messung vergleichen. Sobald Du feststellst, dass ein Wert anders ist (oder um mehr als x anders ist) musst Du ein neues Messwertset schreiben und das neue Array zum alten Array machen.

Ich vermute, dass genau das der Grund war, den Start der Messung per seriellem Monitor zu triggern.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

agmue

Hier der aktuelle Sketch:
Der kompiliert nicht, da fehlen die Deklarationen.

Warum das interessant ist? Deswegen:

Problem ist aber, sende ich nun ein A, dann tut sich eben nichts mehr.
-----------

Eine neue Messung muß angestoßen werden, das passiert nicht von alleine. Ich sehe drei Möglichkeiten:
  • Senden von 'A' oder sonstwas, derzeitiger Stand.
  • Änderungen der Meßwerte, siehe #52
  • In Zeitintervallen.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

ma1kels

Der kompiliert nicht, da fehlen die Deklarationen.

Warum das interessant ist? Deswegen:
-----------

Eine neue Messung muß angestoßen werden, das passiert nicht von alleine. Ich sehe drei Möglichkeiten:
  • Senden von 'A' oder sonstwas, derzeitiger Stand.
  • Änderungen der Meßwerte, siehe #52
  • In Zeitintervallen.


Wie meinst du er kompiliert nicht? Wenn ich den momentanen Sketch auf den Arduino hochlade steht unten "Kompilieren abgeschlossen" und der Sketch funktioniert auch.


Und die erste Möglichkeit die du vorschlägst klappt ja leider nicht, das Senden von 'A'.

Tommy56

Dazu hatte ich Dir den möglichen Fehler ja bereits geschrieben.

Gruß Tommy

Edit: Was mich mal interessiert: Wofür ist das ganze denn in der Praxis gedacht? Oser hast Du das schon beschrieben und ich habe es nur überlesen?
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

agmue

Wie meinst du er kompiliert nicht?
In #43 klicke ich auf Select und kopiere das Programm in den Editor der IDE. Dann klicke ich auf den Haken links oben in der Ecke der IDE und erhalte unten im Fenster viele Fehlermeldungen.

Und die erste Möglichkeit die du vorschlägst klappt ja leider nicht, das Senden von 'A'.
Drum wollte ich es ja mal probieren.
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

ma1kels

In #43 klicke ich auf Select und kopiere das Programm in den Editor der IDE. Dann klicke ich auf den Haken links oben in der Ecke der IDE und erhalte unten im Fenster viele Fehlermeldungen.
Drum wollte ich es ja mal probieren.

Komisch, bei mir werden keine Fehler angezeigt.

Irgendwo muss doch der Wurm drin sein!? Kann doch nicht so schwer sein einfach das Array immer wieder neu zu schreiben :( Wobei doch, wenn man wie ich mit Arduino nicht wirklich was am Hut hat.

Tommy56

1. Dann solltest Du das, was in #43 steht mal mit dem vergleichen, was in Deiner IDE steht.
2. Wenn man Dir Fragen stellt, wäre es schön, wenn Du diese beantworten und nicht ignorieren würdest.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

agmue

Das Programm in #43 enthält:

Code: [Select]
pinMode(s0, OUTPUT);
Wo im Programm ist "s0" deklariert?

Kann doch nicht so schwer sein ...
Da stimme ich Dir zu!
Die Vorstellungskraft ist wichtiger als Wissen, denn Wissen ist begrenzt. (Albert Einstein)

Go Up