Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-rtos mbed Hc05 RawSerialPc
main.cpp
00001 #include "mbed.h" 00002 #include "rtos.h" 00003 #include "Hc05.h" 00004 #include "RawSerialPc.h" 00005 00006 00007 RawSerialPc pc(USBTX, USBRX); //Per provar si funciona, no cal al programa 00008 Hc05 bt(D8, D2); //Crea l'objecte bt, connectat als pins D8 (TX) i D2 (RX) (és la connexió sèrie BT) 00009 00010 //Aquest serà el meu fil, que va llegint cada 300ms del HC-05 00011 void llegir_thread(void const *args) { 00012 while (true) { 00013 //Intenta llegir un string, i si el llegeix, el tracta 00014 if(bt.llegirString()) 00015 bt.tractaString(); 00016 //Comprova la connexió (mira si ha rebut alguna cosa) 00017 bt.comprovaConnexio(); 00018 //Temps del Thread que està esperant 00019 Thread::wait(100); 00020 00021 } 00022 } 00023 00024 //Aquest serà el programa principal 00025 int main() { 00026 00027 Thread thread(llegir_thread); //Inicia el fil llegir_thread 00028 //char m[128]; //Per visualitzar el mode i el timer, no es necessari 00029 while (true) { 00030 //pc.enviaString(bt.strLlegit); //Per veure l'ultim string llegit, no es necessari 00031 bt.calculaMotors(); //Calcula com s'han de moure els motors 00032 //snprintf(m, 128, "Mode: %d | timer: %dms", bt.getMode(), bt.getTimer()); //Per visualitzar el mode i el timer, no es necessari 00033 //pc.enviaString(m); //Per visualitzar el mode i el timer, no es necessari 00034 //pc.enviaString(bt.strPos); //Per visualitzar la posicio on ha d'anar el robot, no es necessari 00035 if((bt.getMode() == 0) || (bt.getMode() == 1) || (bt.getMode() == 2)) { 00036 pc.enviaString(bt.strM1); //String motor1 que s'envia a l'arduino d'en Marcel 00037 pc.enviaString(bt.strM2); //String motor2 que s'envia a l'arduino d'en Marcel 00038 pc.enviaString(bt.strM3); //String motor3 que s'envia a l'arduino d'en Marcel 00039 } 00040 else if (bt.getMode() == 3) { 00041 ;//Mode automàtic (programa Eva) 00042 } 00043 else if (bt.getMode() == 4) { 00044 ;//Mode mando (programa Marc) 00045 } 00046 else { 00047 pc.enviaString("V000FM1"); //String motor1 que s'envia a l'arduino d'en Marcel 00048 pc.enviaString("V000FM2"); //String motor2 que s'envia a l'arduino d'en Marcel 00049 pc.enviaString("V000FM3"); //String motor3 que s'envia a l'arduino d'en Marcel 00050 } 00051 Thread::wait(500); //Temps del Thread que està esperant 00052 } 00053 }
Generated on Thu Jul 21 2022 23:10:41 by
1.7.2