Tutorial Membuat Alat Pulse Oxymetry (SPo2) + Raspberry pi

  

Tutorial Membuat Alat Pulse Oxymetry SPo2 Pada 

Raspberry pi 


Sebelumnya sebaiknya lihat TUTORIAL FOR Raspberry Pi 3 + LCD 2x16 I2C
<<<<Sinau Programming>>>>



بِسْــــــــــــــــــمِ اللهِ الرَّحْمَنِ الرَّحِيْمِ


Raspberry Pi 16×2 LCD I2C Interfacing dan Pemrograman Python– Kami telah menggunakan LCD 16×2 untuk waktu yang cukup lama di berbagai proyek terkait Arduino dan IoT. Perlu diketahui bahwa LCD memiliki dua jenis LCD 16x2, yang normal menggunakan lebih banyak kabel dan yang lainnya didasarkan pada antarmuka I2C yang hanya membutuhkan dua kabel. 

LCD (Liquid Crystal Display) 16×2 adalah salah satu media penampil yang sangat populer digunakan sebagai interface antara mikrokontroler dengan user nya. Dengan penampil LCD 16×2 ini user dapat melihat/memantau keadaan sensor ataupun keadaan jalanya program. Penampil LCD 16×2 ini bisa di hubungkan dengan Raspberry pi.

            Inter Integrated Circuit atau sering disebut I2C adalah standar komunikasi serial dua arah menggunakan dua saluran yang didisain khusus untuk mengirim maupun menerima data. Sistem I2C terdiri dari saluran SCL (Serial Clock) dan SDA (Serial Data) yang membawa informasi data antara I2C dengan pengontrolnya. Jika tidak memakai I2C Juga bisa untuk menampilkan text pada LCD akan tetapi harus merangkai semua pin yang berada pada LCD ke Raspberry. Jadi disarankan lebih baik menggunakan I2C saja.

Raspberry Pi 

Fitur kuat dari Raspberry Pi adalah deretan pin GPIO (input/output tujuan umum) di sepanjang tepi atas papan. Header GPIO 40-pin ditemukan di semua papan Raspberry Pi saat ini (tidak terisi pada Pi Zero dan Pi Zero W). Sebelum Pi 1 Model B+ (2014), papan terdiri dari header 26-pin yang lebih pendek. konfiurasi pinOUT bisa di cek pada situs resmi raspberry > 

https://www.raspberrypi.org/documentation/usage/gpio/


Catatan: penomoran pin GPIO tidak berurutan; Pin GPIO 0 dan 1 ada di papan (pin fisik 27 dan 28) tetapi dicadangkan untuk penggunaan lanjutan (lihat di bawah).

Tegangan
Dua pin 5V dan dua pin 3V3 ada di papan, serta sejumlah pin ground (0V), yang tidak dapat dikonfigurasi. Pin yang tersisa semuanya adalah pin 3V3 tujuan umum, artinya output diatur ke 3V3 dan input toleran terhadap 3V3.

Keluaran
Pin GPIO yang ditunjuk sebagai pin keluaran dapat diatur ke tinggi (3V3) atau rendah (0V).

Masukan
Pin GPIO yang ditunjuk sebagai pin input dapat dibaca sebagai high (3V3) atau low (0V). Ini menjadi lebih mudah dengan penggunaan resistor pull-up atau pull-down internal. Pin GPIO2 dan GPIO3 memiliki resistor pull-up tetap, tetapi untuk pin lain ini dapat dikonfigurasi dalam perangkat lunak.

Perancangan Raspberry + LCD 2x16 I2c




Sebelum Anda mulai menggunakan layar LCD I2C 16×2 dengan Python, Anda perlu memastikan bahwa protokol I2C diaktifkan pada Raspberry Pi Anda. Anda dapat menggunakan utilitas sudo raspi-config untuk mengatasinya. Program ini dinavigasi menggunakan panah keyboard, tab dan tombol Enter. Cari I2C di opsi antarmuka dan aktifkan. Mengaktifkan I2C membutuhkan reboot.

Masuk pada konfigurasi raspberry 





Setelah sistem kembali, Anda dapat memeriksa apakah bus I2C aktif, protokol I2C mendukung banyak perangkat yang terhubung ke bus yang sama, dan protokol ini mengidentifikasi setiap perangkat berdasarkan alamat perangkat kerasnya. Perintah i2cdetect dapat digunakan untuk melihat apa yang terhubung dan apa alamatnya.


Cara termudah untuk memprogram layar LCD 16×2 I2C ini dengan Python adalah dengan menggunakan perpustakaan khusus. Ada banyak pilihan. Saya suka hal-hal sederhana, jadi library yang kami rekomendasikan adalah rpi_lcd.

Instal Library menggunakan perintah ini

sudo pip3 install rpi_lcd

Note : pip3 untuk python 3.x jika menggunakan python 2.x gbisa gunakan pip

Instal Library Max30100 menggunakan perintah ini

sudo python3.7 max30100.py
Note : Sesuaikan python yag telah diinstal

Spo2 + Layar Lcd 16x2 i2c dengan kode raspberry pi:

Saatnya menulis program uji!

Dengan Library rpi_lcd pemrograman tampilan sangat mudah hanya beberapa baris kode.
import time
import max30100
from signal import signal, SIGTERM, SIGHUP, pause
from rpi_lcd import LCD
lcd = LCD()
mx30 = max30100.Max30100()
mx30.enable_spo2()
while 1:
    mx30.read_sensor()
    mx30.ir, mx30.red
    hb = int (mx30.ir/100)
    spo2 = int(max30.red/100)
    spo2 =spo2-3;
    if mx30.ir != mx30.buffer_ir :
        print("pulse:",hb);
    
    if mx30.red != mx30.buffer_red :
        print("SPO@:",spo2);
        if spo2<=15:
            spo2=8;
        if spo2>=101:
            spo2=99;
        
        lcd.text("Pulse Oxymetry,", 1)
        lcd.text("SPO2! :"+str(spo2), 2)
    time.sleep(1)#delay spo2

hasilnya kira-kira seperti dibawah ini



Tutorial lengkap Pada Video dibawah ini
<<<<0>>>>









0 Comments