Kamis, 21 April 2016

Expand port serial

EXPAND PORT SERIAL
VIA ARDUINO UNO
Salam elektro,disuatu waktu kalian pasti bingung ketika kalian membutuhkan port serial lebih dari satu,oke bisa kalian akali dengan menggunakan arduino mega,tapi bagaimana kalau kalian hanya mempunyai arduino uno atau nano ? ya kan ?,soalnya pada board arduino nano/uno/promini hanyak tersedia 1 serial,nah dengan baik hati aruselektronika akan memberi solusinya,silahkan kalian simak penjelasannya dibawah ini,dan jangan lupa berterimakasih pada pihak arduino yang sudah memberi kemudahan untuk menambah port serial,khususnya yang sudah membuat library softwareserial.

TOLONG BACA DENGAN DETAIL !

Siapkan alat dan bahan :
1. Sambungkan board arduino & laptop
                                     
CATATAN !
a. Software serial tidak bisa digunakan pada pin interupts 

2. Copy paste sketch/program di bawah ini  ke dalam software arduino 
/*
 * Expand Port Serial
 * By Fickry Muhammad 
 */

#include 
// software serial #1: TX = digital pin 10, RX = digital pin 11
SoftwareSerial portOne(10, 11);

// software serial #2: TX = digital pin 8, RX = digital pin 9
// on the Mega, use other pins instead, since 8 and 9 don't work on the Mega
SoftwareSerial portTwo(8, 9);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }

  // Start each software serial port
  portOne.begin(9600);
  portTwo.begin(9600);
}

void loop() {
  // By default, the last intialized port is listening.
  // when you want to listen on a port, explicitly select it:
  portOne.listen();
  Serial.println("Data from port one:");
  // while there is data coming in, read it
  // and send to the hardware serial port:
  while (portOne.available() > 0) {
    char inByte = portOne.read();
    Serial.write(inByte);
  }

  // blank line to separate data from the two ports:
  Serial.println();

  // Now listen on the second port
  portTwo.listen();
  // while there is data coming in, read it
  // and send to the hardware serial port:
  Serial.println("Data from port two:");
  while (portTwo.available() > 0) {
    char inByte = portTwo.read();
    Serial.write(inByte);
  }

  // blank line to separate data from the two ports:
  Serial.println();
}
3. Verify program arduino,apabila tidak terjadi error lanjut dengan proses upload

4, Upload program,apabila succes akan muncul tulisan done uploading,apabila ada yang belum tahu bagaimana cara upload code/sketch ke board arduino bisa baca disini

5. Succes,sekarang kalian tinggal coba port serial baru untuk komunikasi contohnya dengan bluetooth atau yang lainnya 

PENJELASAN PROGRAM  

#include <SoftwareSerial.h>
Agar software serial berfungsi,maka kalian harus memasukan library ini 

SoftwareSerial portOne(10, 11);
Bagian ini berfungsi untuk mendefinisikan port expand mana yang akan kalian gunakan,pin 10 untuk pin TX dan pin 11 untuk pin RX,pin 10 atau 11 bisa kalian rubah sesuai keinginan asalkan pin tersebut ada di board arduino kalian dan pin tersebut bukan merupakan pin interupts

portOne.begin(9600);
Kecepatan akses data,biasanya defaultnya 9600,mungkin untuk aplikasi lain bisa kalian rubah sesuai kebutuhan

portOne.listen();
  Serial.println("Data from port one:");
  // while there is data coming in, read it
  // and send to the hardware serial port:
  while (portOne.available() > 0) {
    char inByte = portOne.read();
    Serial.write(inByte);
  }
Bagian ini yaitu menunggu respon dari software serial yang baru,jika benar tehubung maka,serial akan print data 

Share:

1 komentar:

Copyright © FILAB | Powered by FILAB
Design by Fickry Muhammad | Technology by Filab.id