Advertisement
Guest User

Arduino Code

a guest
Dec 15th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.   WiFi Web Server LED Blink
  3.  
  4.  A simple web server that lets you blink an LED via the web.
  5.  This sketch will print the IP address of your WiFi Shield (once connected)
  6.  to the Serial monitor. From there, you can open that address in a web browser
  7.  to turn on and off the LED on pin 9.
  8.  
  9.  If the IP address of your shield is yourAddress:
  10.  http://yourAddress/H turns the LED on
  11.  http://yourAddress/L turns it off
  12.  
  13.  This example is written for a network using WPA encryption. For
  14.  WEP or WPA, change the WiFi.begin() call accordingly.
  15.  
  16.  Circuit:
  17.  * WiFi shield attached
  18.  * LED attached to pin 9
  19.  
  20.  created 25 Nov 2012
  21.  by Tom Igoe
  22.  */
  23. #include <SPI.h>
  24. #include <WiFi101.h>
  25. #include <Servo.h>
  26.  
  27. #include "arduino_secrets.h"
  28. ///////Skriv sensitive data på arduino secrets.h
  29. char ssid[] = "Zagragja House";        // Navnet på nettverket
  30. char pass[] = "sedivalla";    // Nettverks passord
  31. int keyIndex = 0;                 // Internet index for WEP
  32.  
  33.  
  34. bool automatic = false;
  35.  
  36.  
  37. int servoAngle = 135; // Gradene til servoen
  38. int servoPin = 9; // Pinen til motoren på arduinoen
  39. Servo servo;
  40. const int ledPin = 12; // Røde led pin
  41. const int ledPin2 = 11; // Blå led pin
  42. int ledState = LOW;   // Skal røde være på eller av på starten?
  43. int ledState2 = LOW;   // Skal blå være på eller av på starten?
  44.  
  45. int status = WL_IDLE_STATUS;
  46. WiFiServer server(80);
  47.  
  48. void setup() {
  49.   Serial.begin(9600);      // initialisere seriell kommunikasjon
  50.   servo.attach(servoPin);
  51.   pinMode(ledPin, OUTPUT);  // Sett på ledpin mode
  52.   pinMode (ledPin2, OUTPUT);
  53.  
  54.   // Sjekk om Arduinoen har en wifi-skjold
  55.   if (WiFi.status() == WL_NO_SHIELD) {
  56.     Serial.println("WiFi shield not present");
  57.     while (true);       // Ikke fortsett
  58.   }
  59.  
  60.   // Prøv å tilkoble til netteverket:
  61.   while ( status != WL_CONNECTED) {
  62.     Serial.print("Attempting to connect to Network named: ");
  63.     Serial.println(ssid);                   // Print ut nettverks navnet:
  64.  
  65.     // Tilkoble til nettverk WPA/WPA2, bytt hvis den er åpent nettverk.
  66.     status = WiFi.begin(ssid, pass);
  67.     // Vent 10 sekunder på å tilkoble
  68.     delay(10000);
  69.   }
  70.   server.begin();                           // Start web serveren på port 80
  71.   printWiFiStatus();                        // Du er tilkoblet nå, print ut status
  72. }
  73.  
  74.  
  75. void loop() {
  76.   WiFiClient client = server.available();   // listen for incoming clients
  77.  
  78.   if (client) {                             // Hvis du får en klient
  79.     Serial.println("new client");           // Print melding på seriell overvåkeren
  80.     String currentLine = "";                // Lage en string for ankommende data.
  81.     while (client.connected()) {            // Loop samtidig når clientet er tilkoblet
  82.       if (client.available()) {             // Hvis det er bytes til å lese
  83.         char c = client.read();             // les byten, dermed
  84.         Serial.write(c);                    // Print ut til seriell monitor
  85.         if (c == '\n') {                    // hvis byte er en ny linje karakter
  86.  
  87.           // Hvis nåværende linjen er 0, så har du 2 linjer på samme rad.
  88.           // Dette er enden til HTTP klient forespørsel, gi svar:
  89.           if (currentLine.length() == 0) {
  90.             // HTTP-headere starter alltid med en responskode (f.eks. HTTP/1.1.120)
  91.             // og en innholdstype slik at klienten vet hva som kommer, deretter en tom linje:
  92.             client.println("HTTP/1.1 200 OK");
  93.             client.println("Content-type:text/html");
  94.             client.println();
  95.  
  96.             // innholdet i HTTP-svaret følger overskriften:
  97.             client.print("Click <a href=\"/T\">here</a> to turn on blue led and open the gate.<br>");
  98.             client.print("Click <a href=\"/M\">here</a> to turn on red led and close the gate.<br>");
  99.             client.print("Click <a href=\"/L\">here</a> to turn on red led and close the gate.<br>");
  100.  
  101.  
  102.  
  103.             // HTTP-Svaret ender med en blank linje:
  104.             client.println();
  105.             // Slå ut av while loopen.
  106.             break;
  107.           }
  108.           else {      // hvis du har ny linje, fjern nåværende linje.
  109.             currentLine = "";
  110.           }
  111.         }
  112.         else if (c != '\r') {    // hvis du får noe annet enn carriage, få tilbake karakter,
  113.           currentLine += c;      // legg den på enden av nåværende linjen.
  114.  
  115.         }
  116.  
  117.         // Sjekke om klient forespørselen er å få en /T eller /M på slutten.
  118.         if (currentLine.endsWith("GET /T")) {
  119.           if (automatic == true){
  120.             automatic = false;
  121.           }
  122.           digitalWrite(ledPin2, HIGH);               // GET /L Slår på blå led, slår av rød lys og snurrer servo motoren på -90 grader.
  123.           digitalWrite(ledPin, LOW);
  124.           servo.write(-90);
  125.         }
  126.         if (currentLine.endsWith("GET /M")) {
  127.           if (automatic == true){
  128.             automatic = false;
  129.           }
  130.           digitalWrite(ledPin2, LOW);               // GET /L Slår av blå led, slår på rød lys og snurrer servo motoren på 90 grader.
  131.           digitalWrite(ledPin, HIGH);
  132.           servo.write(90);
  133.        
  134.         if (currentLine.endsWith("GET /L")) {        
  135.           if (automatic == false){
  136.             automatic = true;
  137.           }
  138.           while (automatic == true){  
  139.             digitalWrite(ledPin, HIGH);               // GET /L turns the LED off
  140.             servo.write(90);
  141.             delay(5000);
  142.             digitalWrite(ledPin, LOW);
  143.           }
  144.         }
  145.         }
  146.       }
  147.     }
  148.     // lukker tilkoblingen:
  149.     client.stop();
  150.     Serial.println("client disonnected");
  151.   }
  152. }
  153.  
  154.      
  155.      
  156. void printWiFiStatus() {
  157.   // Print navnet til nettverket du er tilkoblet til:
  158.   Serial.print("SSID: ");
  159.   Serial.println(WiFi.SSID());
  160.  
  161.   // Print wifi skjoldets IP adresse:
  162.   IPAddress ip = WiFi.localIP();
  163.   Serial.print("IP Address: ");
  164.   Serial.println(ip);
  165.  
  166.   // Print signalsyrke:
  167.   long rssi = WiFi.RSSI();
  168.   Serial.print("signal strength (RSSI):");
  169.   Serial.print(rssi);
  170.   Serial.println(" dBm");
  171.   // print where to go in a browser:
  172.   Serial.print("To see this page in action, open a browser to http://");
  173.   Serial.println(ip);
  174. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement