AllSense: En elektronisk multiverktyg (4 / 6 steg)

Steg 4: Koden

Vi har all elektronik klar för användning nu, så låt oss lägga upp koden. Jag har lagt en länk som leder dig till en offentlig gist på GitHub där du kan se alla min kod som används i ett perfekt format, eftersom koden höll att få bytt och bud upp lite när jag direkt klistra in det som kod här, men jag har gjort det båda hållen. Likaledes bör man en ".ino" fil på detta steg som kommer att hämta som en IDE fil att öppna med Arduino koden program.

GitHub länk.

Som ni kanske har märkt, i början av koden inkludera jag några bibliotek, så jag har lagt upp alla de som jag använde och som inte kommer redan med Arduino programmet till detta steg. Om du inte vet hur man installerar bibliotek kolla denna Arduino handledning som förklarar det mycket väl: installera bibliotek
Den LiquidCrystal och Wire biblioteken finns redan på kommer med programmet.

Om du vill ändra tiden skärmen tänd för sedan ändra det värde som jag har att nå i den medan satsen på rad 60. Eller om du vill ändra tiden mellan varje uppdatering av mätvärdena ändrar delay() på rad 127.

Och om EMF läsning är alltid hög eller aldrig hög, då kan du fiol med om uttalanden start på linje 99, ändra värdena enligt problemet.

Läs kommentarerna för att förstå koden. Hela EMF delen blir ganska komplicerat, om du vill ha en mer detaljerad förklaring på denna del så kolla in denna länk: http://www.aaronalai.com/emf-detector

#include < dht.h > //Here vi inkluderar alla bibliotek som vi hämtat...
#include < BMP085.h >
#include < Wire.h >
#include < LiquidCrystal.h >

#define dht_apin A2 //saying vad pin-modulen DHT bör läsa info.
#define NUMREADINGS 15 / / här vi definierar NUMREADINGS som 15 datavärden; ta upp detta nummer för att öka data utjämning. Detta är för EMF.

int senseLimit = 15.
int probePin = A0; inställningen probePin som analoga 0.
int val = 0; läsa från probePin

DHT DHT;

BMP085 bmp;

LiquidCrystal lcd (12, 11, 5, 4, 3, 2); Start lcd med stiften vi tilldelats.

CONST int inUse = 8. Detta kommer att vara stiftet där växeln tilt är kopplad till.
int jag = 0;
CONST int skärmen = 6;

int avläsningar [NUMREADINGS]; avläsningar från analog ingång
heltal index = 0; index för den aktuella behandlingen
int totala = 0; den löpande summan
int medelvärde = 0;

void setup() {
Ange den LCD antal kolumner och rader:
LCD.BEGIN (16, 2);
Serial.BEGIN(9600);
BMP.BEGIN();
Skriv ut ett meddelande till LCD-skärmen.

pinMode (inUse, ingång);
pinMode (skärm, OUTPUT);
för (int jag = 0; jag < NUMREADINGS; i ++)
avläsningar [i] = 0;
}

void loop() {
Jag = 0;

om (digitalRead(inUse) == hög) {
LCD.Clear();
digitalWrite (skärm, låg);
}
annat {
medan (jag < 30) {
digitalWrite (skärm, hög);
DHT.read11(dht_apin);
ställa markören till kolumn 0, linje 1
(Obs: linje 1 är den andra raden, sedan räknar börjar med 0):
Skriva ut ett budskap till andra raden av LCD
LCD.Clear();
lcd.setCursor (8, 0);
LCD.Print((bmp.readPressure() + 2000) / 100);
Serial.println(bmp.readPressure());
LCD.Print("HPA");
lcd.setCursor (1, 1);
LCD.Print(DHT.humidity);
Serial.println(DHT.humidity);
LCD.Print("%");
LCD.Print("");
LCD.Print(DHT.temperature);
LCD.Print("C");

Val = analogRead(probePin); ta en läsning från sonden
lcd.setCursor (0, 0);
LCD.Print("IE");
om (val > = 1) {/ / gör om behandlingen inte är noll,

Val = begränsa (val, 1, senseLimit); slå någon läsning högre än senseLimit i senseLimit värde
Val = karta (val, 1, senseLimit, 1, 1023); mappa om det begränsade värdet inom en 1 till 1023

totala-= avläsningar [index]; subtrahera den sista behandlingen
avläsningar [index] = val; läsa från sensorn
totala += avläsningar [index]; Lägg till läsningen av totala
index = (index + 1); avancera till nästa index

om (index > = NUMREADINGS) {/ / om vi är i slutet av kedjan...
index = 0; .. .wrap runt till början
}
genomsnittliga = totalt / NUMREADINGS;
Serial.println(Average);
om (genomsnitt > 150) {//checking värdet av den genomsnittliga och skriva ut en ">" om det är betydande.
LCD.Print(">");
}

om (genomsnitt > 350) {//checking igen, men denna gång för ett högre värde.
LCD.Print(">");
}

om (genomsnitt > 550) {/ / och så vidare...
LCD.Print(">");
}

om (genomsnittliga > 750) {
LCD.Print(">");
}

om (genomsnittliga > 950) {
LCD.Print(">");
}

}

Jag + = 1;
Delay(1000);
}

}
}

Se Steg
Relaterade Ämnen

Guld var gömd i avfall elektroniska apparater

Guld var gömd i avfall elektroniska apparater....

En 2-stegs elektroniska Modellera raket (med 3D-tryckta delar!)

Hej alla! Har du någonsin undrat vad gränserna var till vad en enkel modell raket kunde göra? Många månar sedan jag undrade samma sak och efter några försök och misstag tror jag att de gränser och komplexitet kan du lägga till din körning av mill Mod...

En 200 watts elektroniska DC belastning

Här finns en guide i att bygga en bra elektronisk DC last...

Elektroniska fotboll kostym

För Halloween fick jag en idé att göra en elektronisk fotbollsspelare. För dem som minns det, var det ett spel där du hade lite fotbollsspelarna som vibrerade runt på metall villkor. De hade en bas och det var ganska svårt att kontrollera sina rörels...

Bygga en världens minsta elektroniska Shocker!

Denna fantastiska lilla shocker är mycket liten och kan döljas nästan var som helst och ge någon en överraskning chock! Det kan drivs av nästan alla 1.5V batterier!Så, på detta instructable, jag visar dig hur man gör shockers som är mindre än ett öre...

Elektronisk automatiserad dolda stash inbyggd i tabellen (lätt och smuts billig)

Hi guys! Så jag spelade deus ex 1 och 3 och alla de dolda stashes bakom TV och bilder och under golv gav mig en idé! Jag ska göra mig själv något liknande-hur om en plats att lagra mina pennor som glider upp från mitt skrivbord på en enda knapptryckn...

Hur till installera en Keyless Entry elektroniska Deadbolt

behöver byta ut din gamla deadbolt? Följ Milan Rosan av Build.com som han tar dig genom en stegvis process för att installera en elektronisk deadbolt....

Elektroniska rovdjur kallar

http://www.freedigitalphotos.net coyote bild med tillstånd från Hal Brindley "www.freedigitalphotos.net"Inte spendera en massa pengar köpa en Predator kallar. Gör din egen för $15,00. Ditt kan kosta lite mer eftersom jag redan hade några av dela...

DIY elektroniska trummor

Omvandlas min Roland TD3 KW elektronisk Drum Kit. Befordrat den till en TD6 modul med meshhead trummor.Steg 1: Halvera tom trumma med sticksåg jag hittade denna tom på eBay för $30.00. Priset inkluderade frakt. Denna tom skars hälften med en sticksåg...

DIY elektroniska trumset olika förhållningssätt till utlöser det.

Detta är det sätt som fungerade för mig efter att ha följt en av tutorials om hur man bygger en egen elektronisk utrustning. Jag hoppas att detta hjälper. Välkommen att ställa frågor och jag svarar på vad jag kan eller peka dig i rätt riktning. UPPDA...

Elektroniska bastrumma Trigger

jag har en annan instructable på här om min elektroniska trumma pad design.Jag var tvungen att göra något annorlunda, dock för bas pedalen.Denna design är vad jag kom med.Jag kommer att förlita sig på mer bilder och text mindre än i min andra instruc...

Elektronisk Drum Kit

trummor är kul, låt oss inse det. Men de är för dyra och besvärliga. Lösningen? Bygg din egen elektroniska trumset!Steg 1: TeorinEtt tangentbord är verkligen en massa växlar. Så för att göra trumset, vi bygger våra egna växlar, och binder dem upp til...

Elektronisk Drum Pad

det finns knappast någon instructables om detta ämne, och ingen med denna design. Det är en originell idé av min pappa och jag. Vi skulle lika billig som vi kunde gå, medan du fortfarande göra en produkt som vi inte skulle vara pinsamt att använda of...

Elektroniska trummor Lingo

I denna tutorial förklara jag några av termerna som används av DIY'ers när man talar om elektroniska trummor och tillbehör.Jag försöker lägga till bilder när tillgängliga för att bättre stödja de definitioner som ges.Steg 1: Skillnaden mellan en elek...

Skapa din egen elektroniska spel Kit

ursprungligen designad för Maker Faire av Grand Idea Studio, "Bygga din egen elektroniska spel Kit" är en custom-skapade kit avsett att introducera dig till en värld av elektronik och lödning. När framgångsrikt monterad, blir satsen en versionen...

Elektroniska Experiment kul Kit

Anslut en 3-color LED och summern på 9V batteri.Summern låter intressant.Ljudet ändras till färgen förändras led.Steg 1:Video för sammankoppling av elektroniska kretsar.Steg 2: Anslut temperatursensorn.Den operativa temperaturen faller....

Elektroniska Metronome

jag hade lekt med tanken på att göra en metronom ett tag sedan när min flickväns metronome bröt. Istället för att köpa en ny föreslog jag att göra en. Efter lite forskning och Förberedande åtgärdarbete beslutade jag att mellan den tid det skulle ta f...

DIY magnetiska minimalistisk slida för multiverktyg

Hi, alla. Inte alltför länge sedan gjorde jag en ranger bandet minimalistisk slida för mina knivar och multiverktyg. Efter postning att tanken på ett forum, fick jag ett bra förslag på att försöka göra en minimalistisk slida av magnetisk kraft. Och d...

DIY minimalistisk Ranger bandet slida för multiverktyg eller vikning kniv

Hi, alla.Denna video talar om hur man gör en mycket säker Ranger bandet minimalistisk slida för bära din multiverktyg eller vikning kniven vågrätt i bältet. Jag har hopp och köra testade denna skidan med olika slags verktyg, och det lyckas hålla fast...