RTOS

Dependencies:   mbed mbed-rtos hcsr04 TextLCD MMA8451Q

Files at this revision

API Documentation at this revision

Comitter:
Diego_Mbed
Date:
Thu Jun 11 02:07:45 2020 +0000
Commit message:
Rtos;

Changed in this revision

MMA8451Q.lib Show annotated file Show diff for this revision Revisions of this file
TextLCD.lib Show annotated file Show diff for this revision Revisions of this file
hcsr04.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-rtos.lib 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 a07af2ea22c3 MMA8451Q.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/MMA8451Q.lib	Thu Jun 11 02:07:45 2020 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/emilmont/code/MMA8451Q/#c4d879a39775
diff -r 000000000000 -r a07af2ea22c3 TextLCD.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TextLCD.lib	Thu Jun 11 02:07:45 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/teams/KRAI-ITB-2019/code/TextLCD/#95892122f5d0
diff -r 000000000000 -r a07af2ea22c3 hcsr04.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hcsr04.lib	Thu Jun 11 02:07:45 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/lavioros/code/hcsr04/#4947ffc8c310
diff -r 000000000000 -r a07af2ea22c3 main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Jun 11 02:07:45 2020 +0000
@@ -0,0 +1,122 @@
+#include "mbed.h"
+#include "rtos.h"
+#include "hcsr04.h"
+#include "TextLCD.h"
+//#include "platform/mbed_thread.h"
+#include "MMA8451Q.h"
+#define MMA8451_I2C_ADDRESS (0x1d<<1)
+
+BusOut Dis7seg(PTE20,PTB2,PTB0,PTE21,PTE23,PTB3,PTB1);
+DigitalOut unidad(PTE2);
+DigitalOut decena(PTE3);
+DigitalOut centena(PTE5);
+Serial pc(USBTX, USBRX); // tx, rx
+HCSR04  usensor(PTD0,PTD5); // Trigger, Echo
+PwmOut servo(PTA13);
+DigitalOut led_1(LED1);
+SPI spi(PTD2, NC, PTD1);          // puertos (MOSI, MISO, SCLK)
+DigitalOut cs(PTE31);                // Chip select
+MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS); //(SDA,SCL,Direc) 
+// I2C Communication
+I2C i2c_lcd(PTE0,PTE1); // SDA, SCL
+// LCD instantiation 
+TextLCD_I2C lcd(&i2c_lcd, 0x4E, TextLCD::LCD16x2, TextLCD::WS0010);
+
+unsigned int dist;
+int distancias[12];
+int incremento;
+int Decremento;
+int uni =5;
+int dec =2;
+int n=0;
+int p=0;
+
+//------------------------------------Funcion de números--------------------------------------------------------
+
+void numeros(){
+    switch(n){
+         case 0: Dis7seg=0x01; break;
+         case 1: Dis7seg=0x4F; break;
+         case 2: Dis7seg=0x12; break;
+         case 3: Dis7seg=0x06; break;
+         case 4: Dis7seg=0x4C; break;
+         case 5: Dis7seg=0x24; break;    
+         case 6: Dis7seg=0x60; break;
+         case 7: Dis7seg=0x0F; break;
+         case 8: Dis7seg=0x00; break;
+         case 9: Dis7seg=0x0C; break; 
+    }
+}
+//---------------------------------Sensor ultrasonico con servo-------------------------------------------------------------------
+void lidar(){
+    servo.period_ms(20);
+    while(true){
+    for(int i=0;i<=12;i++){
+        incremento= i*159;
+        usensor.start();
+        dist=usensor.get_dist_cm();
+        distancias[i]=dist;
+        servo.pulsewidth_us(600+incremento);
+        ThisThread::sleep_for(120);
+        }
+        for(int i=0;i<=12;i++){
+            Decremento= i*159;
+            usensor.start();
+            usensor.get_dist_cm();
+            distancias[i]=dist;
+            servo.pulsewidth_us(2508-Decremento);
+            ThisThread::sleep_for(120);
+        }
+    }
+}
+
+//---------------------------------------Lcd_I2C---------------------------------------------------------
+
+void Lcd_I2C(){
+    
+    lcd.cls();
+    lcd.locate(0,0);
+    lcd.setBacklight(TextLCD::LightOn);
+ 
+    while(true) { 
+        lcd.cls();
+        lcd.locate(0,0);
+        lcd.printf("cm:%u hola mundo",dist);
+        ThisThread::sleep_for(100);    
+    }    
+}
+
+//--------------------------------Visualizacion Display 7 segmentos---------------------------------------------
+
+void Seg(){
+while (true) {
+       unidad=0b1;
+       decena=0b0;
+       n=uni;
+       numeros();
+       thread_sleep_for(5);
+       unidad=0b0;
+       decena=0b1;
+       n=dec;
+       numeros();
+       thread_sleep_for(5);
+    }
+}
+
+//--------------------------Hilos tareas-------------------------------------------------------------------
+
+Thread Thread_lidar (osPriorityNormal1,OS_STACK_SIZE,nullptr, "tarea lidar");
+Thread Thread_Lcd (osPriorityNormal,OS_STACK_SIZE,nullptr, "tarea Lcd");
+Thread Thread_Dis7seg (osPriorityNormal,OS_STACK_SIZE,nullptr, "tarea 7seg");
+
+
+
+int main(){
+
+    //Thread_lidar.start(lidar);
+    Thread_Lcd.start(Lcd_I2C);
+    Thread_Dis7seg.start(Seg);
+
+
+}
+
diff -r 000000000000 -r a07af2ea22c3 mbed-rtos.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Thu Jun 11 02:07:45 2020 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#5713cbbdb706
diff -r 000000000000 -r a07af2ea22c3 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jun 11 02:07:45 2020 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/65be27845400
\ No newline at end of file