Examples - Sensorboard - Supersonic
Supersonic
This Example shows the use of an ultrasonic sensor.
Source - Main
/************************************************************************************************** * * Supersonic SRF05 * * Version: 1.0.0 - September 2008 * Author: Etienne Ribeiro / tutorial assistant caad / eribeiro[at]ethz.ch * Supervisor: Christoph Wartmann / chair for caad - ETH Zürich / wartmann[at].arch.ethz.ch * * Desc: Shows the use of the SRF05 Supersonic Sensor on digital pin. * ***************************************************************************************************/ // Const static int digitalPin = 34; static boolean enableSerial = false; // (Var) int lastImp = 0; // Setup void setup() { //LED (2 * blink) pinMode(48, OUTPUT); digitalWrite(48, HIGH); delay(200); digitalWrite(48, LOW); delay(200); digitalWrite(48, HIGH); // LCD Display_Clear(); Display_Println("Supersonic LCD"); // Serial (Print to serial if enableSerial = true) if (enableSerial == true) Serial.begin(9600); pinMode(digitalPin, INPUT); } // Loop void loop() { // Trigger pulse digitalWrite(digitalPin, HIGH); delayMicroseconds(10); digitalWrite(digitalPin, LOW); // Mesure echo pulse int imp = pulseIn(digitalPin, HIGH); // LCD if (imp != lastImp) { lastImp = imp; Display_Clear(); Display_Println(" ", imp / 58, " cm"); } // Serial if (enableSerial == true) { Serial.print(imp); Serial.print(" -> "); Serial.print(imp / 58); Serial.println("cm"); } // Wait delay(50); }
Source - LCD Class
/************************************************************************************************** * * LCD Class * * Version: 1.0.0 - September 2008 * Author: Etienne Ribeiro / tutorial assistant caad / eribeiro[at]ethz.ch * Supervisor: Christoph Wartmann / chair for caad - ETH Zürich / wartmann[at].arch.ethz.ch * * Desc: Library for an 14 Pin LCD Displays. * ***************************************************************************************************/ #include <LiquidCrystal.h> // CONST: const int port = 3; // Port on Wiring Board const int pins[] = {37, 38, 39}; // Pins on Wiring Board // VAR LiquidCrystal myDisplay = LiquidCrystal(pins[0], pins[1], pins[2], port); int iLine = 0; // Methodes void Display_Clear(){ iLine = 0; myDisplay.clear(); myDisplay.home(); } void Display_Println(char str[]){ myDisplay.home(); myDisplay.setCursor(0, iLine); myDisplay.print(str); iLine += 1; } void Display_Println(char str[], char str2[]){ myDisplay.home(); myDisplay.setCursor(0, iLine); myDisplay.print(str); myDisplay.print(" "); myDisplay.print(str2); iLine += 1; } void Display_Println(char str[], int zahl){ myDisplay.home(); myDisplay.setCursor(0, iLine); myDisplay.print(str); myDisplay.print(" "); myDisplay.print(zahl); iLine += 1; } void Display_Println(char str1[], int zahl, char str2[]){ myDisplay.home(); myDisplay.setCursor(0, iLine); myDisplay.print(str1); myDisplay.print(" "); myDisplay.print(zahl); myDisplay.print(str2); iLine += 1; } void Display_Print(char str[]){ myDisplay.print(str); }