Partikel kärna: Skicka ett mail när rörelse detekteras (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

Skicka ett mail via telnet

Hej är alla, att ha ett lite roligt och för en personnal projekt jag behövde för att skicka e-post via linux terminal. Det första alternativet jag hade var att använda kommandot e-post från postfix. Men av någon anledning jag ville inte använda denna...

Skicka ett mail med en falsk e-postadress

titeln förklarar allt detta instructable syftar till, hur du skickar ett mail med en försköna emailadress dvs någon e-postadress du. Alla måste vara upphetsad så låt oss komma igång.* Allt material som finns på den instructable är avsedd för informat...

DIY - Hur att använda Arduino Uno att skicka ett mail, SMS och göra en röst kalla

Undrar hur man skickar e-post via din Arduino Uno? Var inte orolig... Denna handledning video kommer att upplysa du på steg för steg process för att skicka e-post, SMS-meddelanden samt ringa röstsamtal med 3G/GPRS sköld genom libelium kommunikation.N...

Skicka ett mejl från en Intel Edison (med nodemailer)

Detta projekt visar en metod för att skicka e-post från en dator med Intel Edison IOT genom att trycka på en knapp ansluten till Edison. Medan detta inte kanske verkar särskilt intressanta eller användbara, kan man tänka sig med denna metod som en de...

Partikel kärna - Offline-läge eller halvautomatiskt läge

Partikel Core är en göra sval anordning som gör det möjligt att ansluta ett stort antal enheter till Internet. Jag har en serie av instructables om Sakernas Internet, och många fler ännu framöver. Men efter att flera begäran om hur man arbetar med en...

Hur man styr arduino med ett mail

Det finns många lösningar för att styra en Arduino ombord: web lösningar, desktopen applicering lösningar, lösningar. Men hur mail? Ja, du kan hitta något på nätet men de behöver ethernet sköldar och ofta är Arduino som skickar e-post. Jag kontroll A...

Hur man gör en dubbelstjärna med ett gummiband!!!

När jag var yngre, brukade jag spela med gummiband när jag var tvungen att gå på de långa bil Rider. Lära sig att skapa gummiband mönster var ett sätt för mig att döda tid och tristess. Förhoppningsvis kan detta göra detsamma för dig oavsett om du är...

Snabb skiva och kärna ur ett äpple (... Asymmetriskt)

här är ett snabbt sätt att skiva och kärna ur ett äpple på samma gång. I stället för bisecting apple-kärnan, bara skiva runt den. Fler nedskärningar för tunnare skivor. Enkelt.Men kommer med hastighet asymmetri. Det första snittet skapar en stor "häl...

Skicka ett SMS med semafor

nu en allrengöringsmedel semafor-driven tangentbord för alla desktopen apps - med en iPhone fronten! Läs vidare för de ursprungliga anvisningarna.Efter masterme120's kommentarer bör fungera plattformar på någon app med textinmatning, men testade på M...

Komma igång med IoT använder partikel kärna

Sakernas Internet är ett riktigt roligt att experimentera, samtidigt som det är kul är det också mycket makt full. Det kan få ett brett utbud av enheter ansluter, som till exempel en kaffebryggare som kan tweet när kaffet är gjort eller en automatisk...

Grove sensorer med en partikel kärna - hallar Sensor

Nyligen fick jag några Grove Senors, och jag försökte köra det med en Arduino och mycket nästa steg för mig är att ta den till internet och vad bättre sätt än att göra det med en Partikel Core. Att börja om med jag ska visa dig hur man rigga upp en G...

Grove sensorer med en partikel kärna - IR-avstånd avbryta

Detta är del två av serien av instructables där jag tar Grove sensorer till internet med hjälp av en partikel Core eller foton. I sist instructable jag visade dig hur du koppla in en Hall Sensor som är en magnetisk sensor till en partikel Core eller...

Skicka ett vykort/brev hybrid

vykort och brev är bra sätt att hålla kontakten med nära och kära, och alla har sina egna styrkor rekommendera den. Bokstäverna är privata, och kan vara flera sidor långa; Vykort är attraktiva och ha billigare Porto. Men sin styrka är också de andras...

Skicka ett Fake brev - Practical Joke

jag gjorde detta en gång till en ny medarbetare som just flyttat in i området. Jag gjorde en falsk kuvert och brev med stadens sigill och Porto annullering och stack in den med resten av hans mail.Det brev som jag "" honom sade att hans pet orma...

Hur man kärna ur ett granatäpple

15-sekunders video post för "Brännande frågor" contest 2013 på Instructables.När du har seedade din granatäpple, äter fröhyllet rå, användning att göra följande eller lägga till din favoriträtt.Granatäppeljuice:Bacon-Broccoli sallad:...

Bygga ett Portal torn med rörelse kontrollerade ljud och belysning

i detta Instructable jag ska visa dig hur jag gick om att bygga min egen liv storlek talar Portal torn från början till slut. Detta är ett ganska ingående projekt som kommer att omfatta varje konstruktionsfasen samt alla tekniker jag använde längs vä...

Inbrottslarm med skicka SMS och e-post från enheten IoT

Telefon anmälningar är ett bra sätt att få en notifiering om enovanlig aktivitet. När vi utvecklar en IoT lösning är det alltid bra att skicka SMS till användarens telefon för viss verksamhet som smartphones är alltid inom räckhåll. Det är inte allti...

Knappen e-post: Ansluter Arduino till IFTTT att skicka e-post, tweets, textmeddelanden och mer

vad om du kunde med en enda knapp, skicka ett e-postmeddelande, en tweet eller ett SMS?Denna tutorial ska show dig hur man ansluter en enkel knapp till dina favoritprogram på internet genom att ansluta den till IFTTT.IFTTTIFTTT.com (om detta sedan de...

Hur man ångra skicka e-post i GMAIL

Google har äntligen lanserat alternativet ångra skicka i GMAIL.Detta var den funktion som jag gillade mest i Outlook, där vi kan återkalla mail eller skicka e-post, utan att känna mottagarna att vi har gjort ett misstag med posten. Om du gör ett stav...