Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino

Komponen dan Perlengkapan

Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
Arduino UNO
Untuk Versi Dengan Arduino
×1
Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
Arduino 4 Relays Shield
Untuk Versi Dengan Arduino
×1
Digital Servo MG995
Untuk semua versi
×1
LM2596S module
Untuk semua versi
×2
Potensiometer linear multi-turn 10k
Untuk semua versi
×1
Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
Digilent 60W PCIe 12V 5A Power Supply
Untuk semua versi
×1
Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
LED 5 mm: Merah
Untuk semua versi
×1
Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
LED 5 mm: Hijau
×1
Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
LCD Alphanumeric, 20 x 4
Untuk semua versi
×1
Tombol switch 220v
Untuk semua versi
×1
snorke full face
×1
Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
Klep Solenoid, 2 Way
×1

Alat dan Mesin yang Diperlukan

Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
Printer 3D (umum)
A8
300-001 - Lightbox, UV Exposure

Aplikasi dan Layanan Online

Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
Arduino IDE
PcB Elegance
Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino
Autodesk Fusion 360

Tentang Proyek Ini

Ventilator noninvasif open-source. Biaya rendah dan mudah dibuat, respirator darurat untuk mengatasi krisis kesehatan Covid19 jika tidak ada ventilator yang tersedia dan selama pasien tidak diintubasi atau dirawat dengan sedasi.

Proyek ini adalah hasil dari tantangan yang diluncurkan oleh guru dan teman saya, Serafim Pires, yang menghubungi saya menunjukkan proyek dari Spanyol, dan mengatakan akan baik jika saya dapat mengembangkan proyek untuk membantu melawan krisis dunia ini.

Setelah beberapa penelitian dan studi tentang topil Ventilasi Noninvasif, saya membangun prototipe fungsional ini berdasarkan 2 teknologi yang ada.

Semua tes berhasil dan dengan tes fungsional lebih dari 20 hari tanpa masalah atau gangguan apa pun.

Ventilasi noninvasif disampaikan menggunakan masker wajah dan masker hidung, yang mendorong sejumlah udara tekanan ke dalam paru-paru. Ini mendukung proses pernapasan alami ketika penyakit telah menyebabkan gagal paru-paru, memungkinkan tubuh untuk melawan infeksi dan sembuh.

Berdasarkan penelitian yang dilakukan di Italia, saya menggunakan teknologi ini dalam proyek saya yang mengubah masker snorkel Decathlon menjadi ventilator darurat untuk pasien yang menderita COVID-19, untuk membantu mengurangi kekurangan ventilator selama puncak pandemi coronavirus.

Masker ini telah disesuaikan dan digunakan di lokasi di seluruh dunia karena biayanya rendah dan mudah disesuaikan.

Hasilnya nyata dan, baru-baru ini, teknologi ini juga digunakan di sini di Portugal di Rumah Sakit Santarém.

Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino

https://www.prosaude.org.br/noticias/hospital-regional-de-santarem-utiliza-mascaras-de-mergulho-no-tratamento-da-covid-19/?fbclid=IwAR36UVLXCztk0zSSJwTCBQ1lgb5iYmY1Ha_tqwIT74BjpH0-QrYaqvQ-Xqk

Berita di koran di Portugal.

Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino

Wawancara di radio lokal menjadi viral di media sosial di Portugal.

.

Tes operasi pertama menggunakan volume udara kecil dan menggunakan 15 siklus pernapasan mengubah frekuensi pernapasan dan PEEP untuk demonstrasi.


PERINGATAN: Prototipe ini belum divalidasi oleh badan resmi dan saya menolak semua tanggung jawab untuk penggunaannya.

Selainnya, ini akan digunakan sebagai pilihan terakhir dan oleh personel medis yang terlatih, peralatan ini dimaksudkan untuk menyelamatkan nyawa dalam situasi puncak ekstrim.

Proyek nirlaba ini dapat direplikasi secara massal, jika disetujui oleh otoritas yang berwenang di Portugal.

Kode

INOVT_COVID19_Version_2.2.inoArduino
/* Program pulmonary ventilator INOVT COVID-19 Versio 2.2 * Autor: David Pascoal * The equipment has been tested and proven,security with pressure sensor, * Alarm output to turn on Buzer or beetle. */ #include <Wire.h> #include <LiquidCrystal_I2C.h> #include <Servo.h> LiquidCrystal_I2C lcd(0x27,20,4); #define PIN_SERVO 6 #define PIN_FREQ A1 #define PIN_PEEP A0 #define PIN_LED 2 #define PIN_LED2 3 #define PIN_Alarm_Relay 8 #define PIN_Safety_Valve 9 #define SENSOR_FLOW A3 #define EXPIRANDO 0 #define INSPIRANDO 1 #define MIN_ANGLE 92 #define MAX_ANGLE 139 int frecuencia = 0; int valInspira = 0; int valExpira = 0; int valPeep = 0; int aux; int x = 500; int y = 1000; unsigned long time; Servo myServo; int frecuencia_ant; int valPeep_ant; int estado; void logo() { byte a3[8]= { B00011, B00111, B01100, B11000, B10000, B00000, B00000 }; byte a2[8]= {B00000, B00000, B00000, B00000, B10001, B11111, B01110 }; byte a1[8]={B11000, B01100, B00110, B00011, B00001, B00000, B00000 }; byte a4[9]={ B00000, B00000, B00000, B00001, B00011, B00110, B01100, B11000 }; byte a5[9]={ B00000, B01110, B11111, B10001, B00000, B00000, B00000, B01110, B00000, }; byte a6[8]={ B00000, B00000, B00000, B10000, B11000, B01100, B00110, B00011 }; byte a7[10]={ B00000, B01110, B11111, B10001, B00000, B00000, B00000, B00000, }; byte a8[8]={B00100, B01110, B00100, B00000, B10001, B11111, B01110 }; lcd.print("&quot;*COVID19*&quot;"); lcd.setCursor(0,1); lcd.print("&quot;..INOVT..&quot;"); lcd.createChar(0,a1); lcd.createChar(1,a2); lcd.createChar(2,a3); lcd.createChar(7,a8); lcd.createChar(3,a4); lcd.createChar(4,a5); lcd.createChar(5,a6); lcd.createChar(6,a7); lcd.setCursor(10,0); lcd.write(byte(3)); lcd.write(byte(4)); lcd.write(byte(5)); lcd.write(byte(3)); lcd.write(byte(6)); lcd.write(byte(5)); lcd.setCursor(10,1); lcd.write(byte(0)); lcd.write(byte(1)); lcd.write(byte(2)); lcd.write(byte(0)); lcd.write(byte(7)); lcd.write(byte(2)); } void initior() { byte c11[8] = { B00000, B00000, B11111, B11111, B11111, B11111, B00000, B00000 }; lcd.createChar(3, c11); lcd.setCursor(0, 2); lcd.write(3); delay(x); lcd.setCursor(1, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED,HIGH); lcd.setCursor(2, 2); lcd.write(3); delay(x); lcd.setCursor(3, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED2,HIGH); lcd.setCursor(4, 2); lcd.write(3); delay(x); lcd.setCursor(5, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED,LOW); lcd.setCursor(6, 2); lcd.write(3); delay(x); lcd.setCursor(7, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED2,LOW); lcd.setCursor(8, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED,HIGH); digitalWrite(PIN_LED2,HIGH); lcd.setCursor(9, 2); lcd.write(3); delay(x); myServo.write(100); digitalWrite(PIN_LED,LOW); digitalWrite(PIN_LED2,LOW); lcd.setCursor(10, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED,HIGH); digitalWrite(PIN_LED2,HIGH); lcd.setCursor(11, 2); lcd.write(3); delay(x); myServo.write(110); digitalWrite(PIN_LED,LOW); digitalWrite(PIN_LED2,LOW); lcd.setCursor(12, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED,HIGH); digitalWrite(PIN_LED2,HIGH); lcd.setCursor(13, 2); lcd.write(3); delay(x); myServo.write(115); digitalWrite(PIN_LED,LOW); digitalWrite(PIN_LED2,LOW); lcd.setCursor(14, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED,HIGH); digitalWrite(PIN_LED2,HIGH); lcd.setCursor(15, 2); lcd.write(3); delay(x); myServo.write(120); digitalWrite(PIN_LED,LOW); digitalWrite(PIN_LED2,LOW); lcd.setCursor(16, 2); lcd.write(3); delay(x); digitalWrite(PIN_LED,HIGH); digitalWrite(PIN_LED2,HIGH); lcd.setCursor(17, 2); lcd.write(3); delay(x); myServo.write(130); digitalWrite(PIN_LED,LOW); digitalWrite(PIN_LED2,LOW); lcd.setCursor(18, 2); lcd.write(3); delay(x); lcd.setCursor(19, 2); lcd.write(3); delay(x); } void maobc() { thumbdownA(); delay(x); lcd.clear(); thumbsup(); delay(x); thumbdownA(); delay(x); lcd.clear(); thumbsup(); delay(x); thumbdownA(); delay(x); lcd.clear(); thumbsup(); delay(x); thumbdownA(); delay(x); lcd.clear(); thumbsup(); delay(1000); lcd.clear(); } void thumbdownA() { byte thumb1[8] = {B00001,B00010,B00011,B00100,B00011,B00100,B00011,B00100}; byte thumb2[8] = {B00011,B00000,B00000,B00000,B00000,B00000,B00000,B00000}; byte thumb3[8] = {B11110,B00001,B00000,B00000,B00000,B00000,B00000,B00000}; byte thumb4[8] = {B00000,B11110,B01000,B10001,B10010,B10010,B01100,B00000}; byte thumb5[8] = {B00000,B10000,B01110,B00010,B00010,B00010,B00010,B00010}; byte thumb6[8] = {B00110,B01000,B10000,B00000,B00000,B00000,B00000,B00000}; lcd.createChar(6, thumb1); lcd.createChar(1, thumb2); lcd.createChar(2, thumb3); lcd.createChar(3, thumb4); lcd.createChar(4, thumb5); lcd.createChar(5, thumb6); lcd.setCursor(7,0); lcd.write(6); lcd.setCursor(7,1); lcd.write(1); lcd.setCursor(8,0); lcd.write(2); lcd.setCursor(8,1); lcd.write(3); lcd.setCursor(9,0); lcd.write(4); lcd.setCursor(9,1); lcd.write(5); } void thumbsup() { byte thumb1[8] = {B00100,B00011,B00100,B00011,B00100,B00011,B00010,B00001}; byte thumb2[8] = {B00000,B00000,B00000,B00000,B00000,B00000,B00000,B00011}; byte thumb3[8] = {B00000,B00000,B00000,B00000,B00000,B00000,B00001,B11110}; byte thumb4[8] = {B00000,B01100,B10010,B10010,B10001,B01000,B11110,B00000}; byte thumb5[8] = {B00010,B00010,B00010,B00010,B00010,B01110,B10000,B00000}; byte thumb6[8] = {B00000,B00000,B00000,B00000,B00000,B10000,B01000,B00110}; lcd.createChar(6, thumb1); lcd.createChar(1, thumb2); lcd.createChar(2, thumb3); lcd.createChar(3, thumb4); lcd.createChar(4, thumb5); lcd.createChar(5, thumb6); lcd.setCursor(7,1); lcd.write(6); lcd.setCursor(7,0); lcd.write(1); lcd.setCursor(8,1); lcd.write(2); lcd.setCursor(8,0); lcd.write(3); lcd.setCursor(9,1); lcd.write(4); lcd.setCursor(9,0); lcd.write(5); } void setServo() { if ( millis() > time ) { if ( estado == EXPIRANDO ) { // Pasar a inspirandO digitalWrite(PIN_LED2,LOW); digitalWrite(PIN_LED,HIGH); myServo.write(MIN_ANGLE); time = millis() + (valInspira * 100); estado = INSPIRANDO; lcd.setCursor(8, 2); lcd.print("&quot;EXPIRANDO > &quot;"); } else if ( estado == INSPIRANDO ) { // P0asar a expirando digitalWrite(PIN_LED2,HIGH); digitalWrite(PIN_LED,LOW); myServo.write(MAX_ANGLE - valPeep); time = millis() + (valExpira * 100); estado = EXPIRANDO; lcd.setCursor(8, 2); lcd.print("&quot;INSPIRANDO < &quot;"); } } } void setup() { myServo.attach(PIN_SERVO); myServo.write(92); //digitalWrite(PIN_LED,LOW); pinMode(PIN_FREQ,INPUT_PULLUP); pinMode(PIN_PEEP,INPUT_PULLUP); pinMode(SENSOR_FLOW,INPUT); pinMode(PIN_LED,OUTPUT); pinMode(PIN_LED2,OUTPUT); pinMode(PIN_Alarm_Relay,OUTPUT); pinMode(PIN_Safety_Valve,OUTPUT); lcd.init(); lcd.backlight(); lcd.clear(); lcd.setCursor(0,0); logo(); lcd.setCursor(4,2); lcd.print("&quot;OPEN-SOURCE&quot;"); lcd.setCursor(0,3); lcd.print("&quot;Pulmonary Ventilator&quot;"); delay(4000); lcd.clear(); lcd.print("&quot;....Initializing....&quot;"); initior(); delay(500); lcd.clear(); maobc(); lcd.clear(); if(digitalRead(SENSOR_FLOW) == LOW) { thumbsup(); lcd.setCursor(0,0); lcd.print("&quot;SYSTEM&quot;"); lcd.setCursor(2,1); lcd.print("&quot;OK&quot;"); delay(5000); lcd.clear(); } else { myServo.write(139); thumbdownA(); lcd.setCursor(0,0); lcd.print("&quot;SYSTEM&quot;"); lcd.setCursor(1,1); lcd.print("&quot;FAIL&quot;"); delay(5000); lcd.clear(); Serial.begin(9600); time = millis(); frecuencia_ant=-1; valPeep_ant=-1; } delay(500); estado=EXPIRANDO; } void loop() { digitalRead(SENSOR_FLOW); aux = analogRead(PIN_FREQ); frecuencia = map(aux,0,1023, 10, 60); valInspira = ((1.0 / frecuencia )* 600.0 ) * (1.0/3.0); valExpira = ((1.0 / frecuencia ) * 600.0 ) * (2.0/3.0); aux = analogRead(PIN_PEEP); valPeep = map(aux,0,1023, 0, 10); if ( (frecuencia_ant != frecuencia) || (valPeep_ant != valPeep)) { //Pode monitorizar os valores de Frequencia e PEEP sem display usando o Monitor serie do Arduino IDE. Serial.print("&quot;Frecuencia: &quot;"); Serial.println(frecuencia); Serial.print("&quot;Inspira: &quot;"); Serial.println(valInspira); Serial.print("&quot;Expira: &quot;"); Serial.println(valExpira); Serial.print("&quot;Peep: &quot;"); Serial.println(valPeep); lcd.setCursor(1, 0); lcd.print("&quot;FREQUENCIA: &quot;"); lcd.setCursor(13, 0); lcd.print(frecuencia); lcd.setCursor(1, 1); lcd.print("&quot;PEEP: &quot;"); lcd.setCursor(13, 1); lcd.print(valPeep); // delay(500); lcd.setCursor(0, 2); lcd.print("&quot;ESTADO: &quot;"); lcd.setCursor(0, 3); lcd.print("&quot;VENTILADOR D.PASCOAL &quot;"); frecuencia_ant = frecuencia; valPeep_ant = valPeep; } if(digitalRead(SENSOR_FLOW) == HIGH) { myServo.write(139); digitalWrite(PIN_Alarm_Relay,HIGH); digitalWrite( PIN_Safety_Valve,HIGH); lcd.clear(); thumbdownA(); lcd.setCursor(0,0); lcd.print("&quot;SYSTEM&quot;"); lcd.setCursor(1,1); lcd.print("&quot;FAIL&quot;"); lcd.setCursor(1,2); lcd.print("&quot;******************&quot;"); lcd.setCursor(3,3); lcd.print("&quot;Check AR flow&quot;"); lcd.setCursor(12,1); lcd.print("&quot;ALARM&quot;"); digitalWrite(PIN_LED,HIGH); digitalWrite(PIN_LED2,HIGH); delay(500); lcd.setCursor(12,1); lcd.print("&quot; &quot;"); delay(500); lcd.setCursor(12,1); lcd.print("&quot;ALARM&quot;"); digitalWrite(PIN_LED,LOW); digitalWrite(PIN_LED2,LOW); delay(1000); lcd.clear(); } else { digitalWrite(PIN_Alarm_Relay,LOW); digitalWrite( PIN_Safety_Valve,LOW); setServo(); delay(10); } } 
INOVT_COVID19_Version_2.2.rarC/C++
Tidak ada pratinjau (hanya unduhan).

Bagian dan Enclosure Khusus

Harus dicetak pada printer 3D.
Memerlukan presisi.Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis ArduinoInstruksi langkah demi langkah lengkap untuk mengubah masker selam dan mengubahnya menjadi masker pernapasan tekananVentilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis ArduinoMemerlukan presisi.
Printer 3D resolusi tinggiinovt_covid19_version_2_0_david_pascoal_0mbFUa0ce1.rar

Skema Rangkaian

Diagram versi otonom,
tidak membutuhkan kolom udara rumah sakit.Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis ArduinoVersi 2.2 .
Dengan pengaman dan output alarm.Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis ArduinoVersi 2.2 .
Dengan pengaman dan output alarm.Ventilator Paralmon Open-Source COVID-19 – Sistem Dukungan Pernapasan DIY Berbasis Arduino

Proses manufaktur

  1. Papan Referensi Open-Source Percepat Pengembangan Ventilator Medis
  2. Membuat Spybot Arduino yang Dikontrol melalui Bluetooth
  3. FlickMote: Remote IR Kendali Gestur untuk Rumah Cerdas
  4. DIY Arduino TV B-Gone: Remote Universal untuk Semua TV
  5. Bangun Jam Master LED Kustom dengan Alarm – Terlihat dari Jarak 12 Meter
  6. Find Me: Pelacak Item Cerdas dengan Arduino dan Bluetooth
  7. Solusi Daya Teroptimasi untuk Proyek Arduino
  8. Tic Tac Toe Arduino dengan Matriks LED MAX7219 dan Kotak Kardus
  9. Membuat Robot Quadruped Arduino Cerdas: Panduan Langkah demi Langkah
  10. Volant Joystick Arduino Kustom untuk Gaming