finales

Dependencies:   mbed Servo HC-SR04 TextLCD max6675 SLCD

Committer:
20172573063
Date:
Wed Jun 10 00:25:16 2020 +0000
Revision:
1:0371f6d48091
Parent:
0:834b339f5f94
Child:
2:828a15eaad12
proyecto_prueba7seg

Who changed what in which revision?

UserRevisionLine numberNew contents of line
juanespitiarobotica 0:834b339f5f94 1 #include "mbed.h"
juanespitiarobotica 0:834b339f5f94 2 #include "HCSR04.h"
juanespitiarobotica 0:834b339f5f94 3 #include "rtos.h"
juanespitiarobotica 0:834b339f5f94 4 #include "Servo.h"
juanespitiarobotica 0:834b339f5f94 5 #include "max6675.h"
juanespitiarobotica 0:834b339f5f94 6 #include "TextLCD.h"
juanespitiarobotica 0:834b339f5f94 7
20172573063 1:0371f6d48091 8 #include "SLCD.h"
20172573063 1:0371f6d48091 9
20172573063 1:0371f6d48091 10
juanespitiarobotica 0:834b339f5f94 11 HCSR04 ultrasonido(PTA7,PTA6);
juanespitiarobotica 0:834b339f5f94 12 Servo servomotor(PTA13);
juanespitiarobotica 0:834b339f5f94 13 I2C i2c_lcd(D7,D6);
juanespitiarobotica 0:834b339f5f94 14 TextLCD_I2C lcd(&i2c_lcd, 0x4E, TextLCD::LCD16x2, TextLCD::HD44780);
juanespitiarobotica 0:834b339f5f94 15 max6675 sensor(D12,D13,D5);
juanespitiarobotica 0:834b339f5f94 16 Serial pc(USBTX,USBRX);
juanespitiarobotica 0:834b339f5f94 17 Thread thread;
juanespitiarobotica 0:834b339f5f94 18 Thread thread1;
juanespitiarobotica 0:834b339f5f94 19 Thread thread2;
juanespitiarobotica 0:834b339f5f94 20 Thread thread3;
20172573063 1:0371f6d48091 21 Thread thread4;
juanespitiarobotica 0:834b339f5f94 22
20172573063 1:0371f6d48091 23 DigitalOut gpo(D0);
20172573063 1:0371f6d48091 24 SLCD slcd;
20172573063 1:0371f6d48091 25
20172573063 1:0371f6d48091 26 void pantallalcd()
20172573063 1:0371f6d48091 27 {
juanespitiarobotica 0:834b339f5f94 28 lcd.setMode(TextLCD::DispOn);
juanespitiarobotica 0:834b339f5f94 29 lcd.setBacklight(TextLCD::LightOn);
juanespitiarobotica 0:834b339f5f94 30 lcd.setCursor(TextLCD::CurOff_BlkOff);
20172573063 1:0371f6d48091 31 }
20172573063 1:0371f6d48091 32
juanespitiarobotica 0:834b339f5f94 33 void temp_hora()
juanespitiarobotica 0:834b339f5f94 34 {
juanespitiarobotica 0:834b339f5f94 35 set_time(1256729737);
juanespitiarobotica 0:834b339f5f94 36 int cf = 0;
juanespitiarobotica 0:834b339f5f94 37 while (1) {
juanespitiarobotica 0:834b339f5f94 38 time_t seconds = time(NULL);
juanespitiarobotica 0:834b339f5f94 39 float temp = sensor.gettemp(cf);
juanespitiarobotica 0:834b339f5f94 40 printf("%d", seconds);
juanespitiarobotica 0:834b339f5f94 41 printf("Fecha= %s", ctime(&seconds));
juanespitiarobotica 0:834b339f5f94 42
juanespitiarobotica 0:834b339f5f94 43 char buffer[32];
juanespitiarobotica 0:834b339f5f94 44 strftime(buffer, 32, "%H:%M:%S ", localtime(&seconds));
juanespitiarobotica 0:834b339f5f94 45 printf("%s", buffer);
juanespitiarobotica 0:834b339f5f94 46
juanespitiarobotica 0:834b339f5f94 47 printf("%4.2f%cF \n\033[2K\033[1A",temp,176);
juanespitiarobotica 0:834b339f5f94 48 lcd.locate(0,0);
juanespitiarobotica 0:834b339f5f94 49 lcd.printf("temp:%1.2f\n",temp);
20172573063 1:0371f6d48091 50
juanespitiarobotica 0:834b339f5f94 51 Thread::wait(1000);
juanespitiarobotica 0:834b339f5f94 52 }
juanespitiarobotica 0:834b339f5f94 53 }
juanespitiarobotica 0:834b339f5f94 54
juanespitiarobotica 0:834b339f5f94 55 void servo()
juanespitiarobotica 0:834b339f5f94 56 {
juanespitiarobotica 0:834b339f5f94 57
juanespitiarobotica 0:834b339f5f94 58 servomotor.calibrate(0.001, 180);
juanespitiarobotica 0:834b339f5f94 59
juanespitiarobotica 0:834b339f5f94 60 while(1) {
juanespitiarobotica 0:834b339f5f94 61 for(int i=0; i<100; i++) {
juanespitiarobotica 0:834b339f5f94 62 servomotor = i*0.01;
juanespitiarobotica 0:834b339f5f94 63 printf("%d",i);
juanespitiarobotica 0:834b339f5f94 64 Thread::wait(100);
juanespitiarobotica 0:834b339f5f94 65 }
juanespitiarobotica 0:834b339f5f94 66 for(int i=100; i>0; i--) {
juanespitiarobotica 0:834b339f5f94 67 servomotor = i*0.01;
juanespitiarobotica 0:834b339f5f94 68 printf("%d",i);
juanespitiarobotica 0:834b339f5f94 69 Thread::wait(100);
juanespitiarobotica 0:834b339f5f94 70 }
juanespitiarobotica 0:834b339f5f94 71 }
juanespitiarobotica 0:834b339f5f94 72 }
juanespitiarobotica 0:834b339f5f94 73
juanespitiarobotica 0:834b339f5f94 74 void ultra()
juanespitiarobotica 0:834b339f5f94 75 {
juanespitiarobotica 0:834b339f5f94 76 while(1) {
juanespitiarobotica 0:834b339f5f94 77 float distancia=ultrasonido.getCm();
juanespitiarobotica 0:834b339f5f94 78 lcd.locate(0,1);
juanespitiarobotica 0:834b339f5f94 79 lcd.printf("dist:%2.f cm\n",distancia);
juanespitiarobotica 0:834b339f5f94 80 Thread::wait(1000);
juanespitiarobotica 0:834b339f5f94 81 }
20172573063 1:0371f6d48091 82 }
20172573063 1:0371f6d48091 83 void seg()
20172573063 1:0371f6d48091 84 {
20172573063 1:0371f6d48091 85 while (true) {
20172573063 1:0371f6d48091 86 float distancia=ultrasonido.getCm();
20172573063 1:0371f6d48091 87 slcd.printf("%1.3f",distancia);
20172573063 1:0371f6d48091 88 Thread::wait(1000);
20172573063 1:0371f6d48091 89 }
20172573063 1:0371f6d48091 90 }
juanespitiarobotica 0:834b339f5f94 91
juanespitiarobotica 0:834b339f5f94 92
juanespitiarobotica 0:834b339f5f94 93 int main()
juanespitiarobotica 0:834b339f5f94 94 {
20172573063 1:0371f6d48091 95
20172573063 1:0371f6d48091 96
juanespitiarobotica 0:834b339f5f94 97 thread.start((ultra));
juanespitiarobotica 0:834b339f5f94 98 thread1.start ((servo));
juanespitiarobotica 0:834b339f5f94 99 thread2.start ((temp_hora));
juanespitiarobotica 0:834b339f5f94 100 thread3.start ((pantallalcd));
20172573063 1:0371f6d48091 101 thread4.start ((seg));
juanespitiarobotica 0:834b339f5f94 102
juanespitiarobotica 0:834b339f5f94 103 }