Sfoglia il codice sorgente

read serial

master
Thorsten Riess 2 anni fa
parent
commit
7a40cffae2
2 ha cambiato i file con 37 aggiunte e 32 eliminazioni
  1. +31
    -7
      steuerung/steuerung.ino
  2. +6
    -25
      webinterface/webinterface.ino

+ 31
- 7
steuerung/steuerung.ino Vedi File

@@ -30,15 +30,15 @@ Initialisierung zur Positionsbestimmung?
int in1 = 9; //Motortreiber Pins
int in2 = 10;

int servo1 = ; // Steuerpins Servos
int servo2 = ;
const int servo1 = 4; // Steuerpins Servos
const int servo2 = 5;
int servoStart = 127; //Ruheposition Servos
int down = 255;
int up = 0;
int servoT = 300; //Schaltzeit für Servos

int velo = 33; //Kopfgeschwindigkeit
int pos = 0; //Zähler Positionssensor Kopf
volatile int pos = 0; //Zähler Positionssensor Kopf
int NrSchalter = 0; // Spalte Schalter
byte ArraySchalter[12];
byte ArraySchalteralt[12];
@@ -49,7 +49,9 @@ int boundRight = 200;
const byte sigPin = 3; // Pins Zähler Positionssensor Kopf
const byte interruptPin = 2;
volatile byte interruptPinChanged = 0;
byte inputflag = 1; //Freigabe für neue Eingabe
int spos = 0;
byte readarr[11];
volatile bool inputflag = true; //Freigabe für neue Eingabe


void setup () {
@@ -57,7 +59,7 @@ void setup () {
pinMode(in2, OUTPUT);
attachInterrupt(0, interruptPositionUpdate, RISING);
Serial.begin(9600);
Serial.begin(19200);
updateboundRight();
flipswitch();
@@ -73,7 +75,7 @@ void loop() {
Serial.println("Start Position reached");// und warten auf neue Eingabe durch Nutzer
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
inputflag = 1; //
inputflag = true; //
} else if (pos >= boundRight) {
Serial.println("Position reached");//Motor anhalten und Schalterprogramm ausführen
digitalWrite(in1, LOW);
@@ -171,4 +173,26 @@ void serialEvent(){
nächste Eingabe. Vorherige Eingaben werden somit verworfen. Die Eingabe wird aus
dem EingabeArray in ArraySchalter geschrieben und der Kopf nach rechts gestartet.
*/
}
while (Serial.available()) {
// get the new byte:
byte inChar = Serial.read();
if (inChar == 'A') {
spos = 0;
continue;
}
if (inChar != 'E' && spos < 11) {
readarr[spos] = inChar;
spos++;
}
else {
if (inChar == 'E') {
int posi = 0;
if ( inputflag ) {
// TODO:
// ArraySchalter fuellen
} // else: discard input
}
}
}

}

+ 6
- 25
webinterface/webinterface.ino Vedi File

@@ -5,7 +5,7 @@
#include <ESP8266mDNS.h>

const char* ssid = "RelaisAddierer";
const char* password = "hacKNology";
//const char* password = "hacKNology";

// DNS server
const byte DNS_PORT = 53;
@@ -18,44 +18,25 @@ IPAddress apIP(192, 168, 4, 1);
IPAddress netMsk(255, 255, 255, 0);

void setup() {
Serial.begin(115200);
Serial.begin(19200);
// put your setup code here, to run once:

Serial.print("Configuring access point...");
/* You can remove the password parameter if you want the AP to be open. */
WiFi.mode(WIFI_AP);
WiFi.softAPConfig(apIP, apIP, netMsk);
WiFi.softAP(ssid, password);
WiFi.softAP(ssid); /*, password*/
delay(500); // Without delay I've seen the IP address blank
Serial.print("AP IP address: ");
Serial.println(WiFi.softAPIP());
//Serial.print("AP IP address: ");
//Serial.println(WiFi.softAPIP());

/* Setup the DNS server redirecting all the domains to the apIP */
dnsServer.setErrorReplyCode(DNSReplyCode::NoError);
dnsServer.start(DNS_PORT, "*", apIP);

//WiFi.begin(ssid, password);
//Serial.println("");

// Wait for connection
//while (WiFi.status() != WL_CONNECTED) {
// delay(500);
// Serial.print(".");
//}
//Serial.println("");
//Serial.print("Connected to ");
//Serial.println(ssid);
//Serial.print("IP address: ");
//Serial.println(WiFi.localIP());

//if (MDNS.begin("esp8266")) {
// Serial.println("MDNS responder started");
//}
server.on("/form", formdata);
server.on("/", handleroot);

//configuring the server wherein you configure your url and function name, you can also mention your method(GET,POST..) if u want i.e server.on("/yourURL", method,function);

server.begin();
}


Loading…
Annulla
Salva