Pot_LCD_Can

Dependencies:   Voltimetro_V2 mbed

Files at this revision

API Documentation at this revision

Comitter:
henriquer
Date:
Tue Oct 25 16:31:14 2022 +0000
Parent:
1:3ef0f7fbd999
Commit message:
Pot_LCD_Can

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Mon Sep 19 17:31:07 2022 +0000
+++ b/main.cpp	Tue Oct 25 16:31:14 2022 +0000
@@ -1,84 +1,87 @@
 #include "mbed.h"
 #include "TextLCD.h"
-//-------Declara uso da serial---------------------
+//**************************Declara uso da serial*******************************
 Serial pc(USBTX, USBRX); // tx, rx
 
-//--------Declara uso da CAN----------------------
+//**************************Declara uso da CAN**********************************
 CAN can1(PB_8, PB_9);
 
-//--------Declara uso do LED nativo da placa------
+//**************Declara uso do LED nativo da placa*******************************
 DigitalOut LED(PA_5);
 
-//-----Declara uso do botao nativo da placa--------
+//****************Declara uso do botao nativo da placa***************************
 DigitalIn SW(PC_13);
-//-----Declaração dos Pinos LCD--------
+//*******************Declaração dos Pinos LCD************************************
 TextLCD lcd(D8, D9, D4, D5, D6, D7); // rs, e, d4-d7
 
-//------Dado da mensagem chamada de info que sera usada---------------
-static char info =  0x55;
+//----------Pinos de entrada analogica (ADC)------
+AnalogIn   AXIS_X(A0);
+AnalogIn   AXIS_Y(A1);
 
-int main() 
+//***********Dado da mensagem chamada de info que sera usada********************
+static char righ =  0x55;
+static char left =  0x35;
+
+int main()
 {
-    //------construção da mensagem CAN (ID, dado, tamanho em bits, Tipo de dado, Modo CAN)--- 
-    CANMessage msg(5, &info, 8, CANData, CANStandard);
-    
-    //pisca o led
+//*****construção da mensagem CAN (ID, dado, tamanho em bits, Tipo de dado, Modo CAN)****
+    CANMessage msg_right(5, &righ, 8, CANData, CANStandard);
+    CANMessage msg_left(5, &left, 8, CANData, CANStandard);
+    //****************************************************************************
+
+    //*******************pisca o led********************************************
     LED = 1;
     wait(0.5);
     LED = 0;
     wait(0.5);
-    
-    //---boas vindas------------
-    
+
+
+
     lcd.setAddress(0,0);                        // Informa a posição que a mensagem será exibida no display LCD
-    
-    pc.printf("Teste Can!!!\n");
-    
-    while(1) 
-    {
-        //---checa se foi apertado o botão, com debounce
-        if(SW == 0)
-        {
-            wait_ms(200);
-            if(SW == 0)
-            {
-                //se a mensagem foi enviada
-                if(can1.write(msg))
-                {
-                    lcd.setAddress(0,0);
-                    lcd.printf("Message sent");
-                              
-                }
-                
-                //se a mensagem nao foi enviada
-                else
-                {
-                    lcd.setAddress(0,0);
-                    lcd.printf("unsent message");
-                                      
-                }               
+
+    lcd.printf("Potenciometro");
+
+    float VAL_X = 0.0f, VAL_Y = 0.0f;
+
+    while(1) {
+
+//*******************Leitura do joystick nos eixos X e Y ***********************
+
+        VAL_X = AXIS_X.read();
+        VAL_Y = AXIS_Y.read();
+
+//******************************************************************************
+
+         pc.printf(" %1.2f VAL_Y %x\n\r", VAL_Y);
+         wait(0.5);
+         
+
+        if(VAL_Y > 0.3f) {
+            if(can1.write(msg_right)) {
+                lcd.setAddress(0,0);
+                lcd.printf("Direita ");
             }
-        } 
-    
-        //se a mensagem for recebida
-        if(can1.read(msg)) 
-        {
-            //printa o valor da mensagem
-           // pc.printf("message received: %x\n", msg.data[0]);
-            
-            lcd.setAddress(0,2); 
-             
-            lcd.printf(" Received: 0x55 ");
-            //pisca o led
-            for(int i = 0; i < 5; i++)
-            {
-                LED = 1;
-                wait_ms(300);
-                LED = 0;
-                wait_ms(300);
+
+            else {
+                lcd.printf("Direita NAO enviada\n");
             }
         }
-        
-         msg.data[0] = 0x00;
+
+        //----Envia mensagem para -Y -----
+        if(VAL_Y < 0.3f) {
+            //printf("\n\rLEFT");
+            if(can1.write(msg_left)) {
+                lcd.setAddress(0,0);
+                lcd.printf("Esquerda enviada\n");
+            }
+
+            else {
+                //pc.printf("Esquerda NAO enviada\n");
+            }
+        }
+
+        //msg.data[0] = 0x00;
+
     }
+
 }