Analog loopback test p18 - p20 LED Bar Graph Display

Dependencies:   mbed

Committer:
4180_1
Date:
Thu Aug 26 23:58:04 2010 +0000
Revision:
0:045a3e5d8f7d
Child:
1:0286d548948b

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
4180_1 0:045a3e5d8f7d 1 #include "mbed.h"
4180_1 0:045a3e5d8f7d 2
4180_1 0:045a3e5d8f7d 3 AnalogOut aout(p18);
4180_1 0:045a3e5d8f7d 4 AnalogIn ain(p20);
4180_1 0:045a3e5d8f7d 5 // Jumper p18 to p20 for analog loopback test
4180_1 0:045a3e5d8f7d 6 BusOut led_state(LED1, LED2, LED3, LED4);
4180_1 0:045a3e5d8f7d 7 // Analog input connected to analog output will display in LED Bar Graph
4180_1 0:045a3e5d8f7d 8 int LED_BarGraph(float max_value, float value);
4180_1 0:045a3e5d8f7d 9
4180_1 0:045a3e5d8f7d 10 int main() {
4180_1 0:045a3e5d8f7d 11 while (1) {
4180_1 0:045a3e5d8f7d 12 for (float i=0.0; i<1.0; i+=0.1) {
4180_1 0:045a3e5d8f7d 13 aout = 1 - sin(i*2*3.14159265);
4180_1 0:045a3e5d8f7d 14 LED_BarGraph(1.0, ain);
4180_1 0:045a3e5d8f7d 15 wait(0.1);
4180_1 0:045a3e5d8f7d 16 }
4180_1 0:045a3e5d8f7d 17 }
4180_1 0:045a3e5d8f7d 18 }
4180_1 0:045a3e5d8f7d 19
4180_1 0:045a3e5d8f7d 20 int LED_BarGraph(float max_value,float value) {
4180_1 0:045a3e5d8f7d 21 int scale;
4180_1 0:045a3e5d8f7d 22 scale = (value*4.5)/max_value;
4180_1 0:045a3e5d8f7d 23 switch (scale) {
4180_1 0:045a3e5d8f7d 24 case 0:
4180_1 0:045a3e5d8f7d 25 led_state = 0x00;
4180_1 0:045a3e5d8f7d 26 break;
4180_1 0:045a3e5d8f7d 27 case 1:
4180_1 0:045a3e5d8f7d 28 led_state = 0x01;
4180_1 0:045a3e5d8f7d 29 break;
4180_1 0:045a3e5d8f7d 30 case 2:
4180_1 0:045a3e5d8f7d 31 led_state = 0x03;
4180_1 0:045a3e5d8f7d 32 break;
4180_1 0:045a3e5d8f7d 33 case 3:
4180_1 0:045a3e5d8f7d 34 led_state = 0x07;
4180_1 0:045a3e5d8f7d 35 break;
4180_1 0:045a3e5d8f7d 36 default:
4180_1 0:045a3e5d8f7d 37 led_state = 0x0F;
4180_1 0:045a3e5d8f7d 38 break;
4180_1 0:045a3e5d8f7d 39 }
4180_1 0:045a3e5d8f7d 40 return 0;
4180_1 0:045a3e5d8f7d 41 }