Terug

Arduino 5 – IOT server

Een sensor toevoegen en de sensorwaarde sturen naar de IOT server

  1. Sluit het lichtsensor aan zoals hieronder aangegeven:

  2. Ga je in je browser naar https://cmd.camp/iot/get/xxxxxx,
    vervang xxxxxx door de server die je op de Arduino bij sendKey[] heb ingevuld.
    Als het goed is zie je nu elke keer als je de browser ververst de laatste waarde die door de sensor is gemeten.
    Als je problemen hebt, check dan de Arduino FAQ/Troubleshooting pagina.

De loop

  1. Voordat we verder gaan is het belangrijk dat we begrijpen wat er in de code gebeurt. Lees aan de hand van deze afbeelding wat er in de loop functie gebeurt. Ga pas verder als je goed begrijpt waar je elk deel van de loop voor gebruikt. (Klik op de afbeelding voor een grotere versie)

Extra: De sensorwaarde schalen

  1. Soms is het voor de ontvanger van je waarde in JavaScript makkelijker als jij de waarde die je van de sensor leest alvast omzet in een ander bereik.

    Bijvoorbeeld: Jouw lichtsensor meet alleen maar waarden tussen de 300 en 500, maar het zou voor JavaScript handiger zijn als die waarde omgerekend kon worden naar een getal tussen de 0 en 100. Dit doe je met de map functie in Arduino.

    Plak de volgende code in je loop, direct nĂ¡ de regel code waar de sensorwaarde wordt gelezen:

    sensorValue = map(sensorValue, 300, 500, 0, 100); 
               // map(inputWaarde, laagste input, hoogste input, laagste output, hoogste output)
    

LED

  1. Sluit een LED aan op poort 3 van je Arduino
  2. Ga je in je browser naar https://cmd.camp/iot/send/xxxxxx/1, vervang xxxxxx door de server die je op de Arduino bij getKey[] heb ingevuld.
    Als het goed is gaat de LED aan.
    Als je een 0 stuurt gaat de LED weer uit.
    Bekijk de code, welk deel van het voorbeeld is verantwoordelijk voor het aan en uitgaan van de LED?

Een servomotor toevoegen en die besturen vanuit de server

  1. Laat alles wat je nu hebt zitten op je breadboard. Voeg daar een servomotor aan toe.

  2. Om de servomotor te laten werken doen we een paar toevoegingen aan de code:

    // voeg dit toe aan het begin van je code
    #include <Servo.h>
    Servo motor1;
    
    // voeg dit toe aan je setup functie
    motor1.attach(6);
    
  3. Zoek in de loop naar de regels
    // do something with response
    if (response == 1) {
        digitalWrite(3, HIGH);
    } else {
        digitalWrite(3, LOW);
    }
    

    Vervang dat door deze opdracht:

    // write response to the servo
    motor1.write(response);
    

    Deze regel zorgt ervoor dat de servomotor gaat draaien volgens de waarde die van de server is ontvangen.
    Sla de code op onder een nieuwe naam en upload het naar je Arduino.

  4. Als het uploaden succesvol is verlopen ga je in je browser naar https://cmd.camp/iot/send/xxxxxx/cijfer,
    vervang xxxxxx door de server die je op de Arduino bij getKey[] heb ingevuld.
    vervang cijfer door een getal tussen 0 en 180.
    Als het goed is zie je nu elke keer als je een ander getal verstuurt dat je servomotor anders gaat draaien.
    Als je problemen hebt, check dan de Arduino FAQ/Troubleshooting pagina.