CV. ZENTRONIC - Perusahaan Jasa Listrik dan Elektronika

Selasa, 24 Januari 2023

Arduino Motor DC kendali dengan Visual Basic 6.0

Anda dapat menggunakan kontrol komunikasi serial di VB (Visual Basic) untuk berkomunikasi dengan board Arduino. Ini memungkinkan seseorang untuk membuat antarmuka yang lebih formal ke Board.

 


 Kontrol komunikasi serial ditemukan di project/component/Microsoft Comm Control 6.0 di studio visual VB. Memilihnya menambahkannya ke kotak alat. Itu kemudian dapat diseret ke form. Simbolnya terlihat seperti telepon.



Dalam contoh ini Board Arduino mengendalikan motor listrik melalui rangkaian jembatan H. Input ke rangkaian bridge berasal dari pin 4, 5, 6, dan 7 dari board Arduino.

 

 

Dalam kode VB di bawah ini, antarmuka serial diatur saat memuat form. Dan empat tombol ditambahkan: maju, mundur, berhenti, dan keluar.


Saat memilih tombol, ia mengirimkan sinyal ke board yang pada gilirannya mengeluarkan sinyal ke pasang pin ke transistor di jembatan H. Antarmuka yang lebih praktis akan memiliki kode untuk menanyakan kepada pengguna port komunikasi mana yang akan dihubungkan.

  ' VB 6 -motor control via Arduino UNO/Mega 2560

Private Sub Form_Load()
 MSComm1.RThreshold = 3
 MSComm1.Settings = "9600,n,8,1"
 MSComm1.CommPort = 6    'use the one IDE uses
 MSComm1.PortOpen = True
 MSComm1.DTREnable = False
 Text1.Text = ""
End Sub

Private Sub FORWARD_Click()
 Text1.Text = "FORWARD DIRECTION WAS SELECTED"
 MSComm1.Output = "f"
End Sub

Private Sub REVERSE_Click()
 Text1.Text = "REVERSE DIRECTION WAS SELECTED"
 MSComm1.Output = "r"
End Sub

Private Sub STOP_Click()
 Text1.Text = "STOP WAS SELECTED"
 MSComm1.Output = "s"
End Sub

Private Sub EXIT_Click()
 MSComm1.Output = "s" 'make sure motor is stopped
 Unload Me
End Sub
 
 Di sisi board kode Arduino menunggu sinyal serial kemudian mengatur atau menghapus output sesuai kebutuhan. 

  

// this program receives commands via the visual basic program running on the pc.

//based on: zentronic.co.id (c) 2023

//outputs to the four transistors in the 
// H bridge controling the motor
int pin7 = 7;  
int pin6 = 6; 
int pin5 = 5;  
int pin4 = 4;  

void setup() 
{ 
  Serial.begin(9600); 
  pinMode(pin7, OUTPUT); 
  pinMode(pin6, OUTPUT);  
  pinMode(pin5, OUTPUT); 
  pinMode(pin4, OUTPUT); 

  //all low/off = stopped
  digitalWrite(pin4,LOW);  
  digitalWrite(pin5,LOW);  
  digitalWrite(pin6,LOW);  
  digitalWrite(pin7,LOW); 
} 

void loop() 
{ 
  if (Serial.available()) 
  { 
      int command = Serial.read();  
      //all low/off = stopped
      digitalWrite(pin4,LOW);  
      digitalWrite(pin5,LOW);  
      digitalWrite(pin6,LOW);  
      digitalWrite(pin7,LOW); 
      
    if (command=='f') //forward
    { 
      digitalWrite(pin7,HIGH);  
      digitalWrite(pin4,HIGH);  
    } 
     if(command=='r')  //reverse
    {  
      digitalWrite(pin5,HIGH);
      digitalWrite(pin6,HIGH); 
    }
    //we initialize to stop with all LOWs above
    if(command=='s') command = 's'; //dummy statement
    
  }//end if(serial)
}//end Loop()
 

Cara Memprogram Seri AT89Sxx Mikrokontroler menggunakan Arduino Uno

PENGANTAR

Mikrokontroler seri 8051 adalah mikrokontroler yang sangat mendasar dan banyak digunakan untuk tujuan pengajaran di Indonesia dan banyak negara lainnya. Tapi kadang-kadang memprogram mikrokontroler 8051 menjadi mimpi buruk bagi siswa karena sulit menemukan programmer murah yang cocok untuk mikrokontroler 8051. Salah satu solusinya adalah mikrokontroler seri Philips P89V51RD2 yang dapat diprogram melalui port serial normal tetapi biaya mikrokontroler tinggi dan ketersediaan yang sama tidak terlalu mengesankan.


Mikrokontroler seri Atmel 89SXX telah membangun antarmuka SPI untuk memprogram mikrokontroler. Ini menyediakan antarmuka yang sangat mudah untuk pengontrol program dan juga dapat diprogram melalui pemrogram pengontrol mikro seri atmega menggunakan USB-ASP dan cara lain. Dalam panduan ini kami memberikan langkah-langkah mudah untuk memprogram mikrokontroler AT89S51 & AT89S52 menggunakan Arduino.


Langkah 1: Konfigurasikan Arduino UNO sebagai Programmer

Langkah pertama adalah mengkonfigurasi arduino uno sebagai pemrogram dengan mendownload firmware pada board arduino menggunakan ardunio IDE. 


​ Gambar 1 Download Firmware ke Arduino Board


Langkah 2: Hubungkan Diagram Rangkaian Dasar untuk AT89S51/52

Selanjutnya, sambungkan diagram rangkaian dasar untuk mikrokontroler seperti yang ditunjukkan pada gambar. Anda juga dapat menghubungkan LED ke port mana pun, untuk menguji sirkuit setelah pemrograman. Gambar menunjukkan diagram koneksi untuk mikrokontroler at89s51/52.​


 Gambar 2 Diagram koneksi dasar ke Mikrokontroler

Langkah 3: Hubungkan Arduino dengan Mikrokontroler AT89S51/52.

Sekarang, langkah selanjutnya adalah menghubungkan pin arduino ke mikrokontroler sebagai berikut:

    Hubungkan Pin 2 arduino ke pin RST atau pin 9 mikrokontroler 89s51/52.

    Hubungkan Pin 3 arduino ke pin no. 8 dari mikrokontroler 89s51/52.

    Hubungkan Pin 4 arduino ke pin no. 7 dari mikrokontroler 89s51/52.

    Hubungkan Pin 5 arduino ke pin no. 6 dari mikrokontroler 89s51/52.

Gambar 3 menunjukkan diagram sirkuit untuk hal yang sama.

Gambar 3: Koneksi Papan Arduino ke mikrokontroler 89s51/52

Langkah 4: Program pengontrol 89s51/52 menggunakan Perangkat Lunak Pemrograman

Pastikan papan arduino Anda terhubung ke komputer. Hal yang sama dapat diverifikasi oleh COM PORT yang ditampilkan di ruang di atas tombol hubungkan. Langkah-langkah penulisan program ke dalam memori 89S51/52 diberikan sebagai berikut:

Klik pertama pada tombol Connect.
Jika koneksi selesai maka klik tombol Identifikasi. Jika koneksi benar maka akan ada pesan di bagian bawah “AT89S51/52 Detected”.
Sekarang, pilih file .hex yang akan diprogram ke dalam mikrokontroler dengan menekan tombol Open Hex.
Sekarang, klik tombol Upload Hex untuk mengunduh kode program ke dalam memori mikrokontroler.

(Catatan: jika koneksi benar dan perangkat lunak tidak mendeteksi mikrokontroler, maka sambil menahan tombol tekan reset, tekan tombol Identifikasi lagi. Jika saat ini pesan "AT89S51/52 Terdeteksi" ditampilkan, tekan terus tombol reset hingga pemrograman selesai. )

Gambar 4 menunjukkan gambar software yang akan digunakan untuk memprogram mikrokontroler. 

Download Software dan Program yang diperlukan disini :

1. Ardunio Firmware

2. Programmer Software

Senin, 23 Januari 2023

Dasar Programmable Logic Controller (PLC)

 

Programmable Logic Controller (PLC), juga disebut sebagai pengontrol yang dapat diprogram, adalah nama yang diberikan untuk jenis komputer yang biasa digunakan dalam aplikasi kontrol komersial dan industri.



Sementara aplikasi spesifik sangat bervariasi, semua PLC memonitor input dan nilai variabel lainnya, membuat keputusan berdasarkan program yang tersimpan, dan mengontrol output untuk mengotomatisasi proses atau mesin. 

 Basic PLC Operation

Jenis modul input atau titik yang digunakan oleh PLC bergantung pada jenis perangkat input yang digunakan. Beberapa modul atau titik input merespons input digital, juga disebut input diskrit, yang aktif atau nonaktif. Modul atau input lain merespons sinyal analog.

Perangkat pemrograman digunakan untuk memasukkan atau mengubah program PLC atau untuk memantau atau mengubah nilai yang tersimpan. Setelah dimasukkan, program dan variabel terkait disimpan di CPU. Selain elemen-elemen dasar ini, sistem PLC juga dapat menggabungkan semacam perangkat antarmuka operator untuk menyederhanakan pemantauan mesin atau proses.

Hard-Wired Control

Sebelum PLC, banyak tugas kontrol dilakukan oleh kontaktor, relai kontrol, dan perangkat elektromekanis lainnya. Ini sering disebut sebagai  Hard-Wired Control.

 Diagram sirkuit harus dirancang, komponen listrik ditentukan dan dipasang, dan daftar kabel dibuat. Listrik kemudian akan menghubungkan komponen yang diperlukan untuk melakukan tugas tertentu. Jika terjadi kesalahan, kabel harus disambungkan kembali dengan benar. Perubahan fungsi atau perluasan sistem memerlukan perubahan komponen dan pemasangan kabel yang ekstensif.

Keuntungan PLC (Advantages of PLCs)

 PLC tidak hanya mampu melakukan tugas yang sama seperti kontrol berkabel, tetapi juga mampu melakukan banyak aplikasi yang lebih kompleks. Selain itu, program PLC dan saluran komunikasi elektronik menggantikan sebagian besar kabel interkoneksi yang diperlukan oleh kontrol berkabel.

 

 

Minggu, 22 Januari 2023

Cara Mengontrol Motor DC dengan Arduino

 Dengan menghubungkan IC bridge L298 ke Arduino, Anda dapat mengontrol motor DC.

 Motor arus searah, atau DC, adalah jenis motor yang paling umum. Motor DC biasanya hanya memiliki dua kabel, satu positif dan satu negatif. Jika Anda menghubungkan kedua kabel ini langsung ke baterai, motor akan berputar. Jika Anda mengganti kabel, motor akan berputar ke arah yang berlawanan.

Untuk mengontrol arah putaran motor DC, tanpa mengubah cara kabel terhubung, Anda dapat menggunakan rangkaian yang disebut H-Bridge. Jembatan H adalah sirkuit elektronik yang dapat menggerakkan motor di kedua arah. H-bridges digunakan dalam berbagai aplikasi, salah satu yang paling umum adalah untuk mengendalikan motor pada robot. Ini disebut jembatan-H karena menggunakan empat transistor yang terhubung sedemikian rupa sehingga diagram skematik terlihat seperti "H."

Anda dapat menggunakan transistor diskrit untuk membuat rangkaian ini, tetapi untuk tutorial ini, kita akan menggunakan IC H-Bridge L298. L298 dapat mengontrol kecepatan dan arah motor DC dan motor stepper serta dapat mengontrol dua motor secara bersamaan. Peringkat saat ini adalah 2A untuk setiap motor. Namun, pada arus ini, Anda perlu menggunakan heat sink.


Hardware Required

  • 1 x L298 bridge IC
  • 1 x DC motor
  • 1 x Arduino Mega2560
  • 1 x breadboard
  • 10 x jumper wires

  •  Skema di atas menunjukkan bagaimana menghubungkan IC L298 untuk mengendalikan dua motor. Ada tiga pin input untuk setiap motor, termasuk Input1 (IN1), Input2 (IN2), dan Enable1 (EN1) untuk Motor1 dan Input3, Input4, dan Enable2 untuk Motor2.

     

    Karena kita hanya akan mengontrol satu motor dalam tutorial ini, kita akan menghubungkan Arduino ke IN1 (pin 5), IN2 (pin 7), dan Enable1 (pin 6) dari IC L298. Pin 5 dan 7 adalah digital, yaitu input ON atau OFF, sedangkan pin 6 membutuhkan sinyal modulasi lebar pulsa (PWM) untuk mengontrol kecepatan motor.

    Tabel berikut menunjukkan ke arah mana motor akan berputar berdasarkan nilai digital IN1 dan IN2.


 Pin N1 IC L298 terhubung ke pin 8 Arduino sementara IN2 terhubung ke pin 9. Kedua pin digital Arduino ini mengontrol arah motor. Pin EN A IC terhubung ke pin 2 PWM Arduino. Ini akan mengontrol kecepatan motor.

Untuk mengatur nilai pin Arduino 8 dan 9, kita akan menggunakan fungsi digitalWrite(), dan untuk mengatur nilai pin 2, kita akan menggunakan fungsi using analogWrite().

Arduino Code :

const int pwm = 2 ; //initializing pin 2 as pwm

const int in_1 = 8 ;
const int in_2 = 9 ;

//For providing logic to L298 IC to choose the direction of the DC motor 

void setup()
{
pinMode(pwm,OUTPUT) ;  	//we have to set PWM pin as output
pinMode(in_1,OUTPUT) ; 	//Logic pins are also set as output
pinMode(in_2,OUTPUT) ;
}

void loop()
{
//For Clock wise motion , in_1 = High , in_2 = Low

digitalWrite(in_1,HIGH) ;
digitalWrite(in_2,LOW) ;
analogWrite(pwm,255) ;

/*setting pwm of the motor to 255
we can change the speed of rotaion
by chaning pwm input but we are only
using arduino so we are using higest
value to driver the motor  */

//Clockwise for 3 secs
delay(3000) ; 		

//For brake
digitalWrite(in_1,HIGH) ;
digitalWrite(in_2,HIGH) ;
delay(1000) ;

//For Anti Clock-wise motion - IN_1 = LOW , IN_2 = HIGH
digitalWrite(in_1,LOW) ;
digitalWrite(in_2,HIGH) ;
delay(3000) ;

//For brake
digitalWrite(in_1,HIGH) ;
digitalWrite(in_2,HIGH) ;
delay(1000) ;
 }
Pengaturan Kontrol Motor Arduino :
 
  1. Connect 5V and ground of the IC to 5V and ground of Arduino.
  2. Connect the motor to pins 2 and 3 of the IC.
  3. Connect IN1 of the IC to pin 8 of Arduino.
  4. Connect IN2 of the IC to pin 9 of Arduino.
  5. Connect EN1 of IC to pin 2 of Arduino.
  6. Connect SENS A pin of IC to the ground.
  7. Connect the Arduino using Arduino USB cable and upload the program to the Arduino using Arduino IDE software or Arduino Web Editor.
  8. Provide power to the Arduino board using power supply, battery or USB cable. 
  9. Motor sekarang harus berjalan pertama searah jarum jam (CW) selama 3 detik dan kemudian berlawanan arah jarum jam (CCW) selama 3 detik.
 

 

Jumat, 20 Januari 2023

Cara Sederhana Program LCD 16x2 dengan Arduino

 

Dalam tutorial Arduino ini kita akan belajar bagaimana menghubungkan dan menggunakan LCD (Liquid Crystal Display) dengan Arduino. Layar LCD seperti ini sangat populer dan banyak digunakan di banyak proyek elektronik karena sangat bagus untuk menampilkan informasi sederhana, seperti data sensor, namun harganya sangat terjangkau.

Apa itu Tampilan Karakter LCD?

Tampilan karakter LCD adalah jenis tampilan unik yang hanya dapat menampilkan karakter ASCII individu dengan ukuran tetap. Dengan menggunakan karakter individu ini maka kita dapat membentuk sebuah teks.

Jika kita melihat lebih dekat pada tampilan, kita dapat melihat bahwa ada area persegi panjang kecil yang terdiri dari kisi-kisi 5x8 piksel. Setiap piksel dapat menyala satu per satu, sehingga kami dapat menghasilkan karakter dalam setiap kisi.



Jumlah area persegi panjang menentukan ukuran LCD. LCD yang paling populer adalah LCD 16x2, yang memiliki dua baris dengan 16 area persegi panjang atau karakter. Tentu saja, ada ukuran lain seperti 16×1, 16×4, 20×4 dan seterusnya, tetapi semuanya bekerja dengan prinsip yang sama. Juga, LCD ini dapat memiliki latar belakang dan warna teks yang berbeda.

LCD 16 × 2 Pinout

Ini memiliki 16 pin dan yang pertama dari kiri ke kanan adalah pin Ground. Pin kedua adalah VCC yang kita hubungkan dengan pin 5 volt pada Board Arduino. Berikutnya adalah pin Vo tempat kita dapat memasang potensiometer untuk mengontrol kontras tampilan.

Selanjutnya, RS pin atau Register  Select pin digunakan untuk memilih apakah kita akan mengirimkan perintah atau data ke LCD. Misalnya jika pin RS disetel pada keadaan rendah atau nol volt, maka kita mengirimkan perintah ke LCD seperti: atur kursor ke lokasi tertentu, bersihkan layar, matikan layar dan sebagainya. Dan ketika pin RS di set pada status High atau 5 volt kita sedang mengirimkan data atau karakter ke LCD.



Berikutnya adalah pin R/W yang memilih mode apakah kita akan membaca atau menulis ke LCD. Di sini mode tulis jelas dan digunakan untuk menulis atau mengirim perintah dan data ke LCD. Mode baca digunakan oleh LCD itu sendiri saat menjalankan program yang tidak perlu kita bahas dalam tutorial ini.

 

Berikutnya adalah pin E yang memungkinkan penulisan ke register, atau 8 pin data berikutnya dari D0 ke D7. Jadi melalui pin ini kita mengirimkan data 8 bit saat kita menulis ke register atau misalnya jika kita ingin melihat huruf besar terakhir A pada tampilan kita akan mengirimkan 0100 0001 ke register sesuai dengan tabel ASCII. Dua pin terakhir A dan K, atau anoda dan katoda adalah untuk lampu belakang LED.

Lagi pula, kita tidak perlu terlalu khawatir tentang cara kerja LCD, karena Library LCD menangani hampir semuanya. Dari situs web resmi Arduino Anda dapat menemukan dan melihat fungsi Library yang memungkinkan penggunaan LCD dengan mudah. Kita dapat menggunakan Library dalam mode 4 atau 8 bit. Dalam tutorial ini kita akan menggunakannya dalam mode 4 bit, atau kita hanya akan menggunakan 4 dari 8 pin data.

Cara Menghubungkan Arduino ke LCD – Wiring Diagram

Inilah cara kita perlu menghubungkan layar LCD 16x2 ke papan Arduino.



Arduino LCD Code

Berikut adalah kode sederhana yang dapat digunakan untuk menjelaskan prinsip kerja Library Liquid Crystal.

/*

* Tutorial Cara Sederhana Program LCD 16x2

*

* Created by Lucky M Malik

* www.zentronic.co.id

*

*/

 

#include <LiquidCrystal.h> // Termasuk Liquid Crystal Library.

LiquidCrystal lcd(1, 2, 4, 5, 6, 7); // Buat objek LCD. Parameters: (rs, enable, d4, d5, d6, d7).

 

void setup() {

 lcd.begin(16,2); // Initial interface ke layar LCD, dan spek. dimensinya (Lebar dan Tinggi).

}

 

void loop() {

 lcd.print("ZENTRONIC"); // cetak "Arduino" di LCD.

 delay(3000); // tunda 3 detik.

 lcd.setCursor(2,1); // set kursor-nya.

 lcd.print("LCD TUTORIAL");

 delay(3000);

 lcd.clear(); // Bersihkan Layar LCD.

 lcd.blink(); // Tampilkan blinking di Layar.

 delay(4000);

 lcd.setCursor(7,1);

 delay(3000);

 lcd.noBlink(); // Matikan blinking di Layar.

 lcd.cursor(); // Menampilkan kursor di Layar yang akan ditulis.

 delay(4000);

 lcd.noCursor(); // Sembunyikan kursor di Layar.

 lcd.clear(); // Bersihkan Layar LCD.

}

Deskripsi kode:

 

Hal pertama yang perlu kita lakukan adalah memasukkan Liquid Crystal Library. Kita bisa melakukannya seperti ini: Sketch > Include Library > Liquid Crystal. Kemudian kita harus membuat objek LCD. Parameter objek ini harus berupa nomor pin Input Digital Board Arduino masing-masing ke pin LCD sebagai berikut: (RS, Enable, D4, D5, D6, D7). Dalam pengaturan kita harus menginisialisasi antarmuka ke LCD dan menentukan dimensi tampilan menggunakan fungsi begin().

Dalam loop kami menulis program utama kami. Menggunakan fungsi print() kami mencetak pada LCD.

lcd.print("Arduino"); // Mencetak "Arduino" di LCD

Fungsi setCursor() digunakan untuk mengatur lokasi di mana teks selanjutnya yang ditulis ke LCD akan ditampilkan.

lcd.setCursor(2,1); // Mengatur lokasi di mana teks berikutnya yang ditulis ke LCD akan ditampilkan

Fungsi blink() digunakan untuk menampilkan kursor yang berkedip dan fungsi noBlink() untuk mematikan.

lcd.blink(); //Menampilkan kursor LCD yang berkedip

Fungsi cursor() digunakan untuk menampilkan kursor garis bawah dan fungsi noCursor() untuk mematikan. Menggunakan fungsi clear() kita dapat membersihkan layar LCD.

 

Kesimpulan

Jadi, kami telah membahas hampir semua yang perlu kami ketahui tentang menggunakan LCD dengan Arduino. Tampilan Karakter LCD ini sangat berguna untuk menampilkan informasi untuk banyak proyek elektronik. Dalam contoh di atas saya menggunakan LCD 16x2, tetapi prinsip kerja yang sama berlaku untuk ukuran lain dari tampilan karakter ini.


 

Saya harap Anda menikmati tutorial ini dan belajar sesuatu yang baru. Jangan ragu untuk mengajukan pertanyaan apa pun di bagian komentar di bawah ini.

Arduino – LM35 Temperature Sensor

  Sensor Suhu seri LM35 adalah perangkat suhu sirkuit terpadu presisi dengan tegangan keluaran yang berbanding lurus dengan suhu Celcius. ...