Stap 2: Programmeren van de Arduino
Geen dat u stap twee we iets nodig hebt om uw merk gloednieuwe Arduino project omzetten in iets dat praat. Om dit te doen moet u dat begrip van Firmata uit het raam gooien! (Kan je vertellen dat ik ben een beetje bitter?).
Laat begin toegevoegd door de Nieuwe Ping bibliotheek aan uw Arduino IDE. Deze bibliotheek wordt interface helpt door veel Ultrasone sensoren.
- Download de bibliotheek (http://playground.arduino.cc/Code/NewPing)
- Uittreksel vouwblad
- Kopiëren naar YourPC\Arduino\libraries
De bibliotheek kan nu worden opgenomen in uw schetsen. U kunt ook de voorbeelden voor het gebruik van de bibliotheek bladeren.
Nu moet u het bijgevoegde bestand "serialPingOF.ino" te downloaden en openen met de Arduino IDE. U vindt commentaar code die de Arduino bereidt voor de communicatie van de afstanden gevonden. Zie code voor gedetailleerde opmerkingen van de lijn door lijn.
In het kort u start of door toevoeging van de nieuwe Ping bibliotheek en definiëren welke pinnen van de Arduino zal worden toegewezen aan de Trigger en Echo pinnen op de ultrasone sensor.
U vervolgens de functie van de ping_cm() te schrijven aan een int variabele dat het voorbereidt voor overdracht via seriële, deze functie wordt de tijd tussen het Tjilpen van de Trig pin en de Tjilpen terug te keren naar de echo-pin. Vervolgens wordt het in cm, kunt u ping_in() gebruiken voor inches.
Het programma schrijft dan die afstand als een int naar de vervolgverhaal. Wanneer u de variabele naar de seriële poort die u het effectief als een byte of reeks van bytes verzendt schrijven. In de volgende stap gaan we zien hoe we kunnen oppakken die bytes aan de andere kant van de USB-via openFrameworks.
Voor de volgende stap sluit je Arduino via USB naar uw computer en uploaden van de code die u zojuist hebt geschreven. Yahooo! We zijn er bijna!
Arduino Code
//Cormac Joyce 2015//initialising library. #include
// Arduino pin assigned to trigger pin on the ultrasonic sensor. #define TRIGGER_PIN 12 // Arduino pin assigned to echo pin on the ultrasonic sensor. #define ECHO_PIN 11 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400-500cm. #define MAX_DISTANCE 500
//int for reading the distance in cm into. int dist;
// NewPing setup of pins and maximum distance. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() { Serial.begin(9600); // Open serial monitor at 115200 baud to see ping results. }
void loop() { // ( setting ping distance in cm to dist variable (0 = outside set distance range). dist = sonar.ping_cm();
// Wait 50ms between pings (about 20 pings/sec). delay(50);
//here the dist variable is being written in bytes so that is can be read in oF as an int. Serial.write(dist);
}