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: Adafruit_GFX
Diff: main.cpp
- Revision:
- 2:fd3b989cedcd
- Parent:
- 1:1d515eb7abf3
- Child:
- 3:3fbadf6c492f
--- a/main.cpp Wed Dec 15 13:22:41 2021 +0000 +++ b/main.cpp Wed Dec 15 18:57:42 2021 +0000 @@ -1,6 +1,23 @@ #include "mbed.h" #include "math.h" +#include "Adafruit_SSD1306.h" + //#include "hcsr04.h" +class I2CPreInit : public I2C +{ +public: + I2CPreInit(PinName sda, PinName scl) : I2C(sda, scl) + { + frequency(100000); + start(); + }; +}; + +I2CPreInit gI2C(PB_9,PB_8); + +// an SPI sub-class that provides a constructed default + +Adafruit_SSD1306_I2c gOled(gI2C,NC,0x78,64,128); Serial pc(USBTX, USBRX); // tx, rx Ticker tickerMideDistancia; Ticker visualTemp; @@ -68,23 +85,31 @@ { //if (final2) if (boton_inicial==0&&final2==0) { + paso(1); - + dirAMotor=1; rele =1; } else if (final2==1) { int tiempo=t.read(); - pc.printf("El tiempo transcurrido es de %d\n",tiempo); - pc.printf("La temperatura es de %.4f\n",temperatura); + + //pc.printf("La temperatura es de %.4f\n",temperatura); + gOled.clearDisplay(); + gOled.printf("La temperatura es de %.4f\n",temperatura); + gOled.display(); + gOled.setTextCursor(0,0); + + // pc.printf("El tiempo transcurrido es de %d\n",tiempo); + //pc.printf("La temperatura es de %.4f\n",temperatura); //dirAMotor=0; wait(2.0); //enableMotor=0; //rele=0; - if (final2==1) { + //if (final2==1) { estado=atras; - } + //} //Print en pantalla con el Oled. } } @@ -103,19 +128,29 @@ } } -void muestraTemp(){ +void muestraTemp() +{ pc.printf("La temperatura es de %.4f\n",temperatura); - } + gOled.clearDisplay(); + gOled.printf("La temperatura es de %.4f\n",temperatura); + gOled.display(); + gOled.setTextCursor(0,0); +} - void medir(){ - +void medir() +{ float tension=senal.read()*3.3; float Rt= 100e3*((3.3-tension)/tension); temperatura = (3950/(log(Rt/100e3)+(3950/298)))-273.1; - } +} int main() { pc.baud(115200); + gOled.begin(); + gOled.clearDisplay(); + gOled.printf("Hola"); + gOled.display(); + gOled.setTextCursor(0,0); //visualTemp.attach(&muestraTemp,1.0); //tickerMideDistancia.attach(&mideDistancia, 0.5); estado=reset; @@ -124,10 +159,10 @@ pc.printf("Estado cerrada\n"); t.start(); while(1) { - medir(); + medir(); //distancia=usensor.get_dist_cm(); switch ( estado ) { - + case reset: estadoreset(); pc.printf("Estado reset\n");