Intro till Intel XDK IoT upplagan användande en temperatur Display (2 / 3 steg)

Steg 2: Skriv koden!

Programmering med XDK är lite annorlunda från programmering med Arduino. Arduino är i C, men XDK är med JavaScript. Viss erfarenhet med programmering är nödvändigt att förstå vad som pågår här, även om ingen behövs för att få detta att fungera. Jag har personligen erfarenhet i många språk, så allt jag behöver generellt att plocka upp en ny är nyckelorden. Jag försökt dokumentera vad jag kände var nödvändigt/hjälp, men om du behöver något förklarade bara fråga mig!

/ * jslint nod: true, vars:true, bitvis: true, unparam:true * /
/ * jshint oanvända: sant * /
Dessa ovan krävs av javascript.

var mraa = require("mraa"); Ett nytt objekt av klassen "mraa"

Grove Temperaturmodul, ansluten till analoga pin 0
var temperatur = nya mraa. AIO(0);
var B = 3975;

var knapp = nya mraa. Gpio(5);
var buttonState = 0;
var clearString = ""; Kommer att kallas när vi vill ta bort en linje på LCD

var skärmen = require('jsupm_i2clcd'); Ett nytt objekt av klassen "jsupm_i2clcd" (LCD-klass)
var Lcd = nya Screen.Jhd1313m1 (0, 0x3E, 0x62); Initiera Jhd1313m1 på 0x62 (RGB_ADDRESS) och 0x3E (LCD_ADDRESS)

Dessa är de 2 metoderna av LCD-. setCursor(row,column) och write(string)
Lcd.setCursor(0,0);
LCD.write("temperature:");

starta funktioner
checkButton();
tempDisplay();

funktion tempDisplay()
{
Om knappen inte trycks, Visa temperaturen...
IF(buttonState == 0)
{
var fahrenheit_temperature = getTemp(); be om temperaturen
Lcd.setCursor(1,0);
LCD.write(clearString); Avmarkera "HOLD" strängen, om det var där
Lcd.setCursor(1,0);
LCD.write ("F:" + parseInt(fahrenheit_temperature*100,10)/100); Detta visar temperaturen till 2 decimaler
}
setTimeout(tempDisplay,1000); ... varje sekund
}

funktion getTemp()
{
var en = temperature.read();

var motstånd = (1023 - en) * 10000 / a; få motståndet av sensorn;
var celsius_temperature = 1 / (Math.log(resistance / 10000) / B + 1 / 298.15) - 273.15; konvertera till temperatur, baserat på Groves datablad
var fahrenheit_temperature = (celsius_temperature * (9 / 5)) + 32; konvertera till fahrenheit

återvända fahrenheit_temperature; returnera temperaturen
}

funktion checkButton()
{
buttonState = button.read();

Låt användaren veta temperaturen visningen hålls
IF(buttonState == 1)
{
Lcd.setCursor(1,10);
LCD.write("Hold");
}

setTimeout(checkButton,10); kalla denna funktion varje 10 millisekunder


}

Jag skrev några andra Instructables med denna temperatur display som exempel inställning. I dem hade jag knappen aktivera bakgrundsbelysningen i några sekunder. Detta är lite annorlunda eftersom jag har knappen "håller" aktuell temperatur. Jag vet inte och kan inte hitta några referenser på hur, aktivera/inaktivera eller ändra färg på RGB bakgrundsbelysningen.

Se Steg
Relaterade Ämnen

Intel Edison IoT remote miljöparametrar monitor

Detta är en mycket grundläggande projekt helt gjord i javascript genom IDE "Intel XDK IoT edition". När du är klar, har du ett system för att övervaka miljöparametrar (temperatur, ljus och luft kvalitet), lokalt i LCD-skärmen och på distans via...

Skicka temperaturdata till Intel Analytics - Intel XDK (Intel IoT)

I detta Instructable, ska jag visa dig hur du skickar temperaturdata till IoT Analytics server från Edison ombord. Jag har sett massor av instructables förklarar hur man gör det men de flesta av dem använder Arduino IDE. Men om du vill använda Intel...

Hur till hålla användande din Gocco

en alternativ metod för att skapa skärmar och bläck för din ut Gocco som material blir svårare att hitta.Steg 1: Exponera din skärm Processen är uppbyggd kring en produkt som kallas StencilPro. Det liknar photoEZ som många av er har hört talas om, me...

Intro till Robotics

Robotar går snabbt från tecken och koncepten som endast återfinns i science fiction till del av vår vardag. Även om de kan ibland verkar vara elektromekaniska mysterier, blir personliga robotics mer tillgängliga varje dag! Billigare, högre kvalitet,...

Intro till LED Strips

LED strips är ett mycket roligt och effektivt sätt att ge massor av glöd och färg till ett projekt. I detta Instructable lär du dig de grundläggande typer av band och hur man kan koppla in dem till Intel Edison med Arduino breakout ombord. Dessa kret...

3D-utskrifter Intro till Makerbot

Här är och Intro till använder Makerbot Desktop skriva ut 3D-objekt på skrivbordet Makerbot Replicator 5! Mycket grundläggande instruktioner, Känn dig fri att röra runt med programvaran lite mer. (:Steg 1: Välj din fil. Antingen gör din egen 3D-model...

Intro till PIC-mikrokontroller

ett minimum av vad du behöver för att få igång programmering PIC micros för användning i elektronik projekt (robotics, etc)Steg 1: Vad du behöver för projektet Obs: verkar som om du har windows XP, det finns ingen gratis PIC programmerare programvara...

Intro till ARM del 1

I den här första videon kommer jag att ge ett intro till STM32F0Discovery utveckling styrelsen som vi kommer att använda för nästa några videor. Jag kommer att beskriva hårdvaran i styrelsen och vad alla dev kit har att erbjuda.Länk till ST: s hemsid...

Starta Business Blog användande Wordpress på 30 minuter

Zonen samtida virtuell handel erbjuder enorma möjligheter för företag med egna domäner online och business Bloggar spelar en viktig roll här. Alla de som strävar efter för en dominerande närvaro över zonen business online, är en business-blogg den me...

Intro till IR bilder

detta är en kort och enkel intro i till IR-fotografering. Det finns en hel del grejer på IR-bilder men jag hade fortfarande att göra en massa prov och misstag och gräva att komma så långt som jag har gått. Mycket av det handlar om fotoredigering, men...

Med hjälp av en avlägsen desktopen användande TeamViewer

hur du konfigurerar Remote Desktop användande TeamViewerMånga användare tycker det är kul om vi kan fjärrstyra ansluta till alla skrivbord, men har svårt på grund av hård allt de behöver göra.Men det finns ett verktyg som ger ett mycket kraftfullt gr...

Konfiguration av MKS Sbase v1.2 32-bitars Controller grunderna och intro till Smoothieware.

ProlougeJag är verkligen glad att se hur denna grundläggande intro till Smoothieware och MKS Sbase 1.2 controller har fått så mycket uppmärksamhet, och hoppas verkligen att det kommer att hjälpa människor att komma igång eller besluta att inte.Jag ha...

Fläkt RPM med inre hall effekt sensor och Arduino (Intro till hårdvara avbryta och LCD display)

För mitt andra projekt för arbete, jag var tvungen att mäta rotationshastigheten av rotoren i varv Per minut (RPM) av en modifierad dator fläkt. Den hade tre kablarna kommer ut och som kryssat mig som kanske har något sätt att kontrollera sin hastigh...

[Del 2] Intro till Java - variabler

Innan du läser:Du borde ha läst min första handledning innan du läser den här! Vissa saker är inte meningsfullt om du inte!Nu när du har slutfört ett grundläggande program, varför vi får in en viktig byggsten i kodning; variabler! Variabler som nämns...

Hur man laddar upp bild arkivera användande servlet/jsp

jag har försökt att visa det bästa sättet att ladda upp bild arkivera användande servlet/jsp.Du kan använda liknande sätt att ladda upp andra filer också....

Rocket's Command Center - användande Spark kärna

Lägg till livet i någon gammal affisch på hem med en Spark kärnar ur, som är frimärke-storlek WiFi modul för att interagera med fysiska saker och Neo-pixlar som är mycket liten smart LED.I mitt fall är det en affisch av min favorit karaktär "Rocket&q...

Skicka sensordata (DHT11 & BMP180) till ThingSpeak med en Arduino, använder ENC28J60 Ethercard

Obs: Detta instructable är för gamla ENC26J60 Ethershield och ethercard. Om du har den moderna WIZ5100 baserade Ethernetshield eller en ESP8266 gå besöka min andra instructable som jag nämner nedanOm ett och ett halvt år sedan jag publicerade baserat...

Intro till VB Script: en Nybörjarguide: del 2: arbeta med filer

väl i min senaste VBScript instructable, gick jag över hur man gör ett skript för att stänga av din internet att spela Xbox360. Idag har jag ett annat problem. Min dator har varit stängande ned vid slumpmässiga tidpunkter och jag vill logga in varje...

Hur du använder en LCD-display - Arduino handledning

LiquidCrystal biblioteket kan du kontrollera LCD skärmar som är kompatibla med Hitachi HD44780 föraren. Det finns många av dem där ute, och du kan vanligtvis hitta dem av 16-pin-gränssnittet.I denna tutorial kommer du lära dig hur du använder LCD dis...