Examples - Sensorboard - Compass
Compass
This Example shows the use of a digital Compass.
Source - Main
/************************************************************************************************** * * Compass CMPS03 * * 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 CMPS03 Compass Module. * ***************************************************************************************************/ // Const static int digitalpin = 0; static long maxImpules = 40000; static boolean enableSerial = false; // Setup void setup() { // LED (2 * blink) pinMode(48, OUTPUT); digitalWrite(48, HIGH); delay(200); digitalWrite(48, LOW); delay(200); digitalWrite(48, HIGH); // Serial (Print to serial if enableSerial = true) if (enableSerial == true) Serial.begin(9600); // Pin Mode pinMode(digitalpin, INPUT); } void loop() { // Impuls (mesure 2 times) long ImpulesLength = pulseIn(digitalpin, LOW); ImpulesLength = pulseIn(digitalpin, HIGH); long tmpImpulesLength = pulseIn(digitalpin, LOW); tmpImpulesLength = pulseIn(digitalpin, HIGH); if (tmpImpulesLength > ImpulesLength) ImpulesLength = tmpImpulesLength; // LCD Display_Clear(); int num = (double)ImpulesLength / (double)maxImpules * (double)8; switch(num) { case 0: case 4: Display_Println(" ||"); Display_Println(" ||"); Display_Println(" ||"); break; case 1: case 5: Display_Println(" //"); Display_Println(" //"); Display_Println(" //"); break; case 2: case 6: Display_Println(""); Display_Println(" ==="); Display_Println(""); break; case 3: case 7: Display_Println(" \\"); Display_Println(" \\"); Display_Println(" \\"); break; } Display_Println(" ", ImpulesLength / 1000); // Debug if (enableSerial == true) { Serial.print(ImpulesLength, DEC); Serial.println(""); } // Wait delay(100); }
Source - LCD-Display
/************************************************************************************************** * * 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 = 2; // Port on Wiring Board const int pins[] = {8, 9, 10}; // 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_Print(char str[]){ myDisplay.print(str); }