final lab 6, écran lcd
Dependencies: mbed-rtos mbed mlcd_32pt
testLab6.cpp
- Committer:
- annicksenecal
- Date:
- 2013-12-09
- Revision:
- 3:e3681694d955
- Parent:
- 2:dfd0d133d964
- Child:
- 4:cb1507dc9dd9
File content as of revision 3:e3681694d955:
// Print messages when the AnalogIn is greater than 50% #include "mbed.h" #include "mlcd_32pt.h" //Librairie pour l'écran LCD #include "Serial.h" //Librairie pour la communication série #include "rtos.h" #define ACK 0x06 #define NAK 0x15 #define ON 1 #define OFF 0 #define DEBUT_LIGNE 0 #define NOIR 0xFFFF #define WIDTH 1 #define HEIGHT 1 #define LIGNE_SUIV 15 AnalogIn ir(p19); //Initialisation de la pin qui reçoit la valeur du capteur infra-rouge DigitalOut myled(LED4); //Sert surtout au dépannage DigitalOut myled2(LED2); //Sert surtout au dépannage DigitalOut myled3(LED3); Serial terminal (USBTX,USBRX); //pour envoyer au port de communication int lignes = 0; bool couleur; Mutex flag; unsigned char message[50]; void lectureCapteur (void const *args) { while(true) { if(ir < .6) { couleur = false; sprintf((char*)message,"c'est noir! (%f)\n \r", ir.read()); printf((char*)message); myled = 1; Thread::wait(500); myled = 0; Thread::wait(500); } else { couleur = true; sprintf((char*)message,"c'est blanc! (%f)\n \r", ir.read()); printf((char*)message); myled2 = 1; Thread::wait(500); myled2 = 0; Thread::wait(500); } } } void envoiMessage (void const *args) { while(1) { if (couleur == false) { drawString(DEBUT_LIGNE, lignes, FONT_8_12, NOIR, WIDTH, HEIGHT, message); lignes += LIGNE_SUIV; Thread::wait(1000); } else { drawString(DEBUT_LIGNE, lignes, FONT_8_12, NOIR, WIDTH, HEIGHT, message); lignes += LIGNE_SUIV; Thread::wait(1000); } if (lignes >= 225) { copier_coller(); lignes -= LIGNE_SUIV; } } } /*void resetEcran (void const *args) { if (double_clic()) { flag.lock(); sprintf((char*)message,"Reset de l'ecran"); drawString(DEBUT_LIGNE, lignes, FONT_8_12, NOIR, WIDTH, HEIGHT, message); lignes = 0; } } */ int main() { int retour = 0; int bckground = 0; init_lcd(); //bckground = rgb(0,255,0);//213,44,180 //retour = setbgColor(bckground); if (retour == NAK) { myled3 = ON; } else { sprintf((char*)message,"Lecture du capteur\n\r"); printf("%s", (char*)message); drawString(DEBUT_LIGNE, lignes, FONT_8_12, NOIR, WIDTH, HEIGHT, message); lignes += LIGNE_SUIV; } Thread thread(lectureCapteur); Thread thread1(envoiMessage); //Thread thread2(resetEcran); while(true); }