Paddestoel milieu Control - Arduino Powered (7 / 13 stap)

Stap 7: De Code


Dit was de eerste keer dat ik heb gecodeerd in C in een lange tijd (en mijn eerste echte Arduino project). Ik ben zeker dat er vele veranderingen die it te stroomlijnen kon worden gemaakt, maar het doet het werk en wat nodig is voor de Arduino board is niet echt dat intensieve voor dit project.
.. .please opmerking de oorspronkelijke lcd4bit bibliotheek heeft een heleboel onnodige vertragingen die de code beneden alot vertraagt, deze moeten worden verwijderd (kijk in het cpp-bibliotheekbestand naar aanwijzingen).

In het kort doet de code (in volgorde van hoe het wordt weergegeven in de bijgevoegde code):
VOORAF HOOFDLUS
-#defines M en C-waarden voor de lineaire en log vergelijkingen nodig is om te vertalen van de bits-waarden voor de ingangen. dat wil zeggen y = mx + c en y = Mlog (x) + C
-#defines maten voor gemiddeld matrix, bemonstering tijden, histerisis niveaus, Pins, EEProm opslaggrootte.
-definieert van variabelen, waarden enz te activeren.
MAIN LOOP
-Lees in sensor-waardes van elke "SENSOR_INTERVAL" milliseconden.
-Zet de nieuwe waarden in een matrix, en berekent het gemiddelde van deze array.
-Berekeningen worden uitgevoerd op de gemiddelden te geven van een 'juiste' waarde d.w.z. heeft (excuses aan mijn Amerikaanse neven maar ik ben metrisch), ppm (co2), relatieve vochtigheid.
-Drukt updates van nieuwe temp, luchtvochtigheid en CO2-niveaus aan LCD shield.
-Waarden worden opgeslagen aan eeprom elke "EE_PROM_INTERVAL" milliseconden.
-Trigger trigger Relais als balg/boven, elke 'INTERVAL' milliseconden.
-Toetsenbord code die implementeert een rudimentaire menusysteem waardoor triggering waarden worden gewijzigd en EEPROM waarden aan serial worden gedumpt.
-Funtions om te helpen met gemiddeld en toets selectie.

Ik heb geprobeerd een verklaring binnen de code wat elke sectie, met alle middelen gaan in en neem een kijkje te geven. Bent u meer geneigd om uit de weg te lezen van de code, Let op: de belangrijkste dingen om op te merken zijn de verklaringen van de #define voor het manipuleren van de intervallen voor het lezen, triggering en gemiddeld en de verklaringen van de #define voor het kalibreren van M en C waarden.
Deze zijn allemaal gelegen op de top van de code dus neem een kijkje en veel plezier bij het gehannes.

Houd er rekening mee dat de code gebruikmaakt van de bibliotheek van de EEprom voor lezen schrijven eeprom waarden, de lcd4bit-bibliotheek (gewijzigd, vertragingen worden verwijderd en de pinouts gewijzigd) voor de lcd schild en stdlib voor het omzetten van int in char voor het schrijven naar de LCD display.

Gerelateerde Artikelen

Nachtelijke emissies: Mijn Arduino Powered Internet ingeschakeld droom Generator

Nachtelijke emissies: Mijn Arduino Powered Internet ingeschakeld droom Generator

We moeten allemaal dromen meer dus ik deze Arduino Powered gemaakt heb "dream generator" om te helpen plant de zaden voor sommige grote denken-gekte.  Wanneer u nadert de generator een ultrasone sensor Maxbotix triggers lichten en muziek die tek
Solar-georiënteerd, Arduino-Powered Klok

Solar-georiënteerd, Arduino-Powered Klok

dit is een klok die zijn ontworpen voor het houden van nauwkeurige tijd (onafhankelijk van atomaire of GPS), weergeven van lokale zonsopgang, zonsondergang en zonne-energie middag, en ook zelf voor de tijd van daglichtbesparingen aanpassen.Ik wilde d
3 channel arduino Powered Christmas verlichtingssturing!

3 channel arduino Powered Christmas verlichtingssturing!

Voor kerst dit jaar, die ik wilde maken van een echt cool project maar niet goed weet wat te maken. Zoals mij watertje getting de Christmas lights out om te versieren, was er een oude kapotte Kerstmis licht timer. Ik nam het uit elkaar en keek rond o
Arduino-Powered binaire Thermometer

Arduino-Powered binaire Thermometer

ik heb onlangs verworven een Arduino Uno en was op zoek naar een cool "getting started"-project. Heb ik besloten om een thermometer, als de kit heb ik alle nodige onderdelen (thermistor, draden, weerstanden, LEDs). Door middel van een paar itera
Standalone WiFi Radio Control Panel (Arduino Powered)

Standalone WiFi Radio Control Panel (Arduino Powered)

ik wilde een Internet Radio voor een lange tijd, en was blij om te zien de Tinkernut Wifi Radio project (http://tinkernut.com/archives/2387 ), die ik gebouwd en hebben genoten voor een paar maanden.Echter, ik niet echt schelen voor de controle-interf
Interactieve Arduino Powered LED Ski's

Interactieve Arduino Powered LED Ski's

Ziek van de saaie duisternis van de nacht skiën? Vrees niet! Arduino programmeerbare interactieve LED Ski's zullen uw avond fleuren.Dit huis gebouwd van ski's hebben LEDs ingesloten onder de p-tex en bovenste blad. Een Arduino en versnellingsmeter co
Arduino Powered Home

Arduino Powered Home

Ik heb een paar updates in dit instructable sinds Aug 2014 ***Heb ik besloten om deze informatie te delen, zodat het anderen die hebben moeite helpen misschien om soortgelijke dingen met hun Arduino doen. Ik heb pas onlangs gekregen die betrokken zij
Goedkoop draadloos apparaat aan controle Arduino van overal in de wereld

Goedkoop draadloos apparaat aan controle Arduino van overal in de wereld

#DTMF staat voor DUAL TONE meerdere frequentie, in waarover we gaan mobiele telefoon te gebruiken om zijn zo een draadloos apparaat, het werkt op de frequentie die we op toetsenblok van de telefoon van de beller genereren.Stap 1: Hoe het werkt? Er zi
How to Control arduino door bluetooth van (PC, pocket PC PDA)

How to Control arduino door bluetooth van (PC, pocket PC PDA)

Ik wilde het mogelijk maken te bepalen van een arduino board vanaf mijn telefoon.Zodat ik kon andere bedieningsorganen.de gemakkelijkste manier leek te worden met behulp van bluetooth.maar toen kreeg ik de onderdelen die nodig zijn vond ik het wil zo
Internet Controlled Arduino (geen Ethernet-shield)

Internet Controlled Arduino (geen Ethernet-shield)

Ethernet schilden zijn een heleboel plezier, maar zij kunnen duur zijn. In dit project zal ik u tonen hoe om te controleren uw Arduino vanaf elke computer die is verbonden met het internet, zonder gebruik te maken van een Ethernet-shield. Dit project
DIY Magic Mirror en Photobooth - Arduino Powered

DIY Magic Mirror en Photobooth - Arduino Powered

een geassembleerd kit voor dit project is nu beschikbaar bijSeeedstudio.comMeer info op dit project op http://diymagicmirror.com De software voor dit project is open source open sourceWie is de mooiste van allemaal. Maak uw eigen Magic Mirror en ontd
Remote Controlled Arduino Robot met behulp van Wixel Transceivers

Remote Controlled Arduino Robot met behulp van Wixel Transceivers

UPDATE JAN 2012: dit project werd gekenmerkt op de Pololu website onder Resources/Community projecten.  http://www.Pololu.com/resources/communityprojectsINTRODUCTIEIn dit project, gebruik ik twee Pololu Wixel transceivers op afstand bedienen van een
Arduino Powered 3-zone thermostaat

Arduino Powered 3-zone thermostaat

Was ik te kijken naar al die swoopy-zoomy internet aangesloten en regelbare thermostaten. "Zelf," Ik zei tegen mezelf, "moeten we een van die." Hij lijkt niet zo enthousiast over dat - ik bedoel, wat weten we over de hardware, firmware
Super Simple Arduino Powered Roomba Scheduler

Super Simple Arduino Powered Roomba Scheduler

zoals de meeste mensen die ik sceptisch was over het krijgen van een robot stofzuiger, dus als een proefrit ik dacht dat ik zou kopen de nu verouderde iRobot Roomba 530 die was zwaar voorzien (ze zijn nog steeds beschikbaar in Australië, waaruit blij