Lékařský ventilátor založený na STONE touchscreen a ESP32

Odpovědět
Arthur
Příspěvky: 36
Registrován: 02 čer 2021, 03:37
Reputation: 0

Lékařský ventilátor založený na STONE touchscreen a ESP32

Příspěvek od Arthur » 02 črc 2021, 10:08

Zde se budeme zabývat projektem ventilátoru. Po zapnutí a zapnutí ventilátoru se zobrazí rozhraní pro spuštění a nápis "open ventilator". Kliknutím na něj se projeví efekt kliknutí doprovázený hlasovou výzvou, která znamená, že byl úspěšně zapnut. Nakonec dojde k přeskočení na rozhraní pro výběr funkcí. V tomto rozhraní můžeme zvolit režim ventilátoru: CMV PCV SIMV PS CPAP PEEP, Pokud je nastavení špatné, můžete kliknout na tlačítko Reset a poté se vrátit kliknutím na tlačítko OK. Dále klikněte na tlačítko "vendor waveforms", dojde ke stejnému efektu tlačítka a poté vstoupíte do rozhraní pro zobrazení křivek srdeční frekvence. V této chvíli se na obrazovku STONE TFT LCD odešle sériový příkaz, čímž se spustí jednotka esp32 MCU, aby začala nahrávat data průběhů.

To znamená následující funkce:

① Obrazovka STONE TFT LCD se sériovým portem pro realizaci nastavení tlačítek.

② Obrazovka sériového portu STONE TFT LCD realizuje přepínání stránek;

③ obrazovka sériového portu STONE TFT LCD realizuje vydávání příkazů sériového portu;

④ STONE TFT LCD obrazovka sériového portu pro zobrazení průběhu.

Moduly potřebné pro projekt:

STONE TFT LCD

Arduino ESP32

Modul pro přehrávání hlasu

Zavedení hardwaru

Loudspeaker
Obrázek

STONE STVC101WT-01
Obrázek

ESP32 EVB
Obrázek

Vývojové kroky

Arduino ESP32

Vývoj softwarové části vyžaduje nejprve instalaci IDE. Esp32 podporuje vývoj a kompilaci v prostředí Arduino, proto musíme nejprve nainstalovat vývojový nástroj Arduino.

Stone-design

k návrhu grafického uživatelského rozhraní používáme Stone-design.
Obrázek

Připojení
Obrázek

Kód

Kód: Vybrat vše

//String temp;

#include

#include "stdlib.h"

HardwareSerial Serial2(2);

uint8_t i = 0, count = 0;

uint8_t StartWaveFlag = 0;

uint8_t EnterWave[9] = {0xA5, 0x5A, 0x06, 0x83, 0x00, 0x0E, 0x01, 0x00, 0x01};

uint8_t BackToBg[9] = {0xA5, 0x5A, 0x06, 0x83, 0x02, 0xF1, 0x01, 0x00, 0x02};

uint8_t RecievedTemp[9] = {0};

uint8_t StartWave[7] = {0xA5, 0x5A, 0x04, 0x84, 0x01, 0x01, 0xFF};

uint8_t CleanWave[6] = {0xA5, 0x5A, 0x03, 0x80, 0xEB, 0x56};

char temp;

void setup() {

  // put your setup code here, to run once:

//   Serial.begin(115200);

//   Serial.println("Goouuu HelloWorld!");

   Serial2.begin(115200);

   Serial2.println("Serial2.begin");

   srand(0);

}

void loop() {

  // put your main code here, to run repeatedly:

//    if(Serial.available()!=0)

//    {

//        temp=Serial.read();

//        if(temp=='a')

//        {

//            Serial.println("YESsss!");

//        }

//        

//    }

    if(Serial2.available() != 0)

    {

      for(count = 0; count < 9; count ++)

      {

          RecievedTemp[count] = Serial2.read();

      }
Ukázka výsledků
Obrázek

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host