two pin input

Dependencies:   LCD_DISCO_F429ZI mbed BSP_DISCO_F429ZI GYRO_DISCO_F429ZI

Revision:
0:2f53fa259fef
Child:
1:bbb4f79100de
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Dec 04 19:34:29 2018 +0000
@@ -0,0 +1,119 @@
+#include "mbed.h"
+#include "LCD_DISCO_F429ZI.h"
+#include <string>
+
+LCD_DISCO_F429ZI lcd;
+AnalogIn analog_value(PA_0); //Using pin PA0 for analog input
+AnalogIn analog_value1(PA_1);
+DigitalOut led(LED1);       //Making the LED on if below 1V
+
+extern void start_lcd();
+extern void draw_grid();
+extern void draw_sin(float, int, int);
+
+
+int main()
+{
+    start_lcd();
+    float meas_r, meas_v, meas_r1, meas_v1;
+    int clock_timer = 0;
+    while(1) 
+    {
+        meas_r = analog_value.read(); // Read the analog input value (value from 0.0 to 1.0 = full ADC conversion range)
+        meas_v = meas_r * 2.92; // Converts value in the 0V-3.3V range
+        meas_r1 = analog_value1.read();
+        meas_v1 = meas_r1 * 2.92;
+        
+        char output_number[16];
+        char output_number1[16];
+        sprintf( output_number, "In 1 : %.2f V", meas_v);
+        sprintf( output_number1, "In 2 : %.2f V", meas_v1);
+        lcd.DisplayStringAt(0, LINE(0), (uint8_t *) output_number , CENTER_MODE);
+        lcd.DisplayStringAt(0, LINE(1), (uint8_t *) output_number1 , CENTER_MODE);
+          
+        draw_sin(meas_v, clock_timer, 0);
+        draw_sin(meas_v1, clock_timer, 1);
+        
+        if (meas_v < 1) 
+            led = 1; // LED ON
+ 
+        else 
+            led = 0; // LED OFF
+
+        if (clock_timer == 240)
+        {
+            clock_timer = 0;
+            lcd.Clear(LCD_COLOR_WHITE);;
+            draw_grid();
+        }
+        else
+            clock_timer++;
+            
+  //      wait(0.1); // 10th of a second
+    }
+}
+
+void start_lcd()
+{
+    lcd.Clear(LCD_COLOR_BLUE);
+    lcd.SetBackColor(LCD_COLOR_BLUE);
+    lcd.SetTextColor(LCD_COLOR_WHITE);
+    wait(0.3);
+    lcd.DisplayStringAt(0, LINE(4), (uint8_t *)"DISCOVERY BOARD", CENTER_MODE);
+    lcd.DisplayStringAt(0, LINE(5), (uint8_t *)"STM32F429ZI", CENTER_MODE);
+    lcd.DisplayStringAt(0, LINE(6), (uint8_t *)"By: Teddy Sosnowski", CENTER_MODE);
+    wait(1);
+    lcd.Clear(LCD_COLOR_WHITE);
+    BSP_LCD_SetFont(&Font16);
+    draw_grid();
+    lcd.SetTextColor(LCD_COLOR_WHITE);
+    lcd.SetBackColor(LCD_COLOR_BLACK);
+}
+void draw_sin(float location, int x_axis, int input_number)
+{
+    int y_axis = location * 24;
+  //  if (y_axis > 80)
+   //     y_axis = 80;
+        
+   // if (y_axis < -80)
+    //    y_axis = -80;
+        
+    y_axis = 180 - y_axis;
+    //Center of 0x0 at pixel 120x180
+    if (input_number == 0)
+        BSP_LCD_DrawPixel(x_axis, y_axis, LCD_COLOR_RED);
+    else
+        BSP_LCD_DrawPixel(x_axis, y_axis, LCD_COLOR_GREEN);
+}      
+
+void draw_grid()
+{
+    lcd.SetTextColor(LCD_COLOR_BLACK);
+    lcd.SetBackColor(LCD_COLOR_WHITE);
+    BSP_LCD_DrawHLine(0, 180, 240); //240X320 screen size
+    BSP_LCD_DrawVLine(2, 98, 164);
+    BSP_LCD_DisplayChar(5, 85 , 'V');
+    BSP_LCD_DisplayChar(225, 160, 'T');
+    lcd.SetTextColor(LCD_COLOR_GRAY);
+
+    BSP_LCD_DrawHLine(0, 156, 36);
+    BSP_LCD_DrawHLine(0, 132, 36);
+    BSP_LCD_DrawHLine(0, 108, 36);
+    BSP_LCD_DrawHLine(0, 204, 36);
+    BSP_LCD_DrawHLine(0, 228, 36);
+    BSP_LCD_DrawHLine(0, 252, 36);
+
+    BSP_LCD_DrawVLine(20, 177, 6);
+    BSP_LCD_DrawVLine(40, 177, 6);
+    BSP_LCD_DrawVLine(60, 177, 6);
+    BSP_LCD_DrawVLine(80, 177, 6);
+    BSP_LCD_DrawVLine(100, 177, 6);
+    BSP_LCD_DrawVLine(120, 177, 6);
+    BSP_LCD_DrawVLine(140, 177, 6);
+    BSP_LCD_DrawVLine(160, 177, 6);
+    BSP_LCD_DrawVLine(180, 177, 6);
+    BSP_LCD_DrawVLine(200, 177, 6);
+    BSP_LCD_DrawVLine(220, 177, 6);  
+    lcd.SetTextColor(LCD_COLOR_WHITE);
+    lcd.SetBackColor(LCD_COLOR_BLACK);  
+}
\ No newline at end of file