Hallo allerseits ![]()
Ich habe ein kleines Projekt erstellt bei dem ich mit zwei Flexsensoren über den Arduino zwei Leds und einen Vibrationsmotor ansteuere und zusätzlich noch die Funktion eingebaut hab dies alles über PHP in eine Datenbank einzutragen.
Die Teilfunktionen gehen auch alle aber als gesamter Sketch ist irgendwo der Wurm drin.
Ich habe einen Schalter mit eingebaut mit dem ich zwischen zwei Werten und der PC Übertragen schalten kann und dies funktioniert recht unregelmäßig. Mal schaltet er schnell um, mal sehr langsam und meistens einfach gar nicht.
Hab ich einen Fehler in den Schleifen? Vielleicht eine Pause irgendwo zu wenig?
Vielleicht kann mir ein Adlerauge helfen ![]()
hier der Sketch:
#include <Ethernet.h>
byte mac[] = { 0x54, 0x34, 0x41, 0x30, 0x30, 0x31 };
EthernetClient client;
char server[] = "192.168.0.11";
int interval = 5000;
int LEDG=2;
int LEDR=4;
int vibra=7;
int hebel1=12;
int hebel2=13;
int hebelstatus1;
int hebelstatus2;
int sensorPin=0;
int sensorPin1=1;
int sensorPin2=2;
int sensorPin3=3;
int sensorReading;
int sensorReading1;
int sensorReading2;
int sensorReading3;
void setup()
{
Serial.begin(9600);
pinMode(LEDG,OUTPUT);
pinMode(LEDR,OUTPUT);
pinMode(vibra,OUTPUT);
pinMode(hebel1,INPUT);
pinMode(hebel2,INPUT);
Ethernet.begin(mac);
Serial.println("Projekt Rückenbeugung");
Serial.println("-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-\n");
Serial.print("IP Address : ");
Serial.println(Ethernet.localIP());
Serial.print("Subnet Mask : ");
Serial.println(Ethernet.subnetMask());
Serial.print("Default Gateway IP: ");
Serial.println(Ethernet.gatewayIP());
Serial.print("DNS Server IP : ");
Serial.println(Ethernet.dnsServerIP());
}
void loop() {
sensorReading=analogRead(sensorPin);
sensorReading1=analogRead(sensorPin1);
sensorReading2=analogRead(sensorPin2);
sensorReading3=analogRead(sensorPin3);
hebelstatus1=digitalRead(hebel1);
hebelstatus2=digitalRead(hebel2);
int gesamt=((sensorReading-sensorReading1)+(sensorReading2-sensorReading3));
//int oben=(sensorReading-sensorReading1);
//int unten=(sensorReading2-sensorReading3);
//Serial.println(gesamt);
//delay(100);
if (hebelstatus2==LOW && gesamt>250)
{
digitalWrite(LEDR,HIGH);
digitalWrite(LEDG,LOW);
digitalWrite(vibra,HIGH);
}
else if (hebelstatus1==LOW && hebelstatus2==LOW && gesamt>270)
{
digitalWrite(LEDR,HIGH);
digitalWrite(LEDG,LOW);
digitalWrite(vibra,HIGH);
}
else if (hebelstatus1==HIGH)
{
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,LOW);
digitalWrite(vibra,LOW);
if (client.connect(server, 80))
{
Serial.println("-> Connected");
client.print( "GET /add_data.php?");
client.print("&&");
client.print("wert=");
client.print( gesamt );
client.println( " HTTP/1.1");
client.print( "Host: " );
client.println(server);
client.println( "Connection: close" );
client.println();
client.println();
client.stop();
}
else
{
Serial.println("--> connection failed/n");
}
delay(interval);
}
else
{
digitalWrite(LEDR,LOW);
digitalWrite(LEDG,HIGH);
digitalWrite(vibra,LOW);
}
}