versao final aps 2 - alfredo
Revision 0:caf61dbcde48, committed 2020-06-09
- Comitter:
- AlfredoAcerbi
- Date:
- Tue Jun 09 22:22:32 2020 +0000
- Commit message:
- versao final aps2 eletronica embarcada - alfredo;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TextLCD.lib Tue Jun 09 22:22:32 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/simon/code/TextLCD/#308d188a2d3a
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Tue Jun 09 22:22:32 2020 +0000
@@ -0,0 +1,117 @@
+//inclui as bibliotecas
+#include "mbed.h"
+#include "TextLCD.h"
+
+
+TextLCD lcd(D8, D9, D4, D5, D6, D7); //declara uso do display lcd
+Serial pc(USBTX, USBRX); //declara serial
+CAN can1(PB_8, PB_9); //declara CAN
+AnalogIn EX(A2); //declara entrada eixo x do joystick
+AnalogIn EY(A3); //declara entrada eixo y do joystick
+
+static char info[5] = {0x55, 0x54, 0x53, 0x52, 0x51}; //vetor para as 5 msgs
+
+int main()
+{
+ //cria mensagens que serão utilizadas
+ CANMessage cima(5, &info[0], 8, CANData, CANStandard);
+ CANMessage baixo(5, &info[1], 8, CANData, CANStandard);
+ CANMessage esquerda(5, &info[2], 8, CANData, CANStandard);
+ CANMessage direita(5, &info[3], 8, CANData, CANStandard);
+ CANMessage recebida(5, &info[4], 8, CANData, CANStandard);
+ pc.printf("Ola!\n");
+ int x; //cria variavel inteira x
+ int y; ////cria variavel inteira x
+
+ while(1)
+ {
+ x = EX.read()*1000; //atribui à variável x o valor da leitura no pino vezes 1000
+ y = EY.read()*1000; //atribui à variável y o valor da leitura no pino vezes 1000
+
+ //escreve as mensagens certas para as condições de valor do joystick
+ if (x<100)
+ {
+ if(can1.write(esquerda))
+ {
+ pc.printf("Esquerda");
+ }
+ else
+ {
+ pc.printf("mensagem NAO enviada\n");
+ }
+ }
+
+ if (x>900)
+ {
+ if(can1.write(direita))
+ {
+ pc.printf("Direita");
+ }
+ else
+ {
+ pc.printf("mensagem NAO enviada\n");
+ }
+ }
+
+ if (y<100)
+ {
+ if(can1.write(baixo))
+ {
+ pc.printf("Baixo");
+ }
+ else
+ {
+ pc.printf("mensagem NAO enviada\n");
+ }
+ }
+
+ if (y>900)
+ {
+ if(can1.write(cima))
+ {
+ pc.printf("Cima");
+ }
+ else
+ {
+ pc.printf("mensagem NAO enviada\n");
+ }
+ }
+
+ //faz a comparação da msg escrevida com as msgs criadas. quando for igual, ou seja, qndo o valor de uma msg for igual ao de cima, baixo, esq e dir, printa no LCD
+
+ if (can1.read(recebida))
+ {
+ pc.printf("mensagem recebida %x\n", recebida.data[0]);
+ }
+
+ if (recebida.data[0] == 0x55)
+ {
+ lcd.locate(0,0);
+ lcd.printf("Cima ");
+ }
+
+ if (recebida.data[0] == 0x54)
+ {
+ lcd.locate(0,0);
+ lcd.printf("Baixo ");
+ }
+
+ if (recebida.data[0] == 0x53)
+ {
+ lcd.locate(0,0);
+ lcd.printf("Esquerda ");
+ }
+
+ if (recebida.data[0] == 0x52)
+ {
+ lcd.locate(0,0);
+ lcd.printf("Direita ");
+ }
+ recebida.data[0] = 0; //limpa as variaveis
+
+
+ }
+
+}
+
+
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Tue Jun 09 22:22:32 2020 +0000 @@ -0,0 +1,1 @@ +https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400 \ No newline at end of file