Stap 3: programmeren
U moet ook de versnellingsmeter-bibliotheek toevoegen. Als u nog niet toegevoegd een bibliotheek voordat Maak een map genaamd "libraries" in uw Arduino schets map en vervolgens drop de map versnellingsmeter binnenkant van de omslag van de bijgevoegde bibliotheken in uw nieuwe "bibliotheken" map.
total_points - regelt het aantal geregistreerde gegevenspunten
Const unsigned long loop_time - besturingselementen hoe vaak gegevens opgenomen ex. 5 correspondeert met 5ms.
Om het programma goed werkt de AcceleroMMA7361 moet bibliotheek worden toegevoegd aan de map van uw Arduino-bibliotheek en het programma opnieuw gestart.
Het maximum aantal gegevenspunten die kunnen worden verzameld op de Arduino SRAM is 700. Aanvullende gegevenspunten kunnen worden verzameld met een SD-kaart of extra opslagruimte.
De schaalfactor voor de waarden gevonden "x" is: ((x/100)-1) / versnelling als gevolg van de zwaartekracht). Versnelling aan de zwaartekracht is ongeveer gelijk aan 9,8. De geschaalde waarden zijn in eenheden van m/s ^ 2.
Wijzigen hoe vaak verzamelde punten zijn open van het programmabestand en wijzig de constante getal loop_time naar uw gewenste tijd. Dit nummer is in milliseconden.
De LED's komen overeen met elk van de knoppen en de volgende actie. De knop het verst van de versnellingsmeter draait de groene LED op en de waarden van de records. De LED zal zwenking vandoor wanneer opnieuw ingedrukt en waarden zal stoppen wordt verzameld. De rode LED komt overeen met de knop die zich het dichtst bij de versnellingsmeter en oplicht wanneer waarden worden wordt doorgegeven aan de seriële monitor.
De rode LED knippert twee keer aan het begin om aan te geven dat de opstart loop en kalibratie is voltooid en kunt nu nu gegevens gebeuren.
De meest elementaire code voor dit om te controleren of dat alles werkt is:
Wanneer rustte plat op iets moet de Z-as ongeveer 1 en de X- en Y-as 0 elke lezen.
AcceleroMMA7361 accelero;
int x;
int y;
int z;
VOID Setup
{
Serial.begin(9600);
Accelero.begin (12, 11, 13, 10, A0, A1, A2);
accelero.setARefVoltage(5); Hiermee stelt u de AREF spanning op 3,3 v
accelero.setSensitivity(LOW); Hiermee stelt u de gevoeligheid voor +/-6G
Accelero.Calibrate();
}
void loop
{
x = accelero.getXAccel();
y = accelero.getYAccel();
z = accelero.getZAccel();
Serial.Print ("\nx:");
Serial.Print(x);
Serial.Print ("\ty:");
Serial.Print(y);
Serial.Print ("\tz:");
Serial.Print(z);
Serial.Print("\tG*10^-2");
delay(500); leesbaar te maken
}