Stap 4: Uploaden van uw code en het werken!
De Prikker op de tweede foto geïllustreerd de reflectie op het glanzende papier in elke periode van rotatie. Ik telde de tijd tussen deze spikes en krijg van de rotatiesnelheid van het wiel.
Op de derde foto, kunt u de snelheid van uw wiel in seriële monitor in de Arduino software.
Als je een digitale buis, ga naar de volgende pagina en kopieer die ene.
/*************************************************************************
* Bestandsnaam: Snelheid Detector.
* Auteur: Yuwei
* Bijgewerkt: Yuwei
* Datum: 3/13/2014
* Beschrijving: Ik ben met behulp van een Makeblock Me-LightSensor te maken van een wiel snelheid detector.
U kunt deze Me-LightSensor verbinden met de PORT_3, PORT_6, PORT_7, PORT_8 van Me-plint.
* Copyright (C) 2013 Maker werkt Technology Co., Ltd. Alle rechten voorbehouden.
* http://www.makeblock.cc/
**************************************************************************/
#include < Makeblock.h >
#include < Arduino.h >
#include < SoftwareSerial.h >
#include < Wire.h >
MeLightSensor lightSensor(PORT_6);
MeDCMotor motor1(M1);
uint8_t motorSpeed = 100;
int waarde = 0; een variabele voor de lightSensor de waarde
int count = 0;
int buff [3];
int som = 0;
int omega;
statische int matrix [3] = {-1,4, -1};
VOID Setup
{
seriële communicatie 9600 bps initialiseren
Serial.begin(9600);
lightSensor.lightOn();
}
lange time0 = 0;
void loop
{
waarde = lightSensor.read();
motor1.run(motorSpeed);
Lees de lightSensor waarde:
Buff [0] = buff [1];
Buff [1] = buff [2];
Buff [2] = waarde;
som = matrix [0] * buff [0] + matrix [1] * buff [1] + matrix [2] * buff [2];
Serial.println(Sum); uncomment deze lijn en commentaar van de volgende 15 lijnen als u wilt zien van de gegevens in seriële grafieken
if(Sum >750)
{
Graaf ++;
lange t=millis();
lange deltaT = t-time0;
if(deltaT>100)
{
Omega = 360000/deltaT;
Printf fuction kunt u gebruiken als u de bibliotheek "printf" aan afdrukken klasse toevoegen.
meer informatie over http://playground.arduino.cc/Main/Printf#.UyE3NxSSz9F
Serial.Print(Omega);
Serial.println("rad/s");
}
time0 = t;
}
delay(2);
}