diff --git a/garage/Garage_-_Nano_Micro_-_Lichtschranke.ino b/garage/Garage_-_Nano_Micro_-_Lichtschranke.ino deleted file mode 100644 index d64744f..0000000 --- a/garage/Garage_-_Nano_Micro_-_Lichtschranke.ino +++ /dev/null @@ -1,194 +0,0 @@ -#include -#include - -// Enter a MAC address and IP address for your controller below. -byte mac[] = {0xA4, 0xDA, 0x49, 0xB8, 0x19, 0xA4}; -IPAddress ip(192, 168, 178, 52); -EthernetServer server(80); - -const int remotePin = 2; -const int motorPin = 3; - -const int ledPin = 5; - -const int remoteButton = 6; -const int motorButton = 7; - -const int sensorPin = A0; - -const int clickDelay = 500; - -void setup() { - Serial.begin(9600); - - // Check PINs - Serial.print("MISO: "); - Serial.println(PIN_SPI_MISO); - Serial.print("MOSI: "); - Serial.println(PIN_SPI_MOSI); - Serial.print("SCK: "); - Serial.println(PIN_SPI_SCK); - Serial.print("SS: "); - Serial.println(PIN_SPI_SS); - - pinMode(remotePin, OUTPUT); - pinMode(motorPin, OUTPUT); - pinMode(ledPin, OUTPUT); - pinMode(remoteButton, INPUT); - pinMode(motorButton, INPUT); - - // disable SD card if one in the slot - pinMode(4, OUTPUT); - digitalWrite(4, HIGH); - - Serial.println("Starting ethernet"); - Ethernet.begin(mac, ip); - - Serial.println(Ethernet.localIP()); - - Serial.println("init complete"); -} - -void loop() { - if (digitalRead(remoteButton) == HIGH) { - Serial.println("Remote button pressed"); - triggerRemote(); - } - - if (digitalRead(motorButton) == HIGH) { - Serial.println("Motor button pressed"); - triggerMotor(); - } - - // listen for incoming clients - EthernetClient client = server.available(); - if (client) { - Serial.println("new client"); - // an http request ends with a blank line - bool currentLineIsBlank = true; - - byte trigger = 0; - int sensorValue = 0; - char uri[64]; - byte idx = 0; - boolean uriLine = false; - - while (client.connected()) { - if (client.available()) { - char c = client.read(); - - if (currentLineIsBlank && c == 'G') { - uriLine = true; - uri[idx] = c; - idx++; - } - else if (uriLine) { - if (c == '\n') { - uriLine = false; - uri[idx] = '\0'; - } - else { - uri[idx] = c; - idx++; - } - } - - Serial.write(c); - // if you've gotten to the end of the line (received a newline - // character) and the line is blank, the http request has ended, - // so you can send a reply - if (c == '\n' && currentLineIsBlank) { - // send a standard http response header - client.println("HTTP/1.1 200 OK"); - client.println("Content-Type: text/plain"); - client.println("Connection: close"); // the connection will be closed after completion of the response - client.println(); - if (uri[4] == '/' && uri[5] == 'r' && uri[6] == ' ') { - client.println("trigger remote"); - trigger = 1; - } - else if (uri[4] == '/' && uri[5] == 'm' && uri[6] == ' ') { - client.println("trigger motor"); - trigger = 2; - } - else if (uri[4] == '/' && uri[5] == 'a' && uri[6] == ' ') { - client.println("trigger all"); - trigger = 3; - } - else if (uri[4] == '/' && uri[5] == 'c' && uri[6] == ' ') { - client.println("check sensor"); - sensorValue = analogRead(sensorPin); - - if (sensorValue > 512) { - client.println("true"); - } - else { - client.println("false"); - } - } - else if (uri[4] == '/' && uri[5] == 'p' && uri[6] == ' ') { - client.println("ping"); - } - else { - client.println("not found"); - } - break; - } - if (c == '\n') { - // you're starting a new line - currentLineIsBlank = true; - } else if (c != '\r') { - // you've gotten a character on the current line - currentLineIsBlank = false; - } - } - } - // give the web browser time to receive the data - delay(1); - // close the connection: - client.stop(); - Serial.println("client disconnected"); - - if (trigger == 1) { - triggerRemote(); - } - else if (trigger == 2) { - triggerMotor(); - } - else if (trigger == 3) { - triggerAll(); - } - - trigger = 0; - } - -} - -void triggerRemote() { - Serial.println("triggerRemote"); - digitalWrite(remotePin, HIGH); - digitalWrite(ledPin, HIGH); - delay(clickDelay); - digitalWrite(remotePin, LOW); - digitalWrite(ledPin, LOW); -} - -void triggerMotor() { - Serial.println("triggerMotor"); - digitalWrite(motorPin, HIGH); - digitalWrite(ledPin, HIGH); - delay(clickDelay); - digitalWrite(motorPin, LOW); - digitalWrite(ledPin, LOW); -} - -void triggerAll() { - Serial.println("triggerAll"); - digitalWrite(remotePin, HIGH); - digitalWrite(motorPin, HIGH); - digitalWrite(ledPin, HIGH); - delay(clickDelay); - digitalWrite(remotePin, LOW); - digitalWrite(motorPin, LOW); - digitalWrite(ledPin, LOW); -}