Pot_LCD_Can
Dependencies: Voltimetro_V2 mbed
Revision 2:bd6777094307, committed 19 months ago
- 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; + } + }