Senin, 28 Agustus 2017

Belajar Arduino Pemula Menyalakan LED Berkedip Arduino UNO

AssalamuAlaikum Wr. Wb.

Postingan kali ini saya akan membahas secara singkat tentang arduino. Arduino adalah sebuah modul mikrokontroller yang di buat lebih sederhana dan juga tampilan software yang lebih mudah serta contoh program yang lebih banyak dan terbuka.
Disini saya akan menampilkan contoh program sederhana di arduino.
Nah yang belum punya software arduino bisa dowload d link resmi nya disini .

Sesuai judul blognya, kita akan membuat sebuah program sederhana , yaitu led berkedip.
Adapun bahan yang di butuhkan yaitu Laptop, arduino uno dan kabel USB.

Pertama buka software arduino >
Kemudian langkah selanjutnya Klik File> Examples > 01.basics >Blink
 Maka Akan tampil sebagai berikut :
 Kemudian Klik Tools > Board (Pilih Arduino Genuino /  uno)
 Pilih Port (Com nya akan muncul jika Arduino kalian d hubungkan ke laptop)

Setelah Itu klik Logo Panah
Kemudian Tunggu hingga muncul sperti pada gambar :
Jika "done uploading"  tidak muncul , itu artinya proses mendownload program gagal. Biasanya terjadi kesalahan pemilihan PORT dan juga pemilihan board atau terjadi kerusakan pada board arduino.
Setelah melakukan hal diatas, maka akan terlihat led berkedip pada arduino seperti pada gambar :

Coba perhatikan ada led warna jingga pada board arduino, led teresebut akan menyala selama 1 detik lalu padam selama 1 detik.

Sekarang kita ke penjelasan program :

void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(LED_BUILTIN, OUTPUT);
}

Fungsi diatas merupakan bagian sub program arduino untuk mengatur pin pin arduino. jika kita menginginkan pin arduino sebagai input maka redaksi tulisan di ganti menjadi "pinMode(LED_BUILTIN, INPUT);"

LED_BUILTIN sendiri artinya adalah, terdapat led yang tertanam pada arduino yang berada pada pin 13. jadi LED_BUILTIN bisa d ganti menjadi : pinMode(13, OUTPUT);

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(LED_BUILTIN, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

Untuk fungsi loop  yaitu sesuai namanya adalah perintah perulangan. Jadi ketika selesai mengeksekusi program yang di bawah, maka akan kembali mengeksekusi program yang di atas. yang di mkasud di atas disini adalah perintah yang masih didalam fungsi loop.

digitalWrite(LED_BUILTIN,HIGH); sendiri adalah perintah menyalakan led. LED_BUILTIN disini bisa di ganti menjadi angka 13, karena led berada di pin 13 arduino seperti perintah berikut : digitalWrite(13,HIGH); kemudian ada perintah delay yaitu perintah menunggu selama waktu yang di tentukan yang satuannya adalah ms. jadi, jika menulis 1000 maka akan menunggu selama 1 detik sebelum mengeksekusi perintah selanjutnya.

digitalWrite(LED_BUILTIN, LOW); sendiri adalah perintah untuk memadamkan led. jadi perintahnya adalah menyalakan led selama 1 detik, lalu memadamkan selama 1 detik dan kejadian tersebut terjadi secara berulang-ulang.

Kalian bisa mengatur kecepatan led nya dengan mengganti nilai delay. Semakin kecil nilainya maka semakin cepat kedipannya dan sebaliknya.

Mungkin sampai disini untuk tutorial kali ini. maaf kalau tulisan saya agak kacau. Kalau ada pertanyaan silahkan tulis d komentar
Terimakasih.

Rabu, 27 Juli 2016

CARA INSTAL CODEVISIONAVR (CVAVR)

CODEVISION AVR (CVAVR)

CodevisionAvr merupakan compiler mikrokontroller yang menggunakan bahasa C. Dengan menggunakan CVAVR kita tidak perlu membuat library karena telah di sediakan oleh CVAVR.


Cara Instalasi CodevisionAVR

  • Download CodevisionAVR disini
  • Extract file rar CodeVisionAVR2.05.3
          
  • Kemudian buka folder CodeVisionAVR2.05.3/setup

         

  • Klik 2 kali pada setup.exe
                    
          Lalu klik OK kemudian >> Klik Next


         


          Lalu next
         
          Masukkan password : h95qnt6uyjktdd56m8tuwui9nj%qtnhc9p
          Atau klik dua kali pada file pass.txt di
          CodeVisionAVR2.05.3/setup/pass.txt
          
          Lalu Klik Next>> OK/Yes  sampai muncul dialog box :
         
          Jangan Centang lalu klik Finish

  • Buka kembali folder 
          CodeVisionAVR2.05.3/crack/
         
          Lalu Copy semua file kemudian paste kedalam folder:
          C:\cvavr2\bin\
          
          Kemudian klik 2 kali pada Crack.reg >> lalu Yes >> kemudian OK.
  • Langkah selanjutnya shortcut di desktop
          
          Klik kanan pada shortcut lalu >> pilih properties
          
          Ubah                C:\cvavr2\bin\cvavr.exe
          Menjadi           C:\cvavr2\bin\cvavr2.exe

          Lalu klik OK
  • Klik Kiri 2 kali pada shortcut untuk membuka codevision
          

          Sekarang CodevisionAVR anda telah fullversi.Terimakasih
          Jika ada pertanyaan silahkan tinggalkan komentar.

Senin, 09 Februari 2015

ROBOT LINE FOLLOWER DIGITAL

Assalamu Alaikum surfer.Apa kabar semuanya.
Kali ini saya akan memposting tentang "ROBOT LINE FOLLOWER".Mungkin diantara surfer semuanya sudah sering mendengarkan tentang robot line follower.apalagi  dikalangan pelajar sudah sering membuatnya.

Sekilas tentang line follower.line follower merupakan sebuah robot yg bisa mengikuti track berupa garis.Robot ini akan berjalan sesuai dengan garis yang ada di tracknya.Mengapa demikian?
Karena pada robot line follower terdapat sensor berupa fotodioda maupun ldr yg di jadikan sebagai mata pada robot tersebut.Robot line follower pada dasarnya ada 2.yaitu robot Line follower analog dan robot line Follower Digital.Terlalu bertele tele ya :D :D...
Ok.lansung sja.bagian bagian dari Robot line Follower.

1. Minimum Sistem
Mynsis AVR ATMEGA16
MinSys PIC18f4550

Gambar di atas merupakan salah satu minimum buatan saya.Minimum system diatas menggunakan IC PIC18F4550.tapi saya tidak mau membahas tentang PIC.rangkaian minimum system yang akan saya bagikan menggunakan AVR ATMEGA 16. Untuk filenya silahkan download di bagian bawah blog ini.

Minimum system ini berfungsi sebagai Otak dari Robot ini.

Ini contoh PCB Minimum System ATMEGA16


Rangkaian Minimum System

2. Driver Motor


Driver Motor berfungsi untuk mengontrol arah putaran motor.
Untuk download file silahkan download di bagian bawah blog ini.

3.Sensor



Pada rangkaian ini saya menggunakan sensor foto dioda.dan untuk pemberian cahaya tergantung keinginan masing masing, boleh menggunakan Infraled maupun LED. menggunakan keduanya juga tidak apa apa.tapi kalian harus mengedit punya saya dulu.:D


4.Gearbox

Gearbox ini sekalian dengan motornya berfungsi sebagai penggerak robot.Oh ya untuk roda depannya saya tidak pake.jadi yang berfungsi sebagai roda adalah sensornya.hal ini saya lakukan agar pembacaan sensor tetap stabil.

5. Source kode

Nah untuk programnya saya menggunaka Software CodeVision AVR 2.0.5. silahkan kalian cari di lapak sebelah jika kalian belum punya. soalnya saya belum sempat upload.mungkin di lain kesempatan saya akan upload.

Jika kalian bermasalah membuka file pcbnya silahkan ikuti petunjuk ini
Klik File - Open Project

Klik Project (*prjPcb)

Jika muncul seperti itu klik Ok.dan akan muncul 2 kali.
Klik Kanan Pada project
Klik Add Exiting To Project
Blok kedua file (*pcbDoc dan *SchDoc)
Kemudian klik file tersebut..
Jika kalian belum memiliki altium silahkan kalian cari dilapak sebelah ya...


Untuk source kode silahkan download disini
Untuk dowload PCBnya silahkan dowload disini 
Untuk melihat tutorial videonya silahkan klik disini

Cukup sekian dari saya.mungkin masih kurang lengkap.nanti akan saya lengkapi lagi.

Terima kasih...

Minggu, 22 Juni 2014

SHIFT REGISTER

Shift register


Dalam rangkaian digital, sebuah register geser adalah kaskade dari Flip-flop, berbagi jam yang sama, yang memiliki output dari satu apapun tetapi yang terakhir flip-flop dihubungkan ke input "data" dari yang berikutnya dalam rantai tersebut, sehingga sirkuit yang menggeser per satu posisi satu dimensi "bit array" disimpan di dalamnya, pergeseran dalam data hadir pada input dan pergeseran keluar bit terakhir dalam array, ketika diaktifkan untuk melakukannya oleh transisi dari masukan clock. Lebih umum, sebuah register geser dapat multidimensi, seperti bahwa "data dalam" tahap input dan output itu sendiri array bit: ini diimplementasikan hanya dengan menjalankan beberapa pergeseran register yang sama bit-panjang secara paralel.

Register geser dapat memiliki keduanya paralel dan serial input dan output. Ini sering dikonfigurasi sebagai serial-in, paralel-out (SIPO) atau sebagai paralel-in, serial-out (piso). Ada juga jenis yang memiliki kedua input serial dan paralel dan jenis dengan output serial dan paralel. Ada juga register geser dua arah yang memungkinkan pergeseran dalam dua arah: L R atau R L. Input dan output seri terakhir dari sebuah register geser juga dapat dihubungkan untuk membuat sebuah register geser melingkar.





Serial-in, serial-out (SISO)






Tabel Kebenaran
  • 0 0 0 0
  • 1 0 0 0
  • 0 1 0 0
  • 1 0 1 0
  • 1 1 0 1
  • 0 1 1 0
  • 0 0 1 1
  • 0 0 0 1
  • 0 0 0 0

Ini adalah jenis paling sederhana dari register geser. String data dipresentasikan pada 'Data Dalam', dan digeser kanan satu tahap 'Data muka' setiap kali dibawa tinggi. Di muka masing-masing, sedikit di paling kiri ('Data Dalam' yaitu) digeser ke output flip-flop pertama. Bit di paling kanan ('Data Out' yaitu) digeser keluar dan hilang.
Data disimpan setelah setiap flip-flop pada output 'Q', jadi ada 'slot' empat penyimpanan yang tersedia dalam pengaturan ini, maka itu adalah Daftar 4-Bit. Untuk memberikan gambaran tentang pergeseran pola, bayangkan bahwa register memegang 0000 (sehingga semua penyimpanan slot kosong). 'Data Dalam' Sebagai menyajikan 1,0,1,1,0,0,0,0 (dalam urutan itu, dengan pulsa di 'Muka Data' setiap kali - ini disebut clocking atau nyala) ke kasir, ini hasilnya. Kolom sebelah kiri sesuai dengan pin output paling kiri flip-flop, dan sebagainya.
Jadi serial output dari register seluruh 10110000. Seperti yang Anda lihat jika kita terus input data, kita akan mendapatkan persis apa yang dimasukkan ke dalam, tetapi diimbangi oleh siklus 'Data muka' empat. Susunan ini adalah setara perangkat keras dari antrian. Juga, setiap saat, daftar keseluruhan dapat diatur ke nol dengan membawa reset (R) pin tinggi.
Pengaturan ini melakukan pembacaan destruktif - setiap datum hilang begitu telah bergeser dari bit paling kanan. 

Serial-in, paralel-out (SIPO)Konfigurasi ini memungkinkan konversi dari serial ke format paralel. Data masukan serial, seperti dijelaskan dalam bagian SISO di atas. Setelah data telah masukan, mungkin akan baik dibacakan pada output masing-masing secara bersamaan, atau bisa digeser dan diganti.4-Bit SIPO Pergeseran Pendaftaran
Paralel-in, Serial-out (piso)



Konfigurasi ini memiliki input data pada baris sampai D1 D4 dalam format paralel. Untuk menulis data ke register, garis kontrol Tulis / Shift harus diadakan RENDAH. Untuk menggeser data, garis kontrol W / S dibawa TINGGI dan register clock. Pengaturan ini sekarang bertindak sebagai register geser SISO, dengan D1 sebagai Data Input. Namun, selama jumlah clock cycle tidak lebih dari panjang string data, Output Data, Q, akan menjadi data paralel dibacakan secara berurutan.4-Bit piso Pergeseran Pendaftaran
Animasi di bawah ini menunjukkan urutan menulis / pergeseran, termasuk kondisi internal register geser.4-Bit piso Pergeseran Pendaftaran Seq.gif

Penggunaan
Salah satu penggunaan yang paling umum dari sebuah register geser adalah untuk mengkonversi antara interface serial dan paralel. Hal ini berguna karena banyak sirkuit bekerja pada kelompok bit secara paralel, tapi serial interface lebih sederhana untuk membangun. Register geser dapat digunakan sebagai sirkuit menunda sederhana. Beberapa register geser dua arah juga bisa dihubungkan secara paralel untuk implementasi hardware stack.
Register SIPO biasanya melekat pada output dari mikroprosesor ketika pin output lebih dibutuhkan daripada yang tersedia. Hal ini memungkinkan perangkat biner beberapa dikontrol dengan hanya menggunakan dua atau tiga pin - perangkat tersebut yang melekat pada output paralel register geser, maka keadaan yang diinginkan dari semua perangkat dapat dikirim keluar dari mikroprosesor menggunakan koneksi serial tunggal . Demikian pula, konfigurasi piso biasanya digunakan untuk menambahkan input biner lebih untuk mikroprosesor ketimbang yang tersedia - masing-masing masukan biner (yaitu saklar atau tombol, atau sirkuit yang lebih rumit yang dirancang untuk output tinggi ketika aktif) terpasang ke input paralel register geser , maka data dikirim kembali melalui serial ke mikroprosesor menggunakan sedikit baris beberapa dari yang diperlukan.
Register geser dapat digunakan juga sebagai extender pulsa. Dibandingkan dengan monostable multivibrators, waktu tidak memiliki ketergantungan pada nilai-nilai komponen, tetapi memerlukan jam eksternal dan ketepatan waktu dibatasi oleh rincian jam ini. Contoh: Ronja Twister, di mana lima register geser 74.164 menciptakan inti dari logika waktu dengan cara ini (skema).
Pada awal komputer, register geser digunakan untuk menangani pengolahan data: dua nomor yang akan ditambahkan disimpan di dua register geser dan absen pulang ke unit aritmatika dan logika (ALU) dengan hasil yang makan kembali ke input dari salah satu pergeseran register (akumulator) yang merupakan salah satu sedikit lebih lama karena penambahan biner hanya dapat menghasilkan jawaban yang ukuran yang sama atau sedikit lebih lama.
Banyak bahasa komputer termasuk instruksi untuk 'bergeser ke kanan' dan 'pergeseran kiri' data dalam register, secara efektif membagi dua atau mengalikan oleh dua untuk setiap tempat bergeser.
Sangat besar serial dalam serial-out register geser (ribuan bit dalam ukuran) yang digunakan dalam cara yang mirip dengan memori baris sebelumnya keterlambatan dalam beberapa perangkat yang dibangun pada awal tahun 1970. Kenangan seperti itu kadang-kadang disebut beredar memori. Sebagai contoh, Datapoint 3300 terminal disimpan tampilan dari 25 baris 72 kolom huruf besar karakter menggunakan register geser lima puluh empat 200-bit, disusun dalam enam lagu dari sembilan paket masing-masing, menyediakan penyimpanan untuk 1800 enam-bit karakter. Desain register geser berarti bahwa menggulir tampilan terminal dapat dicapai dengan hanya berhenti output layar untuk melewati satu baris karakter