ESC Brazil 2012 Demo
Dependencies: mbed ID12RFID NokiaLCD
main.cpp
- Committer:
- anaran
- Date:
- 2012-06-20
- Revision:
- 0:4fe41724cceb
File content as of revision 0:4fe41724cceb:
#include "mbed.h" #include "NokiaLCD.h" #include "ID12RFID.h" #include "SRF08.h" ID12RFID rfid(p10); // UART RX NokiaLCD lcd(p5, p7, p8, p9); // mosi, sclk, cs, rst, type SRF08 srf08(p28, p27, 0xE0); // SDA, SCL pin and I2C address I2C i2c (p28,p27); // Setup the I2C interface: sda, scl Serial pc (USBTX,USBRX); AnalogIn pot1(p15); // Pot1 AnalogIn pot2(p16); // Pot2 AnalogIn pot3(p20); // Pot3 int main() { int i = 0; int id = 0; char stop_led[1] = {'o'}; // BlinkM LED stop command char led_data[4] = {'c', 0x00, 0x00, 0x00}; // set up the LCD, and draw some bands of colour lcd.foreground(0x000000); lcd.background(0xFFFFFF); lcd.cls(); lcd.fill(2, 11, 128, 10, 0xFF0000); lcd.fill(2, 41, 128, 10, 0x00FF00); lcd.fill(2, 61, 128, 10, 0x0000FF); // A friendly welcome message lcd.locate(0,3); lcd.printf("ESC Brazil 2012"); pc.printf("Welcome to ESC Brazil 2012\n\r"); i2c.write(0x00, stop_led, 1); // Stop previous BlinkM script // forever.... while (1) { // Plot the three potentiometers lcd.pixel(i, 80 + int(pot1.read() * 50), 0xFF0000); lcd.pixel(i, 80 + int(pot2.read() * 50), 0x00FF00); lcd.pixel(i, 80 + int(pot3.read() * 50), 0x0000FF); //Update LED led_data[1] = char(pot1.read()*255); led_data[2] = char(pot2.read()*255); led_data[3] = char(pot3.read()*255); i2c.write(0x00, led_data, 4); // Blank the canvas when we wrap if (i==130) { lcd.fill(0, 80, 130, 50, 0xFFFFFF); i=0; } else { i++; } // Check for ID tag, and Process if (rfid.readable()) { id = rfid.read(); lcd.locate(0,0); lcd.printf("RFID:%d", id ); pc.printf("Tag ID = %d\n\r",id); } // Take and RFIF Reading lcd.locate(0,4); lcd.printf("SRF:%dcm",int(srf08.read())); // give the loop a slower tick wait(0.05); } }