Kyl övervakning med Arduino MKR1000 och thethings.iO (7 / 12 steg)

Steg 7: Ladda upp skissen Arduino MKR1000

Ladda ner skissen från denna tutorial.

#include < WiFi101.h >
#include < WiFiClient.h >
#include < OneWire.h >

#include < thethingsiO_mkr1000.h >
OneWire ds(2);

#define WIFI_AP "ditt ESSID här
#define WIFI_PWD "Ditt lösenord här"

int status = -1;
int millis_start;

#define TOKEN "din TOKEN här"

thethingsiOWiFi thing(TOKEN);

void setup(void) {
millis_start = millis();
Serial.BEGIN(115200);
startWifi();
}

void loop(void) {
byte i.
byte närvarande = 0;
byte type_s;
byte data [12].
byte addr [8].
flyta celsius, fahrenheit;

om (! ds.search(addr)) {
Serial.println ("inga fler adresser.");
Serial.println();
DS.reset_search();
Delay(250);
hemkomst.
}

Serial.Print ("ROM =");
för (jag = 0; jag < 8; i ++) {
Serial.write(' ');
Serial.Print (addr [i], HEX);
}

om (OneWire::crc8 (addr, 7)! = addr[7]) {
Serial.println ("CRC är inte giltig!");
hemkomst.
}
Serial.println();

den första ROM byten indikerar vilket chip
Switch (addr[0]) {
fall 0x10:
Serial.println ("Chip = DS18S20"); eller gamla DS1820
type_s = 1;
bryta;
fall 0x28:
Serial.println ("Chip = DS18B20");
type_s = 0;
bryta;
fall 0x22:
Serial.println ("Chip = DS1822");
type_s = 0;
bryta;
standard:
Serial.println ("enheten är inte en DS18x20 familj enhet.");
hemkomst.
}

DS.Reset();
DS.Select(addr);
DS.write(0x44, 1); Starta konvertering, med parasit driver på i slutet

Delay(1000); kanske är 750ms nog, kanske inte
Vi skulle göra en ds.depower() här, men Återställ tar hand om den.

Nuvarande = ds.reset();
DS.Select(addr);
DS.write(0xBE); Läs Scratchpad

Serial.Print ("Data =");
Serial.Print (idag, HEX);
Serial.Print("");
för (jag = 0; jag < 9; i ++) {/ / vi behöver 9 byte
data [i] = ds.read();
Serial.Print (data [i], HEX);
Serial.Print("");
}
Serial.Print ("CRC =");
Serial.Print (OneWire::crc8 (data, 8), HEX);
Serial.println();

Konvertera data till faktisk temperatur
eftersom resultatet är en 16-bitars heltal, bör det
lagras till en "int16_t" typ, som alltid är 16 bitar
även när sammanställt på en 32-bitars processor.
int16_t rå = (data [1] << 8) | data [0];
om (type_s) {
rå = rå << 3. 9 bit upplösning standard
om (data [7] == 0x10) {
"räkna fortfarande" ger full 12 bitars upplösning
rå = (rå & 0xFFF0) + 12 - data [6].
}
} annat {
byte cfg = (data [4] & 0x60);
vid lägre res, de låg bitarna är odefinierat, så låt oss noll dem
om (cfg == 0x00) rå = raw & ~ 7. 9 bit upplösning, 93.75 ms
annars om (cfg == 0x20) rå = raw & ~ 3. 10 bitars res, 187.5 ms
annars om (cfg == 0x40) rå = raw & ~ 1. 11 bitars res, 375 ms
standard är 12 bitars upplösning, 750 ms omvandlingstid
}
Celsius = (float) raw / 16,0;
Fahrenheit = celsius * 1,8 + 32,0;
Serial.Print ("temperatur =");
Serial.Print(Celsius);
Serial.Print ("Celsius,");
Serial.Print(Fahrenheit);
Serial.println ("Fahrenheit");
om (millis() > = millis_start + 10000) {
thing.addValue ("Temperatur", celsius);
Thing.send();
millis_start = millis();
}
}

void startWifi() {
Serial.println ("ansluta MKR1000 till nätet...");
WiFi.begin();
försök att ansluta till Wifi-nätverk:
medan (status! = WL_CONNECTED) {
Serial.Print ("försöker ansluta till WPA SSID:");
Serial.println(WIFI_AP);
WiFi.begin (WIFI_AP, WIFI_PWD);
vänta 10 sekunder för anslutning:
Delay(10000);
status = WiFi.status();
}
}

Du måste ändra tre saker i koden, fylla i:

  1. Essid nätverkets
  2. Lösenord för nätverket
  3. Din token (få det genom att klicka på din produkt på thethings.iO)

Spara den och ladda upp den till Arduino.

Om du klickar på den seriella bildskärmen bör du den uppmätta temperaturen.

Se Steg
Relaterade Ämnen

PC mus gjorda med Arduino Uno och Joystick

Hej! Välkommen till min första Instructable.Jag nyligen började mixtra med min nya Arduino Uno och bestämde mig för att hitta ett program för en PS2 joystick modul. Jag trodde det skulle vara tjusig att förvandla min Arduino till en joystick kontroll...

Stoppur & varvtid med Arduino Nano och Maxi 7219 LED Display (8 gräva X 7 Seg)

Hej alla,Detta är en mycket lätt projekt göras åt ett stoppur med Arduino Nano och Maxi 7219 LED display (8 siffror x 7 segment).Stoppuret använda denna typ av display är ny och jag kunde inte hitta något liknande.De första 4 siffrorna i displayen vi...

Power övervakning med Arduino och logga in i Google blad

Sedan senaste veckorna tänkte jag på att göra ett projekt som kan hjälpa mig att hålla ett spår på min dagliga energi användningsområden. I detta projekt använder jag en 30A övervakning styrelse. denna styrelse har 6 strömsensor som kan läsa upp till...

Dataöverföring av icke-internet ansluten solvärmesystem med Arduino, PHP och MySQL

BeskrivningSyftet med denna arduino projekt är att förvärva och överföra data via GSM-nätet. Fördelen är att kunna samla in data (till exempel övervakning av en sol anläggning) även om det finns ingen svårt kabelansluten Internetanslutning.Detta är h...

Real Time temperatur loggning med Arduino, NodeJS och Plotly!

Motivationen för det här projektet grodde efter behandlingen om Mark Zuckerberg önskan att skapa ett Smart hem för en av hans 2016 projekt. Att vara nyfiken på mig själv, jag ville försöka genomföra en mycket grundläggande temperatur loggning program...

Bilar leksak med arduino uno och 3dprinting

Kroppen av bilen trycktes av 3D-skrivare. (makerbot mini 5.)Och hjärnan är utformad med enkla arduino skiss...Först min 3D printer(mini) plattform storlek är så liten (about10x10).Så, jag omgjorda bil kropp med rhino 3D som lämplig plattform storlek...

AVR programmering med Arduino, AVRdude och AVR-gcc

AVR är en gemensam, billig typ av mikro-controller som kan verka skrämmande att arbeta med, men oroa dig inte! När du har Ställ in grundläggande kunskap och kan de bli inte bara nyttigt, men viktigt att nya projektidéer som du drömmer upp!Denna handl...

Styra åtkomsten till din låsa distans med Arduino, SensorMonkey och RF modul

styra åtkomsten till din dörr från någonstans på planeten med hjälp av din telefon, Tab eller PC.Denna inställning har två huvudsegment, har en GUI med hjälp av jQuery, SensorMonkey, Freeduino (Arduino kompatibel utveckling styrelsen) och en sändare....

Universell fjärrkontroll med Arduino, 1Sheeld och Android mobil

Detta projekt visar hur du kan styra din TV, satellitmottagare och Stereo med din Android mobil istället för att använda det fjärrkontroll.I princip kan du använda denna teknik för alla andra enheter som fungerar med fjärrkontrollen. Jag undrar om du...

2-spelare Pong spel med Arduino Uno och 8 x 8 ledde matrisen

klassiska Pong spelet genomförs på en Arduino Uno och 8 x 8 mono-färg ledde matrisen.Spelare pinnar styrs av en potentiometer för varje spelare. Vill du pinnen att gå till vänster, bara slå potentiometern kvar.Hastigheten på spelet ökar med tiden. Ef...

Mäta hastigheten på ljud med Arduino microcontroller och ultrasonic sensor

Min 6-åriga dotter, Kennet, visar hur man mäter ljudets hastighet i luft med Arduino Uno microcontroller och ultrasonic sensor.Jag tycker detta är ett bra projekt för barn att blir exponerade för vetenskap, teknik och matematik.Steg 1: Vi behöver 1....

Pimpa din choklad med Arduino IDE och ATtiny13

Idén till projektet kom till mig på väg till papperskorgen. Jag fick i uppdrag att kasta bort en ruta som bara har tömts på sitt ursprungliga Ferrero Rocher sötma innehåll av min kära fru. Detta var strax efter alla hjärtans dag. Så jag fick spendera...

No.03 ratt köra R/C bil med Arduino, webbkamera och net. USB etc. Men detta är krypande och 4WS (4 hjulsstyrning)

denna bil No.03 använder liknande system som bil No.02, men olika chassi Crawler CR-01 tillämpas, som har tillval 2 servon system och som gör krabba-körning (4 hjul samma riktning) eller kort svängradie körning (fram och bakhjulen annan riktning) til...

Sjungande växt. Gör din anläggning sjunga med Arduino, touche och en gameduino

projektet är en del av experiment gjort medan du gör en konstnär i bostad på Instructables. Du kan se de andra projekten här.Att göra en växt sjunga har ett trick sedan Theremin uppfanns. Här kommer jag att lära dig hur man gör detta med och arduino...

Hur du använder 2,4 tums TFT LCD-SPFD5408 med Arduino Uno och Mega

Detta Instructable är att veta hur man arbetar TFT 2,4 med controller SPFD5408med Adafruit för TFT bibliotek.Detta bibliotek är Adafruit TFT bibliotek ändras till fungerar i TFT 2,4 sköldar med SPFD5408 controller.Nu är det för Uno och Mega, är Teens...

Hur du använder IR-fjärrkontroller med Arduino (aktuella och uppdaterade)

Jag är trött på dessa komplicerade tutorials om hur du använder vissa saker. Jag gillar enkla och lätta att förstå, steg för steg instruktioner. Mitt största problem var med IR och POV *. Jag har äntligen lärt hur man styr mitt projekt med valfri TV...

SIM900A gränssnitt med Arduino UNO och kör enkelt AT-kommandon

Hej killar,Jag har min nya SIM900A modul av SIMCom. Jag var fasadbeklädnad problem samtidigt som samverkar med Arduino Mega.Sedan försökte jag gränssnitt med arduino UNO. Så i detta instructable jag ska visa dig hur jag löste problemen och började sp...

1 LED spel med Arduino Uno och en RGB LED

ibland har jag bara dessa dagar där jag verkligen vill göra något snyggt med Arduino jag har liggande, men jag vet jag inte har tålamod för ett mer engagerat projekt som tar mer än en dag eller så. Detta är för en av dessa dagar.Utgångspunkten är enl...

Frisk, Smart & naturliga luft renare med Arduino, WIFI och Blynk

Hej, och Välkommen till detta Instructable!Vi hör mycket om föroreningsproblem idag. När jag gjorde en del forskning om effekten av dålig luft för vår hälsa, upptäckte jag lite statistik om hur illa är det inomhus jämfört med uteluften. Vår lägenhet...