Kör en webbsida i realtid med hjälp av Arduino, SensorMonkey och Processing.js (2 / 6 steg)
Steg 2: Anslut Arduino och ladda upp skiss
Jag har anslutit min ADXL335 accelerometer till Arduino som visas (bild tagen från http://bildr.org). Jag ska prov analog-till-digital (ADC) stift 0, 1 och 2 på Arduino med jämna mellanrum och skriver sina värden till den seriella porten. Det gör upp jag följande skiss till Arduino's microcontroller med utvecklingsmiljön:
void setup() {
Serial.BEGIN (9600); Öppna den seriella porten.
}
void loop() {
unsigned int x = analogRead (0); Läs 10-bitars x-axeln accelerometer på ADC stift 0.
unsigned int y = analogRead (1). Läs 10-bitars y-accelerometer på ADC stift 1.
unsigned int z = analogRead (2). Läs 10-bitars z-accelerometer på ADC stift 2.
Skriva synkronisering byte till seriell port att agera som utgångsmaterial markörer för varje "paket".
Serial.write (0xA5);
Serial.write (0x5A);
Skriv x-axeln accelerometer till serieport som 16-bitars heltal utan tecken i bigendian-format.
Serial.write (highByte (x)); Mest signifikanta byte (MSB).
Serial.write (lowByte (x)); Minst signifikanta byte (LSB).
Skriv y-axeln accelerometer till serieport som 16-bitars heltal utan tecken i bigendian-format.
Serial.write (highByte (y));
Serial.write (lowByte (y));
Skriva z-accelerometer till serieport som 16-bitars heltal utan tecken i bigendian-format.
Serial.write (highByte (z));
Serial.write (lowByte (z));
fördröjning (20); Lägga till en fördröjning av 20ms ge en samplingsfrekvens på cirka 50Hz.
}
ADC stiften har en 10-bitars upplösning (0 till 1023 inclusive) så jag koda dem som 16-bitars osignerade heltal i bigendian-format innan du skickar dem över den seriella porten. Beroende på givare du använder, kan du välja att provet mer eller mindre ADC stift. I mitt fall, ADXL335 accelerometern mäter acceleration längs tre ortogonala axlar: x, y och z. därför jag prova tre motsvarande ADC stift: 0, 1 och 2 respektive.
Slutligen kan du ändra samplingsfrekvensen av skiss genom att öka eller minska förseningen som krävs. För sensorer som inte ändrar ofta (t.ex. en temperaturgivare) kommer du förmodligen vill öka tiden till provet i en långsammare takt. Genom att du 100 skulle prova 10 gånger per sekund (eller 10Hz) till exempel.