Mengatur Objek Melalui Arduino


Mengatur Objek Melalui Arduino
Teknologi.

Assalamu’alaikum.
Bagaimana keadaan teman-teman semua muda-mudahan selalu dalam keadaan sehat dan selalu diberi keselamatan oleh yang mahakuasa, bagi teman-teman yang kurang sehat semoga cepat sembuh supaya bisa mengerjakan pekerjaan sehari-hari seperti sedia kala amin.

Pada kali ini kita akan membahs cara mengatur objek dengan arduino yang sebelumnya kita telah mempelajari hubungan antara aplikasi processing dengan arduino. Untuk dapat mengatur objek pada processing melalui arduino, tipe data yang diterima procesing haruslah sesuai, misalnya bertipe data int atau float. Kita dapat mengatur objek jika tipedata yang diterima berupa string.

Sintaks print atau println pada arduino akan mengirim data ke processing dalam format ASCII. format ini tidak cocok jika langsung diambil tanpa melakukan konvirmasi terlebih dahulu.

Selain print atau println, kita dapat menggunakan funsi write. fungsi write akan mengirim data dalam format byte. byte yang di terima selanjutnya akan di ubah menjadi format int. coba perhatikan contoh di bawah ini : tambahkan potensiometer di pin A0 di arduino lalu copy kode di bawah ini.

Kode arduino mengirim data sensor ke processing

const int analogInPin = A0;
int nilaiSensor = 0;       
int nilaiOutput = 0;       

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

void loop() {
  nilaiSensor = analogRead(analogInPin);           
  nilaiOutput = map(nilaiSensor, 0, 1023, 0, 255); 
  Serial.write(nilaiOutput);  
  delay(30);                    
}

Pada aplikasi processing, ketiklah skrip berikut dan amatilah hasilnya pada jendela konsol (ingat, sesuaikan dengan nomer port COM) :

Kode processing menerima data sensor dari arduino

import processing.serial.*;
Serial portKu;

void setup(){ 
  portKu = new Serial(this, "COM3", 9600);
}

void draw(){
while (portKu.available() > 0)  {
    int inByte = portKu.read();
    println(inByte);
  }
}

Selain mengirim secara byte, kita juga dapat mengirim menggunakan format ASCII menggunakan fungsi println. Mari kita ubah program arduino dan processing kita dan tampilkan grafik hasil pembacaan sensor di pin A0.

kode arduino mengirim data untuk grafik

const int analogInPin = A0;
int sensorValue = 0;       

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

void loop() {
  sensorValue = analogRead(analogInPin);           
  Serial.println(sensorValue);  
  delay(30);                    
}

Pada processing ketiklah kode di bawah ini

import processing.serial.*;

Serial portSerial;       
int xPos = 1;        
float inByte = 0;

void setup () {
  size(400, 300);
  portSerial = new Serial(this, "COM33", 9600);
  portSerial.bufferUntil('\n');
  background(0);
}
void draw () {
  stroke(127, 34, 255);
  line(xPos, height, xPos, height - inByte);
  if (xPos >= width) {
    xPos = 0;
    background(0);
  } else {   
    xPos++;
  }
  delay(10);
}


void serialEvent (Serial myPort) {
  String inString = myPort.readStringUntil('\n');
  if (inString != null) {   
    inString = trim(inString);
    inByte = float(inString);
    println(inByte);
    inByte = map(inByte, 0, 1023, 0, height);
  }
}

Processing menampilkan grafik


Sekarang, mari kita buat objek elips dengan diameter yang dapat diatur sesuai denga nilai putaran potensiometer yang dibaca oleh arduino. letakkanlah di pin A0 dan copykan kode berikut

Kode arduino mengirim data untuk mengatur elips

const int analogInPin = A0;
int nilaiSensor = 0;       
int nilaiOutput = 0;       

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

void loop() {
  nilaiSensor = analogRead(analogInPin);           
  nilaiOutput = map(nilaiSensor, 0, 1023, 0, 255); 
  Serial.write(nilaiOutput);  
  delay(30);                    
}

Pada processing ketiklah kode berikut

kode processing menerim data untuk mengatur elips

import processing.serial.*;
Serial portKu;
int inByte;

void setup(){ 
  size(400, 400);
  portKu = new Serial(this, "COM33", 9600);
}

void draw(){
  background(204);
  while (portKu.available() > 0)  {
    inByte = portKu.read();   
    println(inByte);                 
  }

  //atur elips sesuai nilai sensor
  ellipse(200, 200, inByte, inByte); 
  delay(100);
}

Processing mengatur diameter ellips

Kita juga dapat mengatur warna yang kita inginkan. modifikasi program processing kita sebelumnya.

Kode processing mengatur warna dan diameter elips

import processing.serial.*;
Serial portKu;
int inByte;

void setup(){ 
  size(400, 400);
  portKu = new Serial(this, "COM33", 9600);
}

void draw(){
  background(204);
  while (portKu.available() > 0)  {
    inByte = portKu.read();   
    println(inByte);                 
  }

  //atur warna ellips
  Fill(inByte, 100, 100);
  //atur elips sesuai nilai sensor
  ellipse(200, 200, inByte, inByte); 
  delay(100);
}

Nah itulah cara mengatur opjek dengan arduino semoga artikel kali ini bermanfaat untuk kita semua seperti biasa saya akhiri dengan salam teknologi dan wassalam.

**Terimasih telah berkunjung semoga dapat menambah wawasan kita bersama, untuk dukungan teman-teman bisa berdonasi pada link berikut (Klik Dini) Sebanyak apapun donasi dari teman-teman itu sangat berarti bagi kami dan juga kalau ada dari teman-teman yang ingin mengajukan pertanyaan atau request tema seputar teknologi bisa langsung saja tulis pada kolom pesan di link donasi yang sudah ter sedia.**


EmoticonEmoticon