IoT Workshop: Lab 1 - Digital utgång (4 / 6 steg)
Steg 4: Skriv koden
Eftersom vi använder Node.js och Johnny-fem för denna labb kan vi dra nytta av beroendet som Node.js ger. Vi måste låta vår ansökan vet att det har ett beroende på Johnny-fem ramen så att när ansökan är förberedd för utförandet, det kan hämta beroenden som krävs för oss. I Node.js görs detta med en package.json -fil. Denna fil innehåller vissa grundläggande meta-data om programmet, inklusive alla beroenden paket som kan hämtas med hjälp av noden paketet Manager (NPM).
Använda din favorit/önskad text/kod editor (jag föredrar Visual Studio kod), skapa en fil i din verkstad mapp med namnet package.json och lägga till följande:
{
"namn": "labb",
"databas": {
"typ": "git",
"url": ""
},
"version": "0.1.0",
"privata": "true"
"beroenden": {
"johnny-five": "^ 0.8.0"
}
}
Med package.json kan fil skapad du använda NPM för att dra ner de nödvändiga nod modulerna. Öppna ett terminalfönster (Mac OS X) eller Node.js befalla snabb (Windows) och kör följande kommandon (Ersätt c:\Development\IoTLabs med den stig som leder till mappen verkstad):
CD C:\Development\IoTLabs
NPM installera
Härnäst ska du skapa programkoden för att göra LED turn på och av.
Skapa en annan fil i samma katalog som heter lab001.js.
Det första du behöver göra är definierar de objekt som du kommer att arbeta med i programmet. De tre saker som är viktiga är ett Johnny-fem ram-objekt ett objekt som representerar Arduino, utgångsstiftet LED kommer att anslutas till.
var fem = require("johnny-five");
var ombord = nya fem. Board();
var LEDPIN = 13.
Nu när objekt skapas, kan du få på kött från programmet. Johnny-fem ger en styrelsen initiering konstruktion som gör en motringning när styrelsen är på och initierade (startat). I callback är funktion där programkoden körs.
Johnny-fem ger en samling av objekt som representerar styrelsen, stiften på styrelsen och olika typer av sensorer och enheter som kan anslutas till styrelsen. För övningen ska du skriva kod som är ganska trogen Arduino C programmering basmodellen (vi ska få in vad Johnny-fem ger oss senare). Detta hjälper dig att förstå några grundläggande begrepp för hur en Arduino Yun.
I följande kod skapas en callback funktion som anropas när Arduino initieras och redo (detta är ett Johnny fem begrepp). Du ställer digital stift 13 (LEDPIN variabeln ovan) som en utgångsstiftet (vs en ingångsstift), vilket betyder att programmet räknar med att skicka spänning från stiftet i motsats till läsa den spänning som kommer in till stift. Du kommer att skapa en loop som körs en gång per sekund och insidan som slinga som du skriver till pin låg eller hög spänning. Eftersom stift 13 är en digital pin, dess enda alternativ är 0 och 1 - i en värld av Arduino som är låg och hög. När du skickar 0 (eller låg) till PIN-koden, som motsvarar off (skicka ingen spänning). När du skickar 1 (eller hög) till stift som motsvarar på (skicka full spänning).
Board.on ("ready", function() {
Inställt läge OUTPUT stift 13
this.pinMode (LEDPIN, fem. Pin.OUTPUT);
Skapa en loop "flash/blink/strobe" ett led
var val = 0;
This.loop (1000, function() {
this.digitalWrite (LEDPIN, (val = val? 0: 1));
});
});
Johnny-fem faktiskt har en objektmodell för en LED och vi kunde också har helt enkelt gjort följande, men jag ville att du skulle se hur funktionen digitalWrite() fungerar innan abstrahera det bort.
Board.on ("ready", function() {
var ledde = nya fem. LED(LEDPIN);
LED.Blink(1000);
});