Stap 2: Verbind Arduino en het uploaden van de schets
Ik heb mijn ADXL335 versnellingsmeter aangesloten op de Arduino als getoond (foto genomen van http://bildr.org). Ik ga naar monster analoog-naar-digitaal (ADC) pinnen 0, 1 en 2 op de Arduino op gezette tijden, en schrijf de waarden naar de seriële poort. Om dit te doen, upload ik de volgende schets van de Arduino microcontroller met behulp van de ontwikkelomgeving:
VOID Setup {}
Serial.begin (9600); De seriële poort openen.
}
void loop {}
unsigned int x = analogRead (0); Lees 10-bits x-as versnellingsmeter op ADC pin 0.
unsigned int y = analogRead (1); Lees 10-bit y-as versnellingsmeter op ADC pin 1.
unsigned int z = analogRead (2); Lees 10-bit z-as versnellingsmeter op ADC pin 2.
Synchronisatie bytes schrijven naar seriële poort om op te treden als startende markers voor elk "pakket".
Serial.write (0xA5);
Serial.write (0x5A);
Schrijf x-as versnellingsmeter op seriële poort als 16-bits geheel getal zonder voorteken in de indeling big-endian.
Serial.write (highByte (x)); Meest significante byte (MSB).
Serial.write (lowByte (x)); Minst significante byte (LSB).
Schrijven y-as versnellingsmeter seriële poort als 16-bits geheel getal zonder voorteken in de indeling big-endian.
Serial.write (highByte (y));
Serial.write (lowByte (y));
Schrijven z-as versnellingsmeter seriële poort als 16-bits geheel getal zonder voorteken in de indeling big-endian.
Serial.write (highByte (z));
Serial.write (lowByte (z));
vertraging (20); Het toevoegen van een vertraging van 20ms te geven een sampling rate van ongeveer 50Hz.
}
De ADC-pennen hebben een 10-bits resolutie (0 tot 1023 inclusieve) zodat ik ze als 16-bits unsigned integers in de indeling big-endian coderen voordat ze worden verzonden via de seriële poort. Afhankelijk van de sensor (s) u gebruikt, kunt u voorbeeld min of meer van de ADC-pinnen. In mijn geval, meet de ADXL335 versnellingsmeter versnelling langs de drie orthogonale assen: x, y en z. Vandaar, ik proef de drie bijbehorende ADC pinnen: 0, 1 en 2 respectievelijk.
Ten slotte kunt u de bemonsteringsfrequentie van de schets door vergroten of verkleinen van de vertraging indien nodig wijzigen. Voor sensoren die niet heel vaak (zoals een temperatuursensor) veranderen zult u waarschijnlijk willen verhogen de vertraging aan monster in een trager tempo. Stellen op 100 zou genieten van 10 keer per seconde (of 10Hz) bijvoorbeeld.