Pot_LCD_Can
Dependencies: Voltimetro_V2 mbed
main.cpp
00001 #include "mbed.h" 00002 #include "TextLCD.h" 00003 //**************************Declara uso da serial******************************* 00004 Serial pc(USBTX, USBRX); // tx, rx 00005 00006 //**************************Declara uso da CAN********************************** 00007 CAN can1(PB_8, PB_9); 00008 00009 //**************Declara uso do LED nativo da placa******************************* 00010 DigitalOut LED(PA_5); 00011 00012 //****************Declara uso do botao nativo da placa*************************** 00013 DigitalIn SW(PC_13); 00014 //*******************Declaração dos Pinos LCD************************************ 00015 TextLCD lcd(D8, D9, D4, D5, D6, D7); // rs, e, d4-d7 00016 00017 //----------Pinos de entrada analogica (ADC)------ 00018 AnalogIn AXIS_X(A0); 00019 AnalogIn AXIS_Y(A1); 00020 00021 //***********Dado da mensagem chamada de info que sera usada******************** 00022 static char righ = 0x55; 00023 static char left = 0x35; 00024 00025 int main() 00026 { 00027 //*****construção da mensagem CAN (ID, dado, tamanho em bits, Tipo de dado, Modo CAN)**** 00028 CANMessage msg_right(5, &righ, 8, CANData, CANStandard); 00029 CANMessage msg_left(5, &left, 8, CANData, CANStandard); 00030 //**************************************************************************** 00031 00032 //*******************pisca o led******************************************** 00033 LED = 1; 00034 wait(0.5); 00035 LED = 0; 00036 wait(0.5); 00037 00038 00039 00040 lcd.setAddress(0,0); // Informa a posição que a mensagem será exibida no display LCD 00041 00042 lcd.printf("Potenciometro"); 00043 00044 float VAL_X = 0.0f, VAL_Y = 0.0f; 00045 00046 while(1) { 00047 00048 //*******************Leitura do joystick nos eixos X e Y *********************** 00049 00050 VAL_X = AXIS_X.read(); 00051 VAL_Y = AXIS_Y.read(); 00052 00053 //****************************************************************************** 00054 00055 pc.printf(" %1.2f VAL_Y %x\n\r", VAL_Y); 00056 wait(0.5); 00057 00058 00059 if(VAL_Y > 0.3f) { 00060 if(can1.write(msg_right)) { 00061 lcd.setAddress(0,0); 00062 lcd.printf("Direita "); 00063 } 00064 00065 else { 00066 lcd.printf("Direita NAO enviada\n"); 00067 } 00068 } 00069 00070 //----Envia mensagem para -Y ----- 00071 if(VAL_Y < 0.3f) { 00072 //printf("\n\rLEFT"); 00073 if(can1.write(msg_left)) { 00074 lcd.setAddress(0,0); 00075 lcd.printf("Esquerda enviada\n"); 00076 } 00077 00078 else { 00079 //pc.printf("Esquerda NAO enviada\n"); 00080 } 00081 } 00082 00083 //msg.data[0] = 0x00; 00084 00085 } 00086 00087 }
Generated on Tue Oct 25 2022 16:31:58 by
1.7.2