Internet kontrollerad rörelse detektor - partikel Core (4 / 5 steg)

Steg 4: kod



Efter montering kretsen alla du behöver göra är få kärnan ansluten till internet, och efter det är gjort är det dags att ladda upp koden till kärnan. Här är koden för att laddas upp...

// -----------------------------------------
Publicera och Dashboard med Photoresistors
// -----------------------------------------
Denna app kommer att publicera en händelse när stråla av ljust mellan LED och fotomotstånd är bruten.
Det kommer att publicera en annan händelse när ljuset är intakt igen.
Precis innan vi ska börja med att förklara vilket stift allt är ansluten till.
int ledde = D0; Det är där din LED är inkopplad. Den andra sidan går till en ansluten till GND. resistor
int boardLed = D7; Detta är den LED som redan finns på enheten.
Kärnan är det LED i det övre högra hörnet.
Fotonen är det bredvid D7 PIN-koden.
int fotomotstånd = A0; Det är där din fotomotstånd är inkopplad. Den andra sidan går till "power" stift (nedan).
int power = A5; Detta är den andra änden av din fotomotstånd. Den andra sidan är ansluten till "fotomotstånd" pin (ovan).
Följande värden få ställa in när enheten startar upp och kalibrerar:
int intactValue; Detta är det genomsnittliga värdet att fotomotstånd läser när balken är intakt.
int brokenValue; Detta är det genomsnittliga värdet att fotomotstånd läser när strålen bryts.
int beamThreshold; Detta är ett värde som är halvvägs mellan ledOnValue och ledOffValue, över vilken antar vi att led är på och nedanför som antar vi att den är avstängd.
bool beamBroken = false; Denna flagga används att markera om vi har en ny status eller nu. Vi kommer att använda det i slingan.
Vi börjar med setup-funktionen.
void setup() {
Denna del är mestadels samma:
pinMode(led,OUTPUT); Vår LED stift är utdata (LED-belysning)
pinMode(boardLed,OUTPUT); Våra inbyggda LED är utdata samt
pinMode(photoresistor,INPUT); Vår fotomotstånd stift input (läsa fotomotstånd)
pinMode(power,OUTPUT); PIN-koden driver fotomotstånd är utdata (skicka ut konsekvent driver)
Nästa, skriva fotomotstånd makt vara det högsta möjliga, vilket är 4095 i analog.
digitalWrite(power,HIGH);
Eftersom alla sätter upp deras lysdioder annorlunda, kommer vi också börja med att kalibrera våra fotomotstånd.
Den här kommer att kräva lite input från användaren!
Först, D7 LED kommer för att berätta för dig att lägga din hand framför strålen.
digitalWrite(boardLed,HIGH);
Delay(2000);
Sedan D7 lysdioden slocknar och lysdioden tänds.
digitalWrite(boardLed,LOW);
digitalWrite(led,HIGH);
Delay(500);
Nu ska vi ta några avläsningar...
int on_1 = analogRead(photoresistor); Läs fotomotstånd
Delay(200); vänta 200 millisekunder
int on_2 = analogRead(photoresistor); Läs fotomotstånd
Delay(300); vänta 300 millisekunder
Nu blinkar för att låta oss veta att du har tagit avläsningarna...
digitalWrite(boardLed,HIGH);
Delay(100);
digitalWrite(boardLed,LOW);
Delay(100);
digitalWrite(boardLed,HIGH);
Delay(100);
digitalWrite(boardLed,LOW);
Delay(100);
Nu kommer D7 LED för att berätta för dig att ta bort din hand...
digitalWrite(boardLed,HIGH);
Delay(2000);
D7 LED stängs av...
digitalWrite(boardLed,LOW);
// ... Och vi kommer att ta två fler behandlingar.
int off_1 = analogRead(photoresistor); Läs fotomotstånd
Delay(200); vänta 200 millisekunder
int off_2 = analogRead(photoresistor); Läs fotomotstånd
Delay(1000); vänta en sekund
Nu flash D7 LED på och av tre gånger till oss att vi är redo att gå!
digitalWrite(boardLed,HIGH);
Delay(100);
digitalWrite(boardLed,LOW);
Delay(100);
digitalWrite(boardLed,HIGH);
Delay(100);
digitalWrite(boardLed,LOW);
Delay(100);
digitalWrite(boardLed,HIGH);
Delay(100);
digitalWrite(boardLed,LOW);
Nu vi i genomsnitt "till" och "off" värden för att få blir en uppfattning om vad motståndet när lampan är på och av
intactValue = (on_1 + on_2) / 2;
brokenValue = (off_1 + off_2) / 2;
Låt oss också beräkna värdet mellan ledOn och ledOff, över vilken antar vi att led är på och nedanför som vi antar led är avstängd.
beamThreshold = (intactValue + brokenValue) / 2;
}
Nu för loopen.
void loop() {
/ * I denna loop funktion, vi kommer att kontrollera om balken har brutits.
När status för balken ändras, kommer vi att skicka en Spark.publish() till molnet
så att om vi vill, vi kan kontrollera från andra enheter när lampan är på eller av.
Vi kommer också aktivera D7 lampan när fotomotstånd upptäcker en balk breakagse.
*/
om (analogRead(photoresistor) > beamThreshold) {
/ * Om du är över tröskeln, antar vi balken är intakt.
Om strålen var intakt innan, men behöver vi inte ändra något.
Vi ska använda flaggan beamBroken för att hjälpa oss reda på detta.
Denna flagga övervakar den aktuella statusen för strålen.
Efter strålen är trasiga, är det inställt sant
och när strålen återansluter är inställd på FALSE.
*/
om (beamBroken == true) {
Om strålen bröts innan, är detta en ny status.
Vi kommer att skicka en publicering till molnet och aktivera LED.
Skicka en publicering till dina enheter...
Spark.publish("beamStatus","intact",60,Private);
Och flash ombord LED på och av.
digitalWrite(boardLed,HIGH);
Delay(500);
digitalWrite(boardLed,LOW);
Slutligen satte flaggan för att återspegla aktuell status för strålen.
beamBroken = false;
}
annat {
Annars är detta inte en ny status, och vi behöver inte göra någonting.
}
}
annat {
Om du är under tröskelvärdet, är balken förmodligen bruten.
om (beamBroken == false) {
Skicka en publicering...
Spark.publish("beamStatus","Broken",60,Private);
Och flash ombord LED på och av.
digitalWrite(boardLed,HIGH);
Delay(500);
digitalWrite(boardLed,LOW);
Slutligen satte flaggan för att återspegla aktuell status för strålen.
beamBroken = sant;
}
annat {
Annars är detta inte en ny status, och vi behöver inte göra någonting.
}
}
}

Se Steg
Relaterade Ämnen

Partikel Core - Internet-knappen

I denna tutorial kommer jag för att visa dig hur du kommer igång med knappen partikel core internet internet-knappen är en partikel core sköld, som har -12 RGB lysdioder6 axlig accelerometerTryck-knapparTemperatursensorSummernDetta är en bra sköld at...

Partikel Core - rörelsesensor knappen Internet

I detta instructable jag ska visa dig hur man bygger en rörelsesensor med en partikel core eller foton och en Internet-knappen. Här används ombord 3 axlig accelerometer om knappen Internet och ändrar färgen på lysdioderna med avseende på förslaget.I...

Internet kontrollerad fisk mat Feeder

Detta är handledning tre av serien, där jag tar elektroniska apparater som normala du har kontroll över med en Arduino, till internet med en Spark Core. I detta instructable kommer jag att visa dig hur du kan göra en internet kontrollerad Fisk mat Fe...

Partikel Core - motordrivna

Jag har använt Partikel Core för mycket någon gång och bästa med partikel kärnan är det är liten och transportabel. Partikeln Core förbrukar 3.3V i genomsnitt 150mA så jag ut vissa begäranden att föreslå en portable power supply och jag gjorde bara a...

Partikel Core - tryckgivare

Detta instructable är del av en serie av instructables med partikel Core- eller fotonstråle, min tidigare instructables visar dig hur att få sagt med kärnan, några riktigt häftiga projekt, internet-knappen och massor mer. Så se till att du kontroller...

Partikel Core - temperaturgivare

Partikel core är bra för dess IoT tillämpningar och en av dessa ansökningar är att ta gemensamma elektronik till internet, i denna tutorial jag ska visa dig hur du ansluter en temperaturgivare och läsa värden över internet. Du kan läsa igenom min tid...

Partikel Core / Photon - Gmail-meddelaren

I den sista läraren visade jag dig hur till mönster med partikel kärnan och nu är dags för att sätta det i bruk i denna tutorial jag ska visa dig hur man bygger en Gmail-meddelaren med knappen internet. Knappen internet visar det mönster som du skapa...

Partikel Core / Photon - Närhetssensor

I denna tutorial ska jag visa dig hur du utformar en Rörelsesensor (infraröd) tillsammans med Partikel Core eller foton. Detta instructable är en del av en serie av instructables använder partikel kärna du kan kolla det innan du försöker ut detta ins...

Skapa en internet kontrollerad robot med Livebots

här kommer du lära dig hur du skapar en internet kontrollerad robot eller annan installation med Livebots.Livebots är ett projekt jag arbetar på som består av en lättanvänd webbplats för alla robotar att människor kan interagera med via internet.Som...

Linkit en Internet kontrollerad Robot!

I detta instructable, jag kommer att visa dig hur man gör en internet kontrollerad robot. Du kan använda den för att flytta objekt över ett rum eller utföra andra uppgifter. Jag tog mindre produktiva väg och jagade min hund med den.Steg 1: Delar och...

Rörelse detektor aktiverat fåfänga ljus

Jag köpte en infraröd rörelse detektorenhet på eBay för $1,50 och beslutade att lägga den till god användning. Kunde jag ha gjort min egen rörelse detektor ombord, men på $1,50 (som inkluderar 2 trim krukor för att justera känsligheten och avstängd t...

Xmas-box: Arduino/ioBridge internet kontrollerad Julljus och musik show

min xmas-box projektet består av en internet kontrollerad Julljus och musikföreställning. En julsång på begäran on-line som sedan sätta i en kö och spelas i den ordning de begärdes. Musiken sänds på en FM-station inom en radie av 300 ft från mitt hus...

Internet kontrollerad lampan med ESP8266 wifi relay IoT

ESP8266 wifi relay (ESP01) IoT kontroll en lampaInternet kontrollerad elektrisk lampa med ESP8266 wifi (ESP01) IoTInternet kontrollerad lampan med ESP8266 wifi relay IoTESP8266 (ESP01) är en mycket låg kostnad WiFi transceiver som kan läggas till all...

Internet kontrollerad Telepresence Robot

I denna tutorial kommer jag visa dig hur man bygger en Internet-kontrollerade Telepresence Robot med en robotarm för under $100.Steg 1: Grundläggande material För denna tutorial finns det några måste:1. en Arduino ombord (jag använder Arduino Uno R3...

Internet kontrollerad bil

Internet kontrollerad jagaren är viktigt i alla civila och militära bilar. Militären kan använda denna teknik för att minska den lös soldater genom att skicka maskiner att kämpa även om de är säkra i kontrollrummet.Styra över internet öppnar ett helt...

Internet-kontrollerade RC bil

Internet kontrollerad RC bil kan du Avsides köra runt en liten rc bil från varhelst du kan och se om det går. Detta är roligt eftersom du kan avlägsna utforska oavsett utrymme du lämnar den, eller lämna över nycklarna - så att säga - och tillåta någo...

Internet kontrollerad house och Robot (Home Automation)

i detta instructable jag kommer att berätta hur du ansluter hela huset (alla elektriska apparater) till internet så att du kan styra din varje utrustning från var som helst i världenJag har gjort detta projekt 3 månader tillbaka och det körs kontinue...

Internet kontrollerad Garage dörröppnare

design för våra internet kontrollerad garage dörröppnare har i verk för år i vårt garage. Systemet fungerar med bara två små moduler och en statusindikator för varje garageport. Alla moduler är lätta att installera och underhålla. Pengar från denna t...

Sakernas Internet kontrollerad Smart lampa/Outlet med spark core och IFTTT

Jag ville ha en natt-lampa som kommer att slå på efter solnedgången och stänga av mitt i natten. Finns på homedepot eller andra järnhandeln timers kan bara ställa in en tid. Eftersom det finns sommartid i USA, fick det bytas. För att lösa detta, är u...