Eletronica_Embarcada_2020-1 / Mbed 2 deprecated Teste_PROJ

Dependencies:   mbed TextLCD

Files at this revision

API Documentation at this revision

Comitter:
robertof3
Date:
Fri Jun 19 20:21:44 2020 +0000
Commit message:
proj eletronica 19/06/2020

Changed in this revision

TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 9904aeb823e9 TextLCD.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TextLCD.lib	Fri Jun 19 20:21:44 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/simon/code/TextLCD/#308d188a2d3a
diff -r 000000000000 -r 9904aeb823e9 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Jun 19 20:21:44 2020 +0000
@@ -0,0 +1,185 @@
+//-------------------------------------------------------------------
+// Projeto 2020-06-15_APS3
+// Arquivo: main.cpp
+// descrição: Programa APS3 - OBD
+// autor: Roberto
+//------------------------------------------------------------------
+
+#include "mbed.h"
+#include <TextLCD.h>
+
+Serial pc(USBTX, USBRX); // tx, rx
+Serial sparkfun(PB_9, PB_8);  // tx, rx
+
+TextLCD lcd(D8, D9, D4, D5, D6, D7);
+DigitalOut LCD(LED1);
+
+char resposta[20];  //com folga e carater vazio
+int i = 0;
+int y = 0;
+char bat[3];
+char rpm[4]; // 4 bytes finais
+int resposta_bat;
+int resposta_rpm;
+
+int resposta_temp;
+char vel[2]; // 2 bytes finais
+int resposta_vel;
+
+void bateria() {
+    
+    i = 0;
+    
+    memset(resposta,NULL,20);
+    
+    pc.printf("atrv \r");  // valor bat
+    
+    
+    while(pc.readable() == 0) {   //trocar para sparkfun
+    }
+    
+    while(resposta[i-1] != '\r') {  // ' caracter com caracter
+        
+    resposta[i] = pc.getc(); 
+    i ++;
+    }
+    
+    lcd.locate (0,0);
+    lcd.printf("B");
+    
+    lcd.locate (2,0);
+    lcd.printf(resposta);
+    
+    lcd.locate (7,0);
+    lcd.printf(" ");
+    
+    pc.printf(resposta);
+    pc.printf("\r");
+    }
+    
+void rotacao() { 
+    
+    i = 0; 
+    
+    memset(resposta,NULL,20);
+    
+    pc.printf("010c\r");  // valor rpm
+    
+    while(pc.readable() == 0) {   //trocar para sparkfun
+    }
+    
+    while(resposta[i-1] != '\r') {  // ' caracter com caracter
+        
+    resposta[i] = pc.getc(); 
+    i ++;
+    }
+    
+    rpm[0] = resposta[i-6];  
+    rpm[1] = resposta[i-5];
+    rpm[2] = resposta[i-3];
+    rpm[3] = resposta[i-2];  //  \r conta como um caracter e i conta um a mais (ofset =2)
+    
+    resposta_rpm = strtol(rpm,NULL,16)/4;  //string to int em decimal| nao precisa da logica e A e B pq os bytes estao conjuntos
+    
+    lcd.locate (8,0);
+    lcd.printf("RPM %d",resposta_rpm);
+    
+    pc.printf(" RPM: %d \r ",resposta_rpm);
+    }
+    
+void temperatura() {
+    
+    i = 0;
+    resposta_temp = 0;
+    
+    memset(resposta,NULL,20);
+    
+    pc.printf("0105\r");  // valor temp
+    
+    while(pc.readable() == 0) {   //trocar para sparkfun
+    }
+    
+    while(resposta[i-1] != '\r') {  // ' caracter com caracter
+        
+    resposta[i] = pc.getc(); 
+    //pc.putc(resposta[i]);
+    i ++;
+    }
+    
+    char temp[2]; // 2 bytes finais
+    //memset(temp,NULL,2);
+    
+    temp[0] = resposta[i-3];  
+    temp[1] = resposta[i-2]; //  \r conta como um caracter e i conta um a mais (ofset =2)
+    
+    pc.printf(" TEMP: %c%c \r ",temp[0], temp[1]); 
+    
+    resposta_temp = strtol(temp,NULL,16)-40 ;  //string to int | nao precisa da logica e A e B pq os bytes estao conjuntos
+    
+    //resposta_temp = resposta_temp - 40;
+    
+    lcd.locate (0,1);
+    lcd.printf("TEMP %d",resposta_temp);
+    
+    pc.printf(" TEMP: %d \r ",resposta_temp); 
+    }
+    
+void velocidade(){
+    
+    i = 0; 
+    
+    memset(resposta,NULL,20);
+    
+    pc.printf("010D\r");  // valor vel
+    
+    while(pc.readable() == 0) {   //trocar para sparkfun
+    }
+    
+    while(resposta[i-1] != '\r') {  // ' caracter com caracter
+        
+    resposta[i] = pc.getc(); 
+    //pc.putc(resposta[i]);
+    i ++;
+    }
+    
+    vel[0] = resposta[i-3];  
+    vel[1] = resposta[i-2]; //  \r conta como um caracter e i conta um a mais (ofset =2)
+    
+    resposta_vel = strtol(vel,NULL,16);  //string to int | nao precisa da logica e A e B pq os bytes estao conjuntos
+    
+    lcd.locate (8,1);
+    lcd.printf("VEL %d",resposta_vel);
+    
+    pc.printf(" VEL %d \r ",resposta_vel); 
+    }
+
+int main() {
+
+    while(y != 10){   
+    
+        bateria();
+        
+        wait(1);
+        
+        rotacao(); 
+        
+        wait(1);
+        
+        temperatura();
+  
+        wait(1);
+        
+        velocidade();
+        
+        wait(1);
+        
+        ++y;
+    }
+}
+    
+    
+    
+    
+    
+    
+    
\ No newline at end of file
diff -r 000000000000 -r 9904aeb823e9 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Fri Jun 19 20:21:44 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file