Kumpulan Ilmu Teknologi

Showing posts with label arduino. Show all posts
Showing posts with label arduino. Show all posts

40 Led RGB Menggunakan ULN 2803

Bagi pecinta Arduino tentu tidak asing dengan komponen aktif yang satu ini. Ya seperti tertera dalam gambar di bawah IC jenis ULN 2803 banyak digunakan sebagai alat uji praktek pemograman mikrokontroller menggunakan platform Arduino.

Bagi yang belum tahu tentang apa itu Arduino bisa baca pengetahuan paling dasar tentang Arduino

Share:

Tutorial Jam Digital Arduino Menggunakan Real Time Clock DS1307

Mengingat permintaan tentang tutorial bikin jam digital menggunakan perangkat Arduino, caratekno akan coba berbagi pengalaman dan sedikit pengatahuan tentang dunia ardunio. Yuk mulai.

RTC (real time clock) IC DS1307 sangat terkenal sebagai modul interface untuk jam digital, bentuknya sangat mungil kecil dan sangat bermanfaat sekali bagi siapa saja yang ingin membuat jam waktu, karena memang sangat praktis.

Komponen Realtime clock adalah komponen IC penghitung yang dapat difungsikan sebagai sumber data waktu baik berupa data jam, hari, bulan maupun tahun.

Overview

Modul DS1307 berupa IC masi perlu dilengkapi dengan komponen pendukung lainnya seperti crystal sebagai sumber clock dan Battery External 3,6 Volt sebagai sumber energy cadangan agar fungsi penghitung tidak berhenti.

Anda dapat mengkombinasikan display Seven segment, display jenis LCD ataupun jenis matrix led untuk menampilkan data dari IC RTC. Dengan bantuan Arduino microcontroller semua opsi tersebut akan menjadi lebih mudah.

Why do we need a Real Time Clock (RTC)?  

Sudah tidak asing lagi buat Arduino Lover mikrokontroller yang paling banyak menggunakan sumber data waktu semisal RTC DS1307 ini. Hasil data waktu, tanggal, bulan dan tahun sangat akurat dan sudah built-in di dalamnya tanpa perlu seting lagi saat powe on awal kali.

Proyek-proyek sederhana sering kali menggunakan timer internal supaya lebih praktis, bisa juga sebagai alternatif untuk proyek data logger, jam, alarm, dan sebagainya.

 

Konsumsi battery li-ion kancing (CR2032) yang disematkan pada RTC DS1307 sangat hemat daya dapat digunakan selama bertahun-tahun.

Arduino Real Time Clock DS1307 Tutorial Image 2
Arduino Real Time Clock DS1307 Tutorial Image 1
Arduino Real Time Clock DS1307 Tutorial Image 2
Arduino Real Time Clock DS1307 Tutorial Image 1

DS1307 Real Time Clock

Modul RTC DS1307 harga yang murah rendah konsumsi daya dan mantap sebagai IC pewaktu dan penanggalan secara lengkap dan akurat (detik, menit, jam, hari, tanggal, bulan, dan tahun.

Sekilas beberapa fitur DS1307 yaitu:

  • Fungsi pewaktu yang akurat
  • Validasi penanggalan hingga 2100
  • Rendah konsumsi daya hanya 500nA saat beroperasi dengan battery kancing li-ion CR1032
  • Otomatis switching power supply saat tegangan utama bermasalah.
  • 24 jam atau 12 jam dengan Indikator AM/PM
  • Bentuk mungil seukuran battery komponen yang sedikiti sehingga cukup praktis

 

Arduino Real Time Clock DS1307 Tutorial Image 3

DS1307 RTC Pin Diagram

Berikut gambar dibawah ini menunjukkan gambar pin IC RTC DS1307 Untuk mengurangi konsumsi daya, jumlah pin pada IC harus dikurangi. Oleh karena itu, DS1307 RTC menggunakan Komunikasi I2C.

Arduino Real Time Clock DS1307 Tutorial Image 4

Pin description of DS1307 RTC

  • X1 and X2: Pin ini sebagai konektor IC dengan crystal frekuensi 32.768 dengan oscilator internal. Jika menggunakan oscilator luaran pin ini dibiarkan terbuka.
  • VBAT: Pin sumber tegangan battery dihubungkan dengan 3V Lithium cell sebagai backup dayanya.
  • GND: Ground Pin.
  • SDA: Serial Data Pin. Ini ada pin khusus Data Input/Output dari interface I2C. Penarikan tegangan 5V biasanya dibutuhkan Resistor 10KΩ .
  • SCL: Serial Clock Input Pin. Pin input clock dari I2C Interface. Ini juga sebagai Penarikan tegangan 5V juga dibutuhkan Resistor 10KΩ.
  • SQW/OUT: Pin output gelombang persegi (Square wave). Bila tidak dibutuhkan abaikan saja.
  • VCC: Pin Sumber tegangan utama.

Arduino Real Time Clock DS1307 Interface

Sekarang kita telah melihat sedikit tentang Real Time Clock IC DS1307, kita akan melanjutkan dengan antarmuka Arduino dan Real Time Clock. Seperti disebutkan sebelumnya, Modul DS1307 RTC menggunakan Komunikasi I2C.

Dalam antarmuka Arduino Real Time Clock I2C, Arduino Microcontroller selalu bertindak sebagai Master dan DS1307 bertindak sebagai Slave. Master dalam Komunikasi I2C yaitu Arduino dalam hal ini, bertanggung jawab atas sinyal clock, akses bus, sinyal start dan stop.

Diagram Rangkaian

Gambar berikut menunjukkan diagram rangkaian Antarmuka Arduino Real Time Clock DS1307. Sirkuit ini hanya menjelaskan koneksi dasar sehubungan dengan Modul DS1307 (papan yang berisi IC DS1307 bersama dengan kristal, Baterai dan resistor pullup).

Arduino Real Time Clock DS1307 Tutorial Circuit 3

Untuk memahami lebih baik tentang Modul RTC DS1307, gambar berikut akan membantu Anda karena berisi rangkaian Modul Jam Waktu Nyata DS1307 yang khas.

Arduino Real Time Clock DS1307 Tutorial Circuit 2

Components Required

  • Arduino UNO
  • DS1307 RTC Module
  • 16×2 LCD Display
  • Breadboard
  • Connecting wires
  • Power supply

Circuit Design

Interface RTC Arduino dirancang dengan sistem straight forward. Koneksi SDA dan SCL pin DS1307 RTC ke pin SDA dan SCL Arduino tanpa ada komponen apapun lainnya A4 dan A5.

16×2 LCD dihubungkan ke perangkat Arduino sebagai penampil data informasi waktu dan penanggalan secara lengkap.

Prinsip Kerja Interface Arduino Real Time Clock DS1307

Project sederhana ini hanya mengimplementasikan Real Time Clock DS3017 dan Arduino UNO menggunakan bahasa program yang tidak rumit dan njlimet.

RTClib adalah library spesial biasa digunakan sebagai pemograman yang dapat Anda unduh linknya disini. Maka pastikan anda telah mendownloadnya untuk akses database library Arduino

Fitur RTClib

Untuk mengunggah data dan waktu ke dalam IC DS1307 RTC, kami telah menggunakan fitur yang tersedia di pustaka RTClib, di mana Arduino akan mengunggah tanggal dan waktu dari komputer saat mengunggah kode.

Code

// Date and time functions using a DS1307 RTC connected via I2C and Wire lib
#include <Wire.h>
#include <LiquidCrystal.h>
#include “RTClib.h“
RTC_DS1307 rtc;
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (rs, e, d4, d5, d6, d7)
char daysOfTheWeek[7][12] = {“Sun“, “Mon“, “Tue“, “Wed“, “Thu“, “Fri“, “Sat“};
void setup ()
{
Serial.begin(9600);
lcd.begin(16, 2);
if (! rtc.begin())
{
lcd.print(“Couldn’t find RTC“);
while (1);
}
if (! rtc.isrunning())
{
lcd.print(“RTC is NOT running!“);
}
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));//auto update from computer time
//rtc.adjust(DateTime(2014, 1, 21, 3, 0, 0));// to set the time manualy
}
void loop ()
{
DateTime now = rtc.now();
lcd.setCursor(0, 1);
lcd.print(now.hour());
lcd.print(‘:‘);
lcd.print(now.minute());
lcd.print(‘:‘);
lcd.print(now.second());
lcd.print(“ “);
lcd.setCursor(0, 0);
lcd.print(daysOfTheWeek[now.dayOfTheWeek()]);
lcd.print(“ ,“);
lcd.print(now.day());
lcd.print(‘/‘);
lcd.print(now.month());
lcd.print(‘/‘);
lcd.print(now.year());
}

Applications

  • Dengan bantuan antarmuka Arduino Real Time Clock, kami dapat mengimplementasikan beberapa proyek yang terkait dengan pencatatan data, alarm, jam, dll.
  • Karena RTC Module DS1307 didukung dengan baterai, ia akan terus mempertahankan waktu bahkan ketika listrik mati.
Share:

Belajar Pemograman Arduino untuk Pemula

Caratekno – Arduino Uno adalah papan sirkuit berbasis mikrokontroler ATmega328. IC (integrated circuit) ini memiliki 14 input/output digital (6 output untuk PWM), 6 analog input, resonator kristal keramik 16 MHz, Koneksi USB, soket adaptor, pin header ICSP, dan tombol reset. Hal inilah yang dibutuhkan untuk mensupport mikrokontrol secara mudah terhubung dengan kabel power USB atau kabel power supply adaptor AC ke DC atau juga battery.

Selengkapnya Baca Pengertian tentang Arduino Uno dan Spesifikasi Lengkapnya

Apa itu Arduino?

Arduino sebeuah papan circuit yang dapat diprogram secara universal sesuai kemauan sang programmer. Arduino paling banyak digunakan di dunia sebagai media edukasi dan proyek kecil atau besar.

Perusahaan Arduino menjualnya hanya dalam bentuk papan rangkaian siap pakai adapun sejatinya Arduino menyatakan bahwa platform prototype elektronik berbasi open-source yang sangat fleksibel dan mudah digunakan.

Hardware dan software siapapun boleh memakainya siapapun desainer, para hobbiest, dan semua yang tertarik dengan dunia automasi teknik robotika.

 

Proyek Lampu LED “Blink”

Proyek untuk pemula disebut “blink”. Objek proyek kali ini membuat lampu LED jadi flip-flop lampu kedap kedip/ mati nyala secara bergantian.

Caranya bagaimana agar bisa “blink”?

Yang dibutuhkan hanya seperangkat Arduino sedikit komponen dan script program untuk lampu LED nanti script ini diinstall menggunakan software Arduino di PC.

Langkahnya:

  • Koneksikan PCB Arduino ke komputer dan bukan software Arduino.
  • Buka tab “Tools” dan pilih “serial Port” yang sesuai dan tersedia pada komputer USB.
  • Ketikkan atau copy-paste script dibawah ini ke dalam software.

 

void setup()
{
pinMode(13, OUTPUT);

}

void loop ()
{
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);

}

  • Klik “Simpan/Save” dan ambil script proyek “blink”
  • Klik “Verify”. Jika tidak ada kendala error script bersih dari pemberitahuan kesalahan bila ada kesalahan akan dituliskan sebagai error.
  • Jika sudah berhasil diverifikasi, pilih “Upload”. Maka lampu di Arduino akan mulai menyala “blinking” setiap detik.

Pengertian Artik Kode-kode

  • “void setup()” biasa dikenal dengan perintah pembuka yang scriptnya diisikan diantara simbol ( {} )
  • “pinMode(13, OUTPUT);” Signal output pada board Arduino di kaki pin 13.
  • Pin 13 sebagai kaki konektor bisa untuk diletakknya lampu LED.
  • “void loop ()” Perintah Arduino yang terletak di dalam simbol utama sebagai perinta berulang
  • “digitalWrite(13, HIGH);” Pin 13 signal On.
  • “delay(1000);” Kode panggil Arduino untuk menunggu/delay satu detik.
  • “digitalWrite(13, LOW);” Perintah Arduino untuk posisi off pin 13.
  • “delay(1000);” Perintah Arduino untuk menunggu beberapa detik.

Semoga bermanfaat.

Share:

Jam Real Time Berbasis Arduino PRO Mini dan RTC DS1307

Jam berbasis Real Arduino ini adalah jam digital untuk menampilkan waktu nyata menggunakan RTC IC DS1307 yang bekerja pada protokol I2C.

RTC (real time clock) tetap akan berjalan meski asupan tegangan mati.

credit img by circuitdigest.com

Rangkaian sederhana jam ini menggunakan LCD 16×2 untuk menampilkan format waktu (tahun, bulan, tanggaljam, menit, dan detik) juga dilengkapi dengan modul alarm.

Opsi Alarm juga ditambahkan dan kita dapat mengatur waktu alarm. Setelah waktu alarm disimpan di EEPROM internal Arduino, itu tetap disimpan bahkan setelah ulang atau kegagalan listrik. Jam biasanya digunakan di komputer, rumah, kantor, dan perangkat elektronik kami agar selalu diperbarui secara real time.

Protokol I2C adalah metode untuk menghubungkan dua atau lebih perangkat menggunakan dua kabel ke sistem tunggal, dan protokol ini juga disebut sebagai dua protokol kawat . Ini dapat digunakan untuk mengkomunikasikan 127 perangkat ke satu perangkat atau prosesor. Sebagian besar perangkat I2C menjalankan frekuensi on100Khz.

Diagram Sirkuit dan Deskripsi

Dalam rangkaian jam digital berbasis Arduino ini, kami telah menggunakan tiga komponen utama yaitu IC DS1307, Arduino Pro Mini Board, dan modul LCD 16×2.

Di sini arduino digunakan untuk membaca waktu dari ds1307 dan menampilkannya pada LCD 16×2. DS1307 mengirim waktu / tanggal menggunakan 2 baris ke arduino. Sebuah buzzer juga digunakan untuk indikasi alarm, yang berbunyi ketika alarm diaktifkan. Diagram blok ditunjukkan di bawah ini untuk memahami kerja Jam Waktu ini.

rangkaian blogk arduino

Seperti yang Anda lihat dalam diagram rangkaian, DS1307 chip pin SDA dan SCL terhubung ke pin arduino SDA dan SCL dengan menarik resistor yang memegang nilai standar TINGGI pada data dan garis jam.

Osilator kristal 32.768KHz terhubung dengan DS1307chip untuk menghasilkan penundaan 1 detik yang tepat, dan baterai 3 volt juga terhubung ke pin 3 rd (BAT) dari DS1307 yang menjaga waktu berjalan setelah kegagalan listrik.

16×2 LCD terhubung dengan Arduino dalam 4-bit mode. Kontrol pin RS, RW dan En secara langsung terhubung ke arduino pin 2, GND dan 3. Dan pin data D0-D7 terhubung ke 4, 5, 6, 7 dari Arduino. Sebuah buzzer terhubung dengan pin arduino nomor 13 melalui transistor NPN BC547 yang memiliki resistor 1k pada dasarnya.

Tiga tombol yaitu set, INC dan Berikutnya digunakan untuk mengatur alarm ke pin 12, 11 dan 10 dari Arduino dalam mode rendah aktif. Ketika kita menekan set, mode alarm set akan aktif dan sekarang kita perlu mengatur alarm dengan menggunakan tombol INC dan tombol Next digunakan untuk memindahkan ke digit.

Pengaturan breadboard lengkap jam real time ini dengan alarm ditunjukkan di bawah gambar. Anda juga dapat memeriksa tutorial rinci tentang jam alarm digital dengan mikrokontroler AVR.

Deskripsi Program

Untuk memprogram jam waktu secara real, kami telah menggunakan beberapa referensi untuk mengekstraksi waktu / tanggal dari DS1307 dan untuk ditampilkan pada LCD, yang diberikan di bawah ini:

Dan inisialisasi RTC, LCD dan output input dilakukan di loop setup.

Sisa dari hal-hal seperti waktu membaca, pengaturan alarm dilakukan di bagian loop void.

 

Kode

/ * —– Program C untuk Arduino berdasarkan Jam Alarm —- * /

#include
#include
#include
#include

LiquidCrystal lcd (3, 2, 4, 5, 6, 7);
RTC_DS1307 RTC;
int temp, inc, hours1, minut, add = 11;

int next = 10;
int INC = 11;
int set_mad = 12;

#define buzzer 13

int HOUR, MINUT, SECOND;

kekosongan setup ()
{
Wire.begin ();
RTC.begin ();
lcd.begin (16,2);
pinMode (INC, INPUT);
pinMode (next, INPUT);
pinMode (set_mad, INPUT);
pinMode (buzzer, OUTPUT);
digitalWrite (next, HIGH);
digitalWrite (set_mad, HIGH);
digitalWrite (INC, HIGH);

lcd.setCursor (0,0);
lcd.print (“Real Time Clock”);
lcd.setCursor (0,1);
lcd.print (“Circuit Digest”);
penundaan (2000);

if (! RTC.isrunning ())
{
RTC.adjust (DateTime (__ DATE __, __ TIME__));
}
}

void loop ()
{
int temp = 0, val = 1, temp4;
DateTime sekarang = RTC.now ();
if (digitalRead (set_mad) == 0) // setel waktu Alarm
{
lcd.setCursor (0,0);
lcd.print (“Set Alarm”);
penundaan (2000);
defualt ();
waktu();
penundaan (1000);
lcd.clear ();
lcd.setCursor (0,0);
lcd.print (“Waktu alarm”);
lcd.setCursor (0,1);
lcd.print (“telah diatur”);
penundaan (2000);
}
lcd.clear ();
lcd.setCursor (0,0);
lcd.print (“Waktu:”);
lcd.setCursor (6,0);
lcd.print (HOUR = now.hour (), DEC);
lcd.print (“:”);
lcd.print (MINUT = now.minute (), DEC);
lcd.print (“:”);
lcd.print (SECOND = now.second (), DEC);
lcd.setCursor (0,1);
lcd.print (“Date:”);
lcd.print (now.day (), DEC);
lcd.print (“/”);
lcd.print (now.month (), DEC);
lcd.print (“/”);
lcd.print (now.year (), DEC);
pertandingan();
penundaan (200);
}

kekosongan defualt ()
{
lcd.setCursor (0,1);
lcd.print (JAM);
lcd.print (“:”);
lcd.print (MINUT);
lcd.print (“:”);
lcd.print (SECOND);
}

/ * Fungsi untuk mengatur waktu alarm dan waktu umpan ke Internal eeprom * /

void time ()
{
int temp = 1, minuts = 0, hours = 0, seconds = 0;
while (temp == 1)
{
if (digitalRead (INC) == 0)
{
HOUR ++;
if (HOUR == 24)
{
HOUR = 0;
}
while (digitalRead (INC) == 0);
}
lcd.clear ();
lcd.setCursor (0,0);
lcd.print (“Set Alarm Time”);
//lcd.print(x);
lcd.setCursor (0,1);
lcd.print (JAM);
lcd.print (“:”);
lcd.print (MINUT);
lcd.print (“:”);
lcd.print (SECOND);
penundaan (100);
if (digitalRead (next) == 0)
{
hours1 = HOUR;
EEPROM.write (tambahkan ++, jam1);
temp = 2;
while (digitalRead (next) == 0);
}
}

while (temp == 2)
{
if (digitalRead (INC) == 0)
{
MINUT ++;
if (MINUT == 60)
{MINUT = 0;}
sementara (digitalRead (INC) == 0);
}
// lcd.clear ();
lcd.setCursor (0,1);
lcd.print (JAM);
lcd.print (“:”);
lcd.print (MINUT);
lcd.print (“:”);
lcd.print (SECOND);
penundaan (100);
if (digitalRead (next) == 0)
{
minut = MINUT;
EEPROM.write (tambahkan ++, minut);
temp = 0;
while (digitalRead (next) == 0);
}
}
delay (1000);
}

/ * Fungsi untuk waktu pengobatan chack * /

kekosongan pertandingan ()
{
int tem [17];
untuk (int i = 11; i <17; i ++)
{
tem [i] = EEPROM.read (i);
}
if (HOUR == tem [11] && MINUT == tem [12])
{
beep ();
berbunyi();
berbunyi();
berbunyi();
lcd.clear ();
lcd.print (“Wake Up ……..”);
lcd.setCursor (0,1);
lcd.print (“Wake Up …….”);
berbunyi();
berbunyi();
berbunyi();
berbunyi();
}

}

/ * berfungsi untuk indikasi buzzer * /

void beep ()
{
digitalWrite (buzzer, HIGH);
penundaan (500);
digitalWrite (buzzer, LOW);
penundaan (500);
}

Video

Pustaka: https://circuitdigest.com/microcontroller-projects/arduino-alarm-clock

Share:

Membuat Jam Digital Arduino dengan LCD 16x2 Matrix

Jam digital

Pada dasarnya jam digital yang dapat mengubah waktu hanya dengan menekan tombol.

 

History

Cara kerja Jam digital ini bekerja seperti ini, setiap 60 detik menit naik angka satu, setiap 60 menit setiap jam naik satu, dan ketika jam sampai jam 13, angka bilangan berubah menjadi satu bukan angka 13. Kita semua tahu bagaimana jam bekerja.

Kemudian jika Anda menahan tombol waktu perubahan untuk satu detik, Anda dapat mengubah waktu menggunakan tombol lain, seperti yang ditunjukkan di video bawah.

Pengalaman belajar Arduino dengan membuat jam digital memang sangat mengasyikkan, akan lebih bagus lagi setelah rancangan jam digital ini selesai anda bisa membuat packing box dengan printer 3D, desain bisa bebas anda rancang.

Video demonstrasi tentang cara menggunakan jam digital LCD biru 16×2

Skema

Skema Rangkaian.


Hanya skematisnya saja.

Kode Script C / C ++

Berikut adalah kode jika ada yang ingin mencobanya sendiri.

#include //to change time, hold chanage time button for 1 second, then use hour chnage and minute change buttons.

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int hour = 12;
int minutes = 0;
int seconds = 0;
int decBtn = 10;
int hrUp = 9;
int hrDwn = 8;
int minUp = 7;
int minDwn = 6;
int hrUpDec = 0;
int hrDwnDec = 0;
int minUpDec = 0;
int minDwnDec = 0;

void setup() {
lcd.begin(16, 2);
pinMode(decBtn, INPUT);
pinMode(hrUp, INPUT);
pinMode(hrDwn, INPUT);
pinMode(minUp, INPUT);
pinMode(minDwn, INPUT);
}

void loop() {
if (digitalRead(decBtn) == HIGH) {
if (digitalRead(hrUp) == HIGH && hrUpDec == 0) {
hrUpDec = 1;
hour = hour + 1;
} else if (digitalRead(hrUp) == LOW) {
hrUpDec = 0;
}
if (digitalRead(hrDwn) == HIGH && hrDwnDec == 0) {
hrDwnDec = 1;
hour = hour – 1;
} else if (digitalRead(hrDwn) == LOW) {
hrDwnDec = 0;
}
if (digitalRead(minUp) == HIGH && minUpDec == 0) {
minUpDec = 1;
minutes = minutes + 1;
} else if (digitalRead(minUp) == LOW) {
minUpDec = 0;
}
if (digitalRead(minDwn) == HIGH && minDwnDec == 0) {
minDwnDec = 1;
minutes = minutes – 1;
} else if (digitalRead(minDwn) == LOW) {
minDwnDec = 0;
}
seconds = 0;
lcd.clear();
if (minutes == 60) {
minutes = 0;
hour = hour + 1;
}
if (minutes < 0) {
minutes = 59;
}
if (hour == 13) {
hour = 1;
}
if (hour < 1) {
hour = 12;
}
lcd.print(hour);
lcd.print(“:”);
if (minutes < 10) {
lcd . cetak ( 0 ); } lcd . cetak ( menit ); penundaan ( 20 ); } Lain jika ( digitalRead ( decBtn ) == RENDAH ) { lcd . clear (); if ( seconds == 60 ) { seconds = 0 ; menit = menit + 1 ; } jika (

menit == 60 ) {
minutes = 0 ; jam = jam + 1 ; } jika ( menit < 0 ) { minutes = 59 ; } jika ( jam == 13 ) { hour = 1 ; } jika ( jam < 1 ) { hour = 12 ; } lcd . cetak ( jam

);
lcd . print ( “:” ); if ( menit < 10 ) { lcd . cetak ( 0 ); } lcd . cetak ( menit ); penundaan ( 1000 ); lcd . clear (); detik = detik + 1 ; } }

referensi artikel: https://www.hackster.io/sharkode/digital-clock-2e5c70

Share:

Cara Cepat Belajar Arduino Ternyata Mudah Tanpa Mentoring

Caratekno – Keluarga Arduino adalah perangkat mikrokontoller (hardware) yang tergolong keluarga embeded system karena terapannya sangat mudah dan siap pakai seperti halnya Raspberry Pi yang sangat terkenal itu.

Pendahuluan

Sebelum kita mengenal jauh dunia pemograman khususnya Arduino, bahasa yang digunakan untuk interface nya menggunakan bahasa program C++ sedangkan untuk eksekutor programnya menggunak program Arduino IDE yang sudah tersedia gratis dan ringan penggunaannya.

Arduino

Indonesia sendiri keluarga Arduino sudah sangat dikenal luas di kalangan dunia pendidikan dari tingkat sekolah dasar sampai perguruan tinggi bahkan kalangan praktisi profesionalpun masih menggunakan device yang satu ini.

Yang paling banyak digunakan secara luas antara lain Arduino Uno.

Kenapa Arduino begitu dikenal ?

  • Karena dari sisi harga yang terjangkau
  • Komponen-komponen yang mudah ditemukan di toko peralatan komponen elektronika
  • Mudah dibeli secara online atau offline
  • Varian model komponen pendukungnya juga sangat beragam

masalah ulasan lengkap pengenal apa itu arduino sudah saya tulis di artikel pengenalan arduino URL

 

Spesifikasi Arduino

Secara fisiki dilihat dari jumlah pin konektor digital dan analognya juga menandakan nama board arduino itu sendiri.

 

sebagai misal Arduino UNO memiliki jumlah 6 pin analog dan 14 pin digital, Untuk arduino MEGA memiliki jumlah pin yang lebih banyak lagi dari UNO yakni, 16 pin analog dan 54 pin digital.. wow!

Fugsi Pin Analog dan Fungsi Pin Digital

Pin Analog: Sesuai namanya pin analago lebih sering difungsikan untuk interaksi dengan perangkat keras lainnya seperti potensiometer, sensor, servo, dll.

Pin analog bisa sebagai input ataupun output tergantung dari penggunaan komponennya.

Misalkan untuk menggerakkan servo (output) dengan putaran potensimeter (input) tertentu.

 

Pin Digital: Sesuai namanya digunakan untuk menulis dan membaca data-data digital logika 1 (high) dan 0 (low). Contohnya untuk menyalakan lampu (output) dengan masukan logika 1 (high) maka lampu akan menyala sesuai instruksi input high.

 

Arduino IDE (Integrated Developtment Enviroenment)

Software interaksi PC dengan modul arduino disebut dengan Arduino IDE ambilnya disini https://www.arduino.cc/en/main/software Nah, sekarang ada versi editor onlinenya versi web-based bisa dibuat programnya jika sudah terhubung dengan koneksi internet klik sini

Sebelum modul Arduino semua tipe dijual di pasar sudah terlebih dahulu dibenamkan program bootloader pada mikrokontroller bawaannya. Berfungsi sebagai interface program dengan chipsetnya.

Bahasa program Arduino selalu berakhiran eketensi .ino ditulis dengan bahasa pemograman Java lengkap dengan Library C/C++. Tulisan bahasa program tadi biasa di tulis berupa teks yang dikenal dengan sktech.

 

Secara sederhana pemograman arduino ini hanya terdiri dari perintah Void Setup dan Void Loop.

Instruksi void setup dieksekusi sekali saja sedangkan instruksi loop dilakukan secara berulang-ulang sesuai perintahkan akan diulang berapa kali.

 

Seperti contoh istruksi program led blink secara berulang-ulang ini:

void setup(){

// fungsi void setup berjalan sekali saja, yaitu ketika perangkat direset atau dinyalakan.   // inisialisasi pin digital 13 sebagai output.

pinMode(13, OUTPUT);

}

// fungsi void loop akan berjalan secara berulang-ulang selamanya

void loop() {  

digitalWrite(13, HIGH);   // menyalakan lampu yang terhubung ke pin 13(HIGH berarti aktif)

delay(1000);              // tunggu sampai 1 detik

digitalWrite(13, LOW);    // mematikan lampu (LOW berarti tidak aktif)

delay(1000);              // tunggu sampai 1 detik

}

 

Bagaimana cara memasukkan deretan program di atas ke dalam perangkat Arduino Uno?

Caranya:

  1. Siapkan perangkat Hardware (Arduino Uno R3, Kabel USB) yang sudah terhubung dengan PC
  2. Pilih jenis Board yang digunakan di Tool > Board > pilih nama board yang sedang digunakan
  3. Tool > Port > pilih port yang sudah terkoneksi
  4. Setelah semua selesai diverifikasi tidak ada kesalahan/error program
  5. Klik Tombol tanda Panah, tunggu sebentar proses upload
  6. dan Led akan kedip-kedip berulang-ulang

1. Menu-menu software Arduino IDE yang tertampil, yaitu:

  • File, berisi menu umum seperti New File, Ope, Save, Print, Quit, dan lain-lain secara mudah diterapkan respon yang cepat dan ringan.
  • Edit, menu umum seperti Undo/Redo, Copy/Cut/Paste, Find dan masih banyak lain fitur di dalam menu utama Edit.
  • Sketch, sesuai namanya  menu inti ini untuk editor pemograman saja seperti tombol menul Verify/Compile, Include Libary, dll
  • Tools, tombol-tombol dengan fungsi antara lain (Auto Format) pengaturan kode-kode, (Port) memilih port yang sudah terhubung dengan komputer, (Burn Bootloader) memindahkan data program ke dalam chip IC mikrokontroller.
  • Help, tombol pusat bantuan dan dokumentasi tentang apa saja dan link URL menuju Arduino Forum

 

 

 

Share:

Labels

Blog Archive