Agustus 04, 2017

Mendengarkan dan membaca data yang dikirim arduino uno di pc menggunakan python serial

python serial merupakan modul yang dapat kita gunakan untuk menerima dan mengirim data melalui port serial jadi bisa kita gunakan untuk berkomunikasi antara komputer yang kita miliki dengan arduino dalam hal ini yang saya gunakan adalah arduino uno.

dengan menggunakan python serial dan sensor dht11 kita bisa membuat project mengukur suhu dan kelembaban udara suatu ruangan dan hasilnya bisa kita lihat di komputer entah itu langsung disajikan pada terminal di linux ataupun kita tulis kedalam sebuah file text yang kita simpan jadi kita bisa buka kapan saja melalui text editor.

hubungkan pin + ke pin 5v , pin out ke pin a5, pin - ke pin ground kemudian buat source code di arduino sketch kurang lebih seperti ini

#include <DHT.h>
#define DHTTYPE DHT11
#define DHTPIN A5
DHT dht (DHTPIN, DHTTYPE);

void setup(){
    Serial.begin(9600);
    dht.begin();
}

void loop(){
    float t= dht.readTemperature();
    float h = dht.readHumidity();
    if(isnan(t) || isnan(h){
        Serial.println("terjadi kesalahan dalam pemasangan sensor dht");
    }else{
         Serial.print("suhu ruangan: ");
         Serial.print(t);
         Serial.print(" °C");
         Serial.print("\tkelembaban udara: ");
         Serial.print(h);
         Serial.println(" %");
    }
}


sekarang saatnya untuk kita membuat program di linux dengan menggunakan bahasa python dan dibantu oleh modul pySerial alias python serial untuk mengirim dan menerima data melalui jalur serial.

sekarang import serial dengan perintah import serial lalu buat variabel ser dan inisiasi dengan seperti berikut ini.

ser = serial.Serial('/dev/ttyACM0', 9600, timeout=5)

/dev/ttyACM0 adalah port yang terhubung ke arduino kalo diwindows biasanya com 9600 merupakan baudrate yang kita tentukan pada sketch arduino tadi timeout=5 artinya kita menset timeout dengan 5. Selanjutnya buat perulangan yang terus menerus berjalan menggunakan while untuk mendapatkan datanya.
Selanjutnya buat variable data yang akan kita gunakan untuk menampung data yang kita terima dari arduino dengan cara seperti ini.

data = ser.readline()

source code selengkapnya adalah seperti ini

import serial

ser = serial.Serial('/dev/ttyACM0', 9600 , timeout=5)
while True:
  data = ser.readline()
  if data != None and data != "":
     print data

seperti inilah yang akan kita lihat




 catatan /dev/ttyACM0 mengikuti port anda yang terhubung ke arduino jadi sebaiknya cek terlebih dahulu anda menggunakan port berapa bisa saja menggunakan port /dev/ttyACM1 atau port yang lain.

Tidak ada komentar:

mencoba menggunakan zram di raspberry pi

saya beberapa hari yang lalu mencoba mengaktifkan zram untuk membuat cadangan jika ram udah hampir penuh untuk dipindah ke zram, sejauh ini...