3 Mar 2021

Membuat Arduino Uno Bluetooth Sendiri Bisa Upload Sketch Lewat Bluetooth | DIY Bluino One

Halo agan semuanya, sekarang ane mau nunjukin kepada agan bagaimana membuat papan arduino uno sendiri yang dapat mengunggah kode/sketch melalui bluetooth HC-05, sistem minimum berbasis arduino ini bisa disebut "DIY Bluino One".

18 Jan 2021

Membuat Robot Mobil RC Kamera Menggunakan ESP32 Cam

Halo agan agan sekalian, kalau pernah punya mobil-mobilan remote control alias RC sekarng mungkin sudah biasa, tapi kalau mobil RC nya ada kamera kayanya sedikit luar biasa. Apalagi kalau agan sendiri yang buatnya tambah luar biasa.

31 Des 2020

Membuat Jam Digital Dot Matrix Lengkap dengan Jadwal Waktu Sholat

Untuk kamu yang suka berkreasi dan ingin mempunyai alat-alat unik beda dari yang lain, kamu bisa mencoba membuat sebuah jam digital dot matrix yang unik, bisa menampilkan jam berikut ikon animasi bergerak, sangat recomen banget untuk di simpan dikamar kamu.

29 Nov 2020

Cara Membuat Membuat Saklar Otomatis via Wifi Android 4 Channel (Internet of Things) IoT

Kali ini kita akan membuat saklar otomatis berbasis WiFi dikendalikan melalui internet yang bisa digunakan untuk mengontrol 4 peralatan elektronik seperti lampu, kipas angin TV dan lain-lain, cukup dikontrol melalui handphone bisa kapan saja dan dimana saja.

21 Sep 2020

Kit Elektronik Latihan Menyolder - Robadge#1 Flip-Flop

Bagi agan-agan yang baru mengenal elektronik dan ingin belajar, terutama latihan menyolder komponen dasar ke papan PCB. Bisa coba Soldering Kit Robadge#1, selain bisa sebagai sarana latihan menyolder, Kit ini juga bentuknya lucu dan berfungsi sebagai rangkaian Flip-Flop (lampu LED kedap-kedip) yang bisa agan-agan pasang jadi bross menyala dibaju.

4 Sep 2020

Upload Program Arduino Wireless Bluetooth

Hai agan-agan sekalian, dalam tutorial kali ini ane akan menunjukan bagaimana cara Arduino Uno kamu supaya bisa diprogram menggunakan HP Android tanpa kabel alias lewat bluetooth. Caranya sangat mudah sekali, mari kita mulai saja! :)

15 Okt 2019

Membunyikan Buzzer

Membunyikan Buzzer

Buzzer merupakan komponen elektronik yang dapat menghasilkan bunyi, terdapat dua jenis buzzer yaitu buzzer aktif dan buzzer pasif. Buzzer jenis actif dapat memproduksi suara/getaran sendiri, kita cukup menghubungkannya dengan tegangan 5V dan buzzer tersebut mengeluarkan suara. Sedangkan buzzer pasif tidak dapat menghasilkan suara sendiri, kita harus memberikannya tegangan berbentuk gelombang dan mempunyai frekuensi maka buzzer pasif akan mengeluarkan suara. Speaker adalah salah satu contoh dari jenis buzzer aktif.
Pada latihan sekarng menggunakan buzzer jenis pasif untuk memainkan nada-nada sederhana.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Buzzer

Komponen yang digunakan pada Shield:

1 x Buzzer yang dihubungkan ke pin A3.


Rangkaian:

Upload sketch:

Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi Bluino Loader yang sudah diinstal dari Google Playstore. Buka sketch Latihan 08 yang sudah diunduh dan disimpan pada folder Examples sebelumnya.

Untuk membuka sketch temukan file di: BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_08

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) dibawah.
/* Bluino Starter Shield
   Latihan 08 Membunyikan Buzzer

   This sketch uses the buzzer to play songs.
   The Arduino's tone() command will play notes of a given frequency.

   Version 1.0 9/2017 MK
*/


const int buzzerPin = A3;    // connect the buzzer to pin A3
const int songLength = 18;   // sets the number of notes of the song

// Notes is an array of text characters corresponding to the notes
// in your song. A space represents a rest (no tone)

char notes[songLength] = {
  'c', 'd', 'f', 'd', 'a', ' ', 'a', 'g', ' ', 'c', 'd', 'f', 'd', 'g', ' ', 'g', 'f', ' '};

// beats[] is an array of values for each note. A "1" represents a quarter-note,
// "2" a half-note, and "4" a quarter-note.
// Don't forget that the rests (spaces) need a length as well.

int beats[songLength] = {
  1, 1, 1, 1, 1, 1, 4, 4, 2, 1, 1, 1, 1, 1, 1, 4, 4, 2};

int tempo = 113;  // The tempo is how fast to play the song (beats per second).

void setup() {
  pinMode(buzzerPin, OUTPUT);  // sets the  buzzer pin as an OUTPUT
}


void loop() {
  int i, duration; //

  for (i = 0; i < songLength; i++) {  // for loop is used to index through the arrays
    duration = beats[i] * tempo;  // length of note/rest in ms

    if (notes[i] == ' ')          // is this a rest?
      delay(duration);            // then pause for a moment
    else {                        // otherwise, play the note
      tone(buzzerPin, frequency(notes[i]), duration);
      delay(duration);            // wait for tone to finish
    }
    delay(tempo/10);              // brief pause between notes
  }

}

int frequency(char note) {
  int i;
  const int numNotes = 8;  // number of notes we're storing
  char names[numNotes] = {
    'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C'    };
  int frequencies[numNotes] = {
    262, 294, 330, 349, 392, 440, 494, 523    };

  // Now we'll search through the letters in the array, and if
  // we find it, we'll return the frequency for that note.

  for (i = 0; i < numNotes; i++) { // Step through the notes
    if (names[i] == note) {        // Is this the one?
      return(frequencies[i]);     // Yes! Return the frequency and exit function.
    }
  }
  return(0);  // We looked through everything and didn't find it,
  // but we still need to return a value, so return 0.
}

Catatan kode:

char notes[] = "cdfda ag cdfdg gf ";

char names[] = {'c','d','e','f','g','a','b','C'};
Sampai saat ini kita banyak berlatih dengan data numerik, tapi Arduino juga dapat mengolah data text. Satu huruf dari sebuah text disebut "char" (cahracter). Ketika text atau gabungan dari banyak character dituliskan dalam kode Arduino dapat dituliskan menggunakan tanda kutip dua (juga disebut "string").
tone(pin, frequency, duration);
Banyak fungsi-fungsi bawaan bahasa arduino yang sangat berguna salah satunya fungsi untuk mengendalikan buzzer adalah fungsi tone(). Fungsi ini akan mengelhasilkan frekuensi tertentu pada pin output, memjadikan fungsi ini sangat berguna untuk membunyikan sebuah buzzer atau speaker. Jika kamu memberi nilai untuk durasi (dalm milidetik), maka nada akan berbunyi dan kemudian berhenti. Jika tidak diberikan nilai durasi maka nada akan berbunyi terus menerus, namun kamu masih dapat menghentikannya menggunkan fungsi noTone().

Apa yang seharusnya kamu lihat:

Kamu akan mendengar musik yang keluar dari buzzer. Jika ini tidak bekerja, periksa apakah lubang suara pada buzzer tertutup dan pastikan sketch sudah masuk kedalam Arduino. 

Mengendalikan Relay

Mengendalikan Relay

Relay pada dasarnya merupakan sebuah saklar mekanik yang dikontrol secara listrik. Didalam relay terdapat lilitan dengan inti besi yang akan berubah menjadi magnet ketika dialiri arus listrik dan menarik tuas saklar sehingga menyebabkan saklar menjadi kontak. Pada latihan ini akan belajar bagaimana cara menontrol relay menggunakan Arduino.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Relay 5V (SPDT)
— 2 x LED
— 1 x Transistor NPN
— 1 x Dioda 1N4148
— 2 x Resistor 330Ω
— 1 x Resistor 10kΩ
— 1 x Breadboard mini

Komponen yang digunakan pada Shield:

1 x Relay yang terhubung ke D12.


Rangkaian:


Upload sketch:

Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi Bluino Loader yang sudah diinstal dari Google Playstore. Buka sketch Latihan 10 yang sudah diunduh dan disimpan pada folder Examples sebelumnya.

Untuk membuka sketch temukan file di: BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_10

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) dibawah.
/* Bluino Starter Shield
   Latihan 10 Mengendalikan Relay

   A relay is a electrically-controlled mechanical switch. It has an
   electro-magnetic coil that either opens or closes a switch.

   Version 1.0 9/2017 MK
*/


const int relayPin = 12;     // This pin drives the transistor (which drives the relay)
const int timeDelay = 1000;  // delay in ms for on and off phases

// You can make timeDelay shorter, but note that relays, being
// mechanical devices, will wear out quickly if you try to drive them too fast.


void setup() {
  pinMode(relayPin, OUTPUT);  // set pin as an output
}


void loop() {
  digitalWrite(relayPin, HIGH);  // turn the relay on
  delay(timeDelay);              // wait for one second
  digitalWrite(relayPin, LOW);   // turn the relay off
  delay(timeDelay);              // wait for one second
}

Catatan kode:

digitalWrite(relayPin, HIGH);
Ketika transistor sebagai switching aktif, akan mengaktifkan lilitan relay dan kontak pada relay terhubung, ini akan menghubungkan pin relay COM dengan NO (Normally Open). Pada latihian ini menggunakan kedua pin ini sebagai saklar LED tapi kamu bisa menggunakan untuk perangkat elektronik lain bertegagngan tinggi (220AC) seperti lampu pijar, motor dll disesuaikan dengan kemampuan relay tersebut.
digitalWrite(relayPin, LOW);
Relay mempunyai pin NC (Normally Close), Pin NC kebalikan dari pin NO yaitu akan terhubung antara pin COM dengan NC ketika kondisi relay mati. Pin-pin kontak pada relay dapat digunakan sesuai dengan kebutuhan apakah dalam keadaan aktif nyala atau mati. Kedua pin NO dan NC juga dapat digunakan untuk dua peralatan yang nyalanya bergantian.

Apa yang seharusnya kamu lihat:

Kamu seharusnya dapat mendengarkan suara klik ketika kontak relay aktif, dan melihat kedua LED menyala bergantian dengan interval waktu masing-masing 1 detik. Jika tidak terjadi, pastikan kedua LED terangkai benar dengan pin kontak relay dan pastikan sketch sudah masuk kedalam Arduino. 

7-Segment

7-Segment

Pada latihan ini akan belajar bagaimana menampilkan data/angka pada 7-segment. Rangkaian dan library yang digunakan pada latihan ini mengacu pada Digit Shield. Untuk bisa menampilkan angka pada 7-segment memerlukan komponen IC 74LS595 (Shift Register) dan IC 74LS247 (BCD to 7-segment).

Pada pemogramannya menggunakan beberapa fungsi khusus yang sudah dibuat menjadi library, seperti fungsi DigitShield.begin() digunakan pada awal inisialisasi, fungsi DigitShield.setvalue(value) digunakan untuk menampilkan angka pada 7-segment bisa berupa nilai hasil pembacaan sensor, jam pembacaan dari modul RTC, dll.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x 4 7-segment
— 1 x IC 74LS595
— 1 x IC 74LS247
— 8 x Resistor 100Ω
— 4 x Resistor 10kΩ

Komponen yang digunakan pada Shield:

1 x 4x7-segment yang terhubung ke D5, D6, D7 & D8.


Rangkaian:


Upload sketch:

Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi Bluino Loader yang sudah diinstal dari Google Playstore. Buka sketch Latihan 11 yang sudah diunduh dan disimpan pada folder Examples sebelumnya.

Untuk membuka sketch temukan file di: BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_11

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) dibawah.
/* Bluino Starter Shield
  Latihan 11 7-segment

  To display number counter-up 0 - 9999 on sevent segment.

  Version 1.0 9/2017 MK
*/


#include <digitshield.h>




int counter = 0;

// Create a Digit Shield connected to Arduino pins 5,6,7,8
// Connected to pins 5,6,7,8 on the shield, respectively.
DigitShieldClass digitShield(5, 6, 7, 8);

void setup() {
  DigitShield.begin();      // Initialize the Digit Shield. This is required before use.
}

void loop() {
  digitShield.setValue(counter);    // Set an integer value to display
  counter = counter + 1;    // Counter-up added 1
  delay(300);               // Delay time when increasing counter
  if (counter >= 9999) {    // Reset counter to 0 if reach 10000
    counter = 0;
  }
}

Catatan kode:

#include <digitshield.h>
Kode berikut memberitahu Arduino untuk meyertakan library DigitShield. Tanpa menggunakan library ini, nanti semua fungsi yang berhubungan dengan 7-segment tidak akan dikenali, maka pastikan kamu sudah mendownload library tersebut dan menyimpannya pada subfolder libraries serta pada awal baris kode menyertakannya.
digitShield.setValue(counter);
Fungsi ini akan menampilkan angka pada 7-segment, data yang dapat ditampilakan dapat berupa integer atau double (bilangan desimal mempunyai angka dibelakang koma).

Apa yang seharusnya kamu lihat:

Kamu akan melihat nilai pada 7-segment mencacah naik dari 0 sampai 9999, dengan jeda waktu 300 ms tiap perbuahan angkanya sesuai dengan delay. Jika tidak tampil, pastikan sketch sudah masuk kedalam Arduino. 

Mengendalikan Motor Servo

Mengendalikan Motor Servo

Motor servo sangat cocok pengaplikasiannya dalam pembuatan project robotik karena motor servo bisa melakukan yang tidak bisa dilakukan oleh motor biasa yaitu dapat berputar pada posisi yang akurat. Dengan memberikan variasi lebar pulsa dari tegangan output arduino ke servo, sebagai contoh lebar pulsa 1.5ms akan menyebabkan servo bergerak pada posisi 90 derajat. Pada latihan ini kamu akan belajar menggunakan PWM (pulse width modulation) untuk mengontrol dan memutarkan sebuah servo.

Kebutuhan Komponen:

— 1 x Arduino UNO
— 1 x Servo

Komponen yang digunakan pada Shield:

1 x Servo yang dihubungkan ke pin D3.


Rangkaian:


Upload sketch:

Buka software Arduino IDE apabila menggunakan PC/Laptop. Jika menggunakan Android dapat membuka aplikasi Bluino Loader yang sudah diinstal dari Google Playstore. Buka sketch Latihan 09 yang sudah diunduh dan disimpan pada folder Examples sebelumnya.

Untuk membuka sketch temukan file di: BluinoLoader > examples > Belajar_Arduino_Dasar > Latihan_09

Cara lain dapat juga upload sketch langsung melalui aplikasi ini ke Arduino melalui USB OTG atau Bluetooth dengan cara menekan ikon upload (tanda panah ke kanan) dibawah.
/* Bluino Starter Shield
   Latihan 09 Mengendalikan Motor Servo

   Sweep a servo back and forth through its full range of motion.

   Version 1.0 9/2017 MK
*/


#include <Servo.h>  // servo library

Servo servo1;  // servo control object


void setup() {
  servo1.attach(3);  //Connect the servo to pin 3
}


void loop() {
  int position;

  // Change position at full speed:
  servo1.write(90);    // Tell servo to go to 90 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(180);   // Tell servo to go to 180 degrees
  delay(1000);         // Pause to get it time to move
  servo1.write(0);     // Tell servo to go to 0 degrees
  delay(1000);         // Pause to get it time to move


  // Tell servo to go to 180 degrees, stepping by two degrees each step
  for(position = 0; position < 180; position += 2) {
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }

  // Tell servo to go to 0 degrees, stepping by one degree each step
  for(position = 180; position >= 0; position -= 1) {
    servo1.write(position);  // Move to next position
    delay(20);               // Short pause to allow it to move
  }
}

Catatan kode:

#include <Servo.h>
#include adalah sebuah perintah "preprocessor" spesial untuk menyertakan sebuah library (atau file lain) kedalam sketch.
Servo servo1;
servo1.attach(3);
Pada library servo menambahkan beberapa perintah untuk dapat mengontrol sebuah servo. Sebagai persiapan supaya Arduino dapat mengontrol sebuah servo, terlebih dahulu kamu harus membuat "object" servo untuk setiap servo (dalam contoh ini object diberi nama ("servo1"), kemudian tuliskan perintah "attach" untuk menghubungkan ke pin digital (dalam contoh ini menggunakan pin 3).
servo1.write(180);
Servo yang digunakan pada latihan ini tidak dapat berputar 360 derajat, tapi dapat diberi perintah untuk bergerak pada posisi tertentu. Kita menggunakan fungsi pada library servo, perintah write() akan membuat servo bergerak pada nilai derajat tertentu (0 sampai 180). Perlu diingat bahwa servo memerlukan waktu untuk bergerak dari satu posisi ke posisi lain, maka tambahkan delay() apabila diperlukan.

Apa yang seharusnya kamu lihat:

Kamu akan melihat servo bergerak ke beberapa posisi pada kecepatan tertentu. Jika motor servo tidak bergerak, periksa kembali koneksi kabel dan pastikan sketch sudah masuk kedalam Arduino.