Fånga rörelse med en Arduino Accelerometer w / XBee Comms (8 / 12 steg)
Steg 8: Bibliotek och globala variabler
Detta steg kommer att diskutera de bibliotek och globala variabler som behövs för att genomföra den rörelse upptäckt rutinen. Första, låt oss diskutera de nödvändiga biblioteken.
#include
#include < Adafruit_MCP23017.h >
#include
Wire.h biblioteket kommer med Arduino IDE och behöver inte laddas ner. Detta bibliotek kan Arduino att komma åt de analoga ingångar som behövs för att läsa accelerometern. De andra två bibliotek finns att tillhandahålla de funktioner som behövs för att använda Adafruit RGB LCD. Dessa bibliotek kan laddas ner från Adafruit github databasen. I länkarna i tidigare steg, kan länkarna för att ladda ner filerna hittas. Att länka till de nya bibliotek för Arduino IDE, extrahera zip-filen till mappen "bibliotek" (inte lib) under filen Arduino. Dock måste du byta namn på mappen eftersom namnet är det ladda ner som är ett ogiltigt namn. Helt enkelt ta bort den "-" och "master" i namnet. Du kommer att behöva starta om IDE för att slutföra kopplingen.
Därefter kommer vi att diskutera den globala variabler och objekt förklarade för att genomföra koden.
Adafruit_RGBLCDShield lcd = Adafruit_RGBLCDShield(); definiera objektet LCD som lcd
#define gröna 0x2 //define färgen grön för lcd
Ovanstående skapar ett objekt som kallas lcd. Detta objekt kommer att användas till särskilda samtalsfunktioner om LCD-enheten. Dessutom är definitionen av grönt i detta fall ett hex tal brukade berätta LCD vilken färg ska visas nästa i. Detta kan ändras med hjälp av olika hex nummer.
Deklarera ingående pins
CONST int xInput = A0; CONST int yInput = A1; CONST int zInput = A2; int idleX = 0;
Ovanstående förklarar analog ingång stiften för accelerometern.
int idleY = 0; int idleZ = 0; int idlemaxX = 0; int idlemaxY = 0;
int idlemaxZ = 0; int idleminX = 0; int idleminY = 0; int idleminZ = 0;
Ovanstående initierar inaktiv variablerna för accelerometern. Dessa måste definieras som globala variabler eftersom de används i både inställning och loop rutiner. Senare, kommer man se att inaktivitet är omdefinierade varje gång registeransvarige är påslagen. Detta förhindrar fel bör villkor som miljön ändra inaktivitetsstatus för värden.
Ta flera prov för att minska buller
CONST int sampleSize = 10;
int dir = 0;
Urvalets storlek deklareras för att minska bullret i accelerometer mätningarna. Varje gång värdena läses, 10 prover tas och sedan i genomsnitt. Den variabla dir används för att kommunicera vad knappen på LCD har tryckts. Detta säger LCD vilken information som ska visas.