Pot_LCD_Can
Dependencies: Voltimetro_V2 mbed
Revision 2:bd6777094307, committed 2022-10-25
- 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;
+
}
+
}