KELOMPOK 4 || ADAM GUMELAR || HEIDY INDRAYANI || ALI FAJAR || DEFRIANO ADITAMA

Rabu, 25 Maret 2015

INPUT JUMLAH BLINK LED & DELAY SECARA SERIAL 
PADA ARDUINO


Berikut Program nya :

const int led=13;
int bataskonter=0;
int bataskonter1=0;
String datamasuk;
String datamasuk1;
String datamasuk2;
int konter1=0;

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);
pinMode(led,OUTPUT);
Serial.println("<:masukkan jumlah nyala led:>");
}

void loop() {

if(Serial.available() > 0){

  datamasuk=Serial.readStringUntil('\n');
  bataskonter=datamasuk.toInt();
  Serial.print("Blink Led =");
  Serial.print(bataskonter);
  Serial.println("kali");
  Serial.println("<:masukkan nilai delay:>");
}
if(Serial.available() > 0){

  datamasuk2=Serial.readStringUntil('\n\n\n');
  bataskonter1=datamasuk2.toInt();
  Serial.print("delay =");
  Serial.print(bataskonter1);
  Serial.println("ms");
  for(int konter1 = bataskonter; konter1>0; konter1--){
   digitalWrite(led,HIGH);

   Serial.print(konter1);
   delay(bataskonter1);
   digitalWrite(led,LOW);
   delay(bataskonter1);
  }
  Serial.print("done! ! !");
}
}

unsigned int hexToDec(String hexString) {
  unsigned int decValue = 0;
  int nextInt;
  for (int i = 0; i < hexString.length(); i++) {
    nextInt = int(hexString.charAt(i));
    if(nextInt >=45 && nextInt<=57) nextInt=map(nextInt,45,57,0,9);
    if(nextInt >=65 && nextInt<=70) nextInt=map(nextInt,65,70,10,15);
    if(nextInt >=97 && nextInt<=102) nextInt=map(nextInt,97,102,10,15);
    nextInt = constrain(nextInt, 0, 15);
    decValue = (decValue * 16) + nextInt;
  }
  return decValue;
}

Berikut Hasil Compile :


gb1. Hasil Compile

Komunikasi Serial :

gb2. Saat di masukkan 8 kali nyala led dan delay 500ms

PARSING HEXA TO DECIMAL


                 Pada postingan kali ini kami akan membahas bagaimana cara pemecahan data serial pada arduino untuk memecah data hexa ke data desimal. 
Berikut contoh programnya :
##===================================================================##
const int ledPin = 13;
int bataskonter = 0;
int batasdelay = 0;

String datainput;

void setup()
{
    Serial.begin(9600);
    pinMode(ledPin,OUTPUT);
    Serial.print("masukkan nilai konter dan delay : ");
    Serial.println("");
    Serial.print("");
    Serial.println("");
 
 
}
void loop()
{
    if (Serial.available() > 0)
      {
      datainput = Serial.readStringUntil('\n'); //serial dibaca hingga ditekan "enter"
   
      bataskonter = hexToDec(datainput.substring (0,2));
      batasdelay = hexToDec(datainput.substring (2,6));    
      //bataskonter = datainput.toInt();
      //batasdelay  =
      Serial.print("Led Blinking: ");
      Serial.print(bataskonter);
      Serial.println(" times ");
      Serial.print("leddelay: ");
      Serial.print(batasdelay);
      Serial.println(" milisecond ");
      Serial.print("proses: ");
   
      for(int konter = 1; konter <= bataskonter; konter++)
        {
        digitalWrite(ledPin,HIGH);
        Serial.print(konter);
        delay(400);
        digitalWrite(ledPin,LOW);
        delay(batasdelay);
        }
     
        Serial.println(" selesai!!! ");
        Serial.print("");
        Serial.println("");
}
}

unsigned int hexToDec(String hexString)

{
unsigned int decValue = 0;
int nextInt;
for(int i=0;i < hexString.length();i++)
  {
    nextInt = int (hexString.charAt (i));
    if(nextInt >= 48 && nextInt <= 57) nextInt = map(nextInt, 48, 57, 0, 9);
    if(nextInt >= 65 && nextInt <= 70) nextInt = map(nextInt, 65, 70, 10, 15);
    if(nextInt >= 97 && nextInt <= 102) nextInt = map(nextInt, 97, 102, 10, 15);  
    nextInt = constrain (nextInt, 0, 15);
    decValue = (decValue * 16) + nextInt;
  }
    return decValue;
##===================================================================##

Pada saat program di atas kami compile :


gb1. Program Berhasil di Compile

##===================================================================##

Pada saat kami monitoring, kami memberikan inputan bilangan HEXA 0A00C8, yang artinya program akan mengkompile bilangan hexa di atas menjadi 10 kali blink dan memiliki delay selama 200 ms.


gb2. Saat di inputkan 0A00C8 

Selasa, 17 Maret 2015

Menampilkan Karakter dari Arduino ke LCD 16X2

Menampilkan Karakter dari Arduino ke LCD 16X2


      Liquid Crystal Display atau LCD merupakan salah satu komponen output yang wajib diketahui dan dikuasai oleh pemrogram mikrokontroler.
LCD yang paling umum digunakan adalah LCD berukuran 2 baris x 16 kolom. Selain mudah diperoleh di pasaran, ukurannya sangat pas digunakan untuk aplikasi-aplikasi yang membutuhkan display, tidak terlalu kecil dan tidak terlalu besar, alias pas!
Seberapa mudahkah mengantarmukakan LCD dengan Starduino Board? Simak ulasan singkat berikut ini.

Skema Rangkaian LCD
LCD dapat diantarmukakan dengan Mode 8-Bit dan Mode 4-Bit. Gambar di bawah adalah skema dari rangkaian LCD Mode 4-Bit.



gambar 1. Rangkaian LCD + arduino pada proteus

gambar 2. Rangkaian skematik LCD

kaki-kaki LCD nomor 1, 2, dan 3 adalah kaki VSS/GND, VCC, danVEE/VO. VEE berfungsi untuk mengatur kecerahan tampilan karakter LCD. Untuk mengaturnya, digunakan VR 10K yang dapat diputar-putar untuk mendapatkan kecerahan tampilan yang diinginkan.
Kaki LCD nomor 4 (RS) adalah kaki Register Selector yang berfungsi untuk memilih Register Kontrol atau Register Data. Register kontrol digunakan untuk mengkonfigurasi LCD. Register Data digunakan untuk menulis data karakter ke memori display LCD.
Kaki LCD nomor 5 (R/W) digKunakan untuk memilih aliran data apakah READ ataukah WRITE. Karena kita tidak memerlukan fungsi untuk membaca data dari LCD dan hanya perlu menulis data saja ke LCD, maka kaki ini dihubungkan ke GND (WRITE).
Kaki LCD nomor 6 (ENABLE) digunakan untuk mengaktifkan LCD pada proses penulisan data ke Register Kontrol dan Register Data LCD. (https://starduino.wordpress.com)


Contoh Program :

gambar 3. Contoh Program

Sebelum program di atas di download ke hardware arduino pastikan preference sebagai berikut :

gambar 4. Setting Preference

Setelah dipastikan settingan benar, klik verify dan program akan langsung berubah menjadi file .hex untuk selanjutnya bisa di download ke hardware pada proteus

gambar 5. Hasil compile .hex

Video dari kami :














Teknik Otomasi

Teknik otomasi


           Arti dari otomasi adalah automation atau bisa dibilang otomatis.  Jadi teknik ini adalah salah satu cabang dari teknik elektronika . Teknik otomasi biasanya bergerak pada bidang otomatisasi di industri. Mesin-mesin yang ada di industri dahalu digunakan secara manual maka dengan ada nya Automation , mesin-mesin tersebut sekarang suda bekerja secara otomatis dengan begitu produksi pun makin banyak, lebih efektif   dan efiensi waktu juga.
         Teknik Otomasi hadir untuk menjawab kebutuhan industri akan sumber daya manusia yang kompeten dalam 3 bidang sekaligus, yaitu elektronika, mekanik, dan teknologi jaringan. Mengapa butuh teknologi Jaringan ? karena semakin berkembangnya teknologi di dunia maka jaringan internet menjadi salah satu media untuk mengakses dan mengendalikan suatu mesin di industry secara real time. Itu juga bisa disebut dengan otomatisasi.
Kemajuan dibidang teknologi Industri terutama pada bidang Elektronika dan teknologi ICT sangat mempengaruhi kemajuan pada proses produksi di industri, sehingga muncul tuntutan bagi industri untuk bekerja cepat, optimal, jumlah produksi banyak dan ketelitian serta akurasi produk sebagai tuntutan kualitas harus dipenuhi. Untuk memenuhi tuntutan tersebut tidak mungkin dipenuhi apabila masih mengandalkan kemampuan manual dan menggantungkan produksi dari kerja sumber daya manusia yang memiliki keterbatasan ketahanan bekerja dalam waktu yang lama, kerja malam hari, ketelitian dan kesamaan karakteristik hasil produk. Oleh karena itu sistem otomasi elektronika saat ini berkembang sangat pesat baik dari sisi teknologi,konfigurasi,maupunkapasitasdankemampuannya. (Sumber: https://himatoppns.wordpress.com)
Teknik otomasi yang berada di Politeknik Perkapalan Negri  Surabaya  (PPNS) ini lebih cenderung ke otomatisasi di  bidang kemaritiman. Jadi tidak hanya otomatisasi di bidang industry proses dan manufaktur saja , di dalam kemaritiman juga harus dikembangkan.  Seperti pada visi nya PPNS  :
"Menjadi program studi bereputasi global dalam melaksanakan dan mengembangkan teknologi otomasi kemaritiman dan penunjangnya serta berperan aktif mengimplementasikannya" (sumber: www.ppns.ac.id).
Misi:
1. Melaksanakan program pendidikan vokasi dan penelitian terapan dibidang teknologi                      otomasi kemaritiman dan penunjangnya.

2. Berperan dalam kegiatan kemasyarakatan secara aktif dan produktif untuk mengembangkan      teknologi otomasi kemaritiman dan penunjangnya.

3. Membangun masyarakat akademis berkualitas yang mampu berkompetisi secara global.

4. Membentuk jejaring kerja dengan sektor industri kemaritiman serta berbagai institusi terkait      untuk merealisasikan sistem pendidikan dibidang otomasi yang komprehensif.

5. Mengintegrasikan pengembangan kepribadian dalam proses pembelajaran dan atau kegiatan     ekstra kurikuler untuk meningkatkan keimanan dan ketaqwaan kepada Tuhan Yang Maha            Esa serta kemuliaan akhlak. (sumber: www.ppns.ac.id)

Dengan terwujudnya misi tersebut, maka akan tercapai tujuan dari Program Studi Teknik Otomasi, yaitu :

Tujuan Program Studi:
1. Mengembangkan kemampuan mahasiswa dalam merancang, mengoperasikan, memelihara         dan memperbaiki sistem dan peralatan otomasi kemaritiman dan industri penunjangnya.

2. Mengembangkan kemampuan daya saing mahasiswa di dunia kerja dan berjiwa                                wirausahawan.

3. Mengembangkan kemampuan dalam melaksanakan pengabdian kepada masyarakat,khusus-      nya dibidang maritim dan industri penunjangnya untuk skala menengah ke bawah.
     (sumber: www.ppns.ac.id) 





ARDUINO

Arduino adalah platform elektronik yang open source (bisa diakses secaa gratis) dan mudah digunakan dan dipelajari baik dari hardware maupun software nya.
Arduino menggunakan processor atmega 328 yang bentuknya sangat mirip dengan atmega 8 tetapi berbeda spesifikasinya.  Nah mengapa arduino pakai atmega 328 ? karena atmega 328 memiliki flash memory dan eeprom yang lebih besar dari pada atmega 8. Dan arduino itu koneksi datanya memakai serial bukan downloader seperti mikrokontroler kayak biasanya .  Nah salah satu kelebihan atmega 328 ini memiliki kapasitas memory 32kb dengan 0.5 kb digunakan untuk bootloader. Bootloader gunanya agar bisa terintegrasi sama software arduino.ide . Crystal pada arduino 16 mHz yang artinya melakukan 16.000.000 instruksi per detik dalam menjalankan  suatu data . 
Jika kamu ingin membuat arduino sendiri atau membuat minsys menggunakan atmega 8 , maka kamu harus burn the bootloader agar bisa diprogram melalui software ardunio.ide yang disediakan oleh arduino.  Kamu bisa burn the bootloader lewat sowtware arduino.ide.

Ada banyak macam pada arduino seperti arduino nano dan arduino promini. Bedanya apa ? meskipun bentuknya sama-sama kecil tetapi masi lebih bagus arduino nano . Kenapa ? karena arduino nano itu sama seperti arduino uno mengisi datanya menggunakan serial .


Arduino Nano






Nah kalau arduino promini ini nggak pake serial karena memang tidak disediakan port untuk serial tetapi memakai FDTI .  Ada 6 pin header yang disediakan arduino pro mini untuk FDTI  buat mendownload nya.  Dan memang lebih murah harganya yang arduino pro mini ketimbang sama arduino nano.





                             
                          
                                                             


Arduino memang sangat mempermudah penggunanya seperti  menyediakan library . contohya sensor ping . Kita cukup memanggil sensor ping dengan source kode “pingPin” pada arduino tanpa harus mengetahui listing program nya dari sensor tersebut .  Karena di dalam “pingPin” itu berisi program yang menyesuaikan dengan karateristik sensor pingg, dan program itu dibuat menggunakan win AVR . Di web arduino terdapat beberapa contoh program seperti untuk membuat program dengan menggunakan sensor pingg. Jadi arduino ini sangat bermanfaat untuk para newbe dalam proses pembelajaran elektronika.
Adalagi prodak arduino yang lagi-lagi mempermudah penggunanya. Namanya arduino shield sebenarnya bisa sih arduino shield ini dipake sama minsys biasa tapi problem nya adalah belom tentu sama port-port nya . Maka dari itu arduino shield memang cocok nya sama arduino karena didesain untuk itu.