Posts tagged ‘AVR’

Timbangan 5kg HX711


CAM00451CAM00470 CAM00471 CAM00472

[Full Gallery Foto]

Gambaran Umum
HX711 adalah modul timbangan, yang memiliki prinsip kerja mengkonversi perubahan yang terukur dalam perubahan resistansi dan mengkonversinya ke dalam besaran tegangan melalui rangkaian yang ada. Modul melakukan komunikasi dengan computer/mikrokontroller melalui TTL232.
Kelebihan
Struktur yang sederhana, mudah dalam penggunaan, hasil yang stabil dan reliable, memiliki sensitivitas tinggi, dan mampu mengukur perubahan dengan cepat.

 

Aplikasi
Digunakan pada bidang aerospace, mekanik, elektrik, kimia, konstruksi, farmasi dan lainnya, digunakan untuk mengukur gaya, gaya tekanan, perpindahan, gaya tarikan, torsi, dan percepatan.
Fitur
– Differential input voltage: ±40mV(Full-scale differential input voltage is ± 40mV)
– Data accuracy: 24 bit (24 bit A / D converter chip.)
– Refresh frequency: 80 Hz
– Operating Voltage : 5V DC
– Operating current : <10 mA
– Size:38mm21mm10mm

Prinsip Kerja

HX711 1

Prinsip kerja sensor regangan ketika mendapat tekanan beban. (sumber datasheet HX711)
Ketika bagian lain yang lebih elastic mendapat tekanan, maka pada sisi lain akan mengalami perubahan regangan yang sesuai dengan yang dihasilkan oleh straingauge, hal ini terjadi karena ada gaya yang seakan melawan pada sisi lainnya. Perubahan nilai resistansi yang diakibatkan oleh perubahan gaya diubah menjadi nilai tegangan oleh rangkaian pengukuran yang ada. Dan berat dari objek yang diukur dapat diketahui dengan mengukur besarnya nilai tegangan yang timbul.

[Baca selengkapnya]

Testing Sensor Inframerah MLX90614 Dengan Arduino dan AVR


Tulisan kali ini adalah posting yang saya tulis ulang dari beberapa sumber yang memiliki kesamaan tema, jadi bukan seluruhnya adalah hasil eksperimen saya. Saya hanya mencoba mencoba petunjuk yang diberikan dan mencoba eksperimen dengan beberapa referensi tersebut.

MLX90614 adalah termometer inframerah yang sangat berguna karena dalam pemakaiannya tidak diperlukan kontak antara sensor dan objek yang akan diukur. Sensor memberikan pembacaan suhu rata-rata dari semua objek yang tercover oleh view dari sensor, sehingga tidak suhu mutlak dari sebuah objek yang diamati. Dengan prinsip ini, maka dapat dimanfaatkan untuk mendeteksi kehadiran ataupun perubahan suhu objek dalam range jangkaun sensor baik itu gerakan objek ataupun kehadiran suatu objek.

Gambar Wiring

Dengan mengikuti gambar di atas, maka kita dapat dengan mudah membuat sebuah sistem pembaca suhu menggunakan MLX90614 dan board arduino Uno. Jika merasa kesulitan menggunakan rangkaian di atas, dapat juga membeli modul sensor yang sudah jadi tinggal menambahkan jumper kabel dari modul ke board arduino.

[Baca selengkapnya]

Sensor Temperatur Termokopel Tipe-K MAX6675


Gambaran Umum

MAX6675 dibentuk dari kompensasi cold-junction yang outputnya didigitalisasi dari sinyal termokopel tipe-K. data output memiliki resolusi 12-bit dan mendukung komunikasi SPI mikrokontroller secara umum. Data dapat dibaca dengan mengkonversi hasil pembacaan 12-bit data.

Fitur

  • Konversi digital langsung dari output termokopel tipe-K
  • Kompensasi cold-junction
  • Komunikasi kompatibel dengan protocol SPI
  • Open thermocouple detection

Karakteristik

typical MAX6675 2

(sumber datasheet MAX6675)

Cold-Junction Compensation

Fungsi dari termokopel adalah untuk mengetahui perbedaan temperature di bagian ujung dari dua bagian metal yang berbeda dan disatukan. Termokopel tipe hot junction dapat mengukur mulai dari 0oC sampai +1023,75oC. MAX6675 memiliki bagian ujung cold end yang hanya dapat mengukur -20oC sampai +85oC. Pada saat bagian cold end MAX6675 mengalami fluktuasi suhu maka MAX6675 akan tetap dapat mengukur secara akurat perbedaan temperature pada bagian yang lain. MAX6675 dapat melakukan koreksi atas perubahan pada temperature ambient dengan kompensasi cold-junction.

Device

mengkonversi temperature ambient yang terjadi ke bentuk tegangan menggunakan sensor temperature diode. Untuk dapat melakukan pengukuran actual, MAX6675 mengukur tegangan dari output termokopel dan tegangan dari sensing diode.

Performance optimal MAX6675 dapat tercapai pada waktu termokopel bagian cold-junction dan MAX6675 memiliki temperature yang sama. Hal ini untuk menghindari penempatan komponen lain yang menghasilkan panas didekat MAX6675.

[baca selengkapnya]

Membuat Frekuensi Counter Dengan AVR


CAM00416

CAM00417

CAM00418

CAM00419CAM00420

Pada posting ini saya mencoba menyampaikan contoh bagaimana membuat sebuah counter frekuensi dengan menggunakan ATMega32A. Seperti foto di atas dapat dilihat bahwa hasil memperlihatkan bahwa tidak terdapat perbedaan signifikan antara display mikrokontroller dan frekuensi output Sinyal Generator. Dengan demikian maka alat dapat dikatakan berfungsi dengan baik dan dapat digunakan.

[baca selengkapnya]

 

Belajar Mikrokontroller AVR


Belajar mikrokontroller membutuhkan software minimal untuk membuat program yang akan dimasukkan ke dalam chip mikrokontroller. Software yang dapat digunakan banyak sekali mulai dari yang free sampai yang berbayar. Software yang banyak digunakan untuk pemrograman mikrokontroller keluarga AVR adalah diantaranya adalah

1. CodeVision

2. AVR Studio

3. Bascom

Dan lain-lain

Selain software untuk mengisikan program kedalam chip, ada juga software yang dapat digunakan untuk mensimulasikan program yang telah dibuat tanpa menggunakan hardware.

[Baca selengkapnya dan download software crack]

ATMEGA328P-PU


ATmega328-300x225

Screenshot

 

 

 

 

 

 

 

 

Harga @Rp. 40.000,-

Datasheet: ATmega328P-PU

Menampilkan Tulisan Pada LCD 16×2


Pada tulisan ini akan disampaikan contoh bagaimana menampilkan tulisan pada LCD alphanumceric 16×2 menggunakan mikrokontroller AVR. Software yang akan digunakan adalah Code Vision.

Peralatan yang dibutuhkan dapat diperoleh pada online shop Produk Inovatif. LCD pada dasarnya adalah sebuah contoh display yang mudah digunakan dan mudah didapatkan dengan harga murah. Sehingga tampilan ini banyak dipakai pada alat-alat sederhana yang dibuat dengan berbasis mikrokontroller ataupun yang lainnya. LCD ini juga dapat digerakkan dengan interface lain, misalnya laptop atau yang lain.

Untuk peralatan yang akan digunakan adalah:

  1. Modul LCD 16×2

di-lcd16x2

  1. Modul AVR

OLYMPUS DIGITAL CAMERA

  1. Downloader

Semua modul dapat dibeli pada Produk-Inovatif.

Selanjutnya, langsung saja kita praktikkan bagaimana menampilkan sebuah tulisan pada LCD 16×2.

Pertama, hubungkan modul LCD 16×2 dengan PORTA pada modul AVR, seperti gambar berikut:

LCD con 2LCD con

Kedua, hubungkan header AVR ISP USBasp pada konekto ISP PORT pada modul AVR, seperti gambar berikut:

ISP 3ISP

Ketiga, hubungkan konektor USB AVR ISP USBasp ke USB Laptop/PC, seperti gambar berikut:

USB ISP

Setelah semua siap, buatlah sebuah program dengan menggunakan Code Vision.

  1. Buat sebuah project

new

  1. Klik YES

YES

  1. Pilih ATmega, klik OK

ATmega

  1. Pilih Chip ATmega32A dan clock 11,059200 MHz, atau sesuai dengan yang ada pada modul AVR Anda.

Chip

  1. Pilih Alphanumeric LCD, dan atur sesuai setting berikut

LCD

6.Simpan project dengan nama LCD

  1. Tambahkan source delay seperti berikut:

delay

  1. Isikan program seperti berikut:

while

  1. Compile program yang telah dibuat, dengan CTRL+F9

  2. Selanjutnya, download ke mikrokontroller dan lihat hasilnya.

testing

Demikian, semogar bermanfaat.

Membuat Dot Matrix Dengan SPI AVR


Tulisan ini merupakan terjemahan bebas dari sebuah artikel yang saya pelajari. Untuk dapat memahami dengan utuh, pembaca dapat merujuk pada tulisan aslinya. Untuk dapat memahami dengan mudah, tulisan ini akan saya sampaikan dalam beberapa sesi.

Suatu ketika kita akan dihadapkan dengan kondisi dimana kebutuhan port dengan jumlah pin yang tersedia pada sebuah mikrokontroller tidak sama. Dengan situasi lain, mungkin kita memiliki ide untuk dapat mengendalikan sebuah rangkaian logic dengan port mikrokontroller dengan jumlah sedikit. Pada kondisi ini, kita dapat menggunakan sebuah komponen yang memiliki prinsip serial to parallel. Sebagai contoh kasus, kita ingin mengontrol sebuah dot matrix display.

Artikel ini akan menjelaskan sedikit hasil eksperimen menggunakan port Atmel AVR dengan metode SPI dengan sedikit tambahan IC logic untuk mengedalikan LED dot matrix.

Apakah SPI

Umumnya sebuah mikrokontroller memiliki beberapa pin yang berfungsi sebagai port I/O dan sebagian lagi memiliki fungsi khusus seperti serial dan SPI yang digunakan untuk komunikasi. SPI memiliki tiga pin sinyal dan satu pin untuk memilih antara mengirim data dan menerima data. Transfer data sinkron berdasarkan sinyal clock yang mengikutinya secara sederhana. Eksperimen ini akan membantu untuk memahami cara kerja SPI, dengan menggunakan AVR ATmega88 sebagai master SPI dan beberapa komponen logic sebagai slave SPI.

Komponen Digunakan

1. 74HC595

74HC595 (HC595) adalah komponen yang memiliki fungsi sebagai shift register serial to parallel 8-bit. Beberapa pabrikan mengeluarkan komponen yang sejenis, dan pada eksperimen ini digunakan dari pabrikan Texas Instrumen dengan datasheet dapat dilihat disini.

2. Dot-matrix LED display

Pada eksperimen ini digunakan dot matrix LED untuk menampilkan cara kerja SPI. Komponen ini dapat dijumpai di toko elektronik terdekat. Pada eksperimen ini digunakan dua buah dot matrix dengan dua warna yaitu merah dan hijau, dengan mengacu pada datasheet didapatkan bahwa dot matrix adalah common katoda dengan Vf = 1,7V (merah) dan Vf=2,2V (hijau).

Berikut adalah library yang dapat digunakan pada Eagle.


(8×8 red-and-green LED, Eagle library)

(Anda dapat mendownload library dari url; → “8x8LED.lbr” made with Eagle 5.10.0 Linux)

Sekarang, perhatikan bagaimana mengendalikan LED grafik display. Secara sederhana, kita dapatkan 8 pin anoda untuk LED merah, 8 pin anoda untuk LED hijau, 8 pin untuk common katoda; jumlahnya adalah 24 bit. Dengan MCU yang berukuran kecil, kita akan kesulitan karena sedikitnya jumlah port. Pada artikel ini, kita akan menghubungkan 3 HC595 secara seri untuk membentuk shift register 24-bit dan mengontrolnya dengan SPI.

Bersambung…

Demikian, semoga bermanfaat.

Sumber:http://awawa.hariko.com/avr_spi_hc595_en.html

Membaca Suhu DS1820 dengan ATMega16


DS1ds1820820 adalah sensor suhu yang dikeluarkan oleh Dallas Semiconductor. Untuk membacanya menggunakan protokol 1 wire communication. Dimana hanya ada tiga kabel yang terdiri dari +5V, GND dan DQ (Data Input/Output). Datasheet DS1820 dapat diunduh DS18S20.

Keunggulan dari DS1820 adalah, output berupa data digital dengan nilai ketelitian 0,5 derajat Celcius sehingga mempermudah pembacaan oleh mikrokontroller.

Pada tulisan ini akan digunakan compiler CodeVision untuk membuat programnya. Pada CodeVision sudah tersedia fasilitas wizard untuk mempermudah pengguna dalam membuat program. Termasuk salah satunya adalah device DS1820. Sehingga kita tidak perlu susah payah membuat coding untuk membaca DS1820.

Rangkaian yang digunakan adalah berikut:

schematic

Penjelasan:


// DS1820 Temperature Sensor functions
 #include <ds1820.h>
 #include <stdio.h>
 #include <math.h>

fungsi untuk mendeklarasikan library yang akan digunakan.


// maximum number of DS1820 devices
 // connected to the 1 Wire bus
 #define MAX_DS1820 8
 // number of DS1820 devices
 // connected to the 1 Wire bus
 unsigned char ds1820_devices;
 // DS1820 devices ROM code storage area,
 // 9 bytes are used for each device
 // (see the w1_search function description in the help)
 unsigned char ds1820_rom_codes[MAX_DS1820][9];
 char lcd_buffer1[33],lcd_buffer2[33];
 unsigned char rom_codes[8][9];
 unsigned char temp, Suhu;

fungsi coding di atas adalah mendeklarasikan variabel yang akan digunakan.


ds1820_devices=w1_search(0xf0,ds1820_rom_codes);

baris dia tas berfungsi untuk mendeteksi jumlah device DS1820 yang terhubung.


sprintf (lcd_buffer1,"%-u DEVICE(S) DETECTED",ds1820_devices);
 lcd_clear();
 lcd_gotoxy(0,0);lcd_puts(lcd_buffer1);
 delay_ms(1500);

fungsi di atas untuk menampilkan jumlah device yang dideteksi.

 for (i=0;i<ds1820_devices;)
{        temp=ds1820_temperature_10(&rom_codes[i][0]);
sprintf (lcd_buffer1,"t%-u=%-i.%-u\xf8C\n\r",++i,temp/10,abs(temp%10));
 };
 sprintf (lcd_buffer2,"Status: Low");

lcd_clear();
 lcd_gotoxy(0,0);lcd_puts(lcd_buffer1);
 lcd_gotoxy(0,1);lcd_puts(lcd_buffer2);
 delay_ms(500);

fungsi: untuk membaca sensor DS1820 dan menampilkan hasil pada LCD 16×2

Untuk source code unduh disini.

Demikian semoga bermanfaat.

Membuat LED Flip-Flop dengan ATMega8535


Pada kesempatan kali ini kita akan belajar membuat sebuah contoh project sederhana dengan menggunakan LED yang dikontrol oleh chip mikrokontroller ATMega8535. Project yang akan kita buat adalah flip-flop. Sebuah contoh mengendalikan LED secara sederhana, yaitu dengan menyalakan dan mematikan secara bergantian diantara satu atau dua buah LED. Kenapa disebut sebagai flip-flop? karena adanya dua buah keadaan yang saling berlawanan atau berkebalikan.

Pada project ini, LED akan dimatikan dan dinyalakan secara bergantian sehingga akan memiliki dua buah keadaan yang berganti/berbeda.

Bagaimana Menyalakan Sebuah LED?

Sebuah lampu LED dapat dinyalakan dengan memberikan polaritas positif (+) dan Ground (0) pada masing-masing kaki. Sebuah LED memiliki dua kaki yang berbeda fungsi. Kaki Anoda yang biasanya lebih panjang ukurannya dan kaki Katoda yang memiliki ukuran lebih pendek. Lebih jelasnya, bisa ditunjukkan pada ilustrasi gambar berikut ini:

Biasanya masing-masing lampu LED memiliki karakteristik sendiri-sendiri. Misalnya nilai tegangan maksimum, warna dan ukuran yang berbeda-beda. Namun demikian, lampu LED biasanya memiliki standar yang sudah ditentukan. Pada sebuah rangkaian elektronika, lampu LED memiliki sebuah simbol yang unik, ditunjukkan dengan sebuah simbol yang mirip dengan diode atau tanda panah dengan sebuah garis didepannya, namun untuk lampu LED ditambahkan dua buah tanda panah arah keluar yang menunjukkan bahwa LED/diode tersebut mengeluarkan cahaya. Jika tanda panah menuju simbol maka dia menerima cahaya. Dalam rangakaian elektronika, LED digambarkan dengan sebuah simbol, biasanya LED diseri dengan sebuah resistor yang memiliki fungsi untuk membatasi nilai arus maksimum yang diperbolehkan untuk melewati LED guna menghindari kerusakan.

Jika dalam rangkaian tersebut di atas, dengan sumber tegangan (V) 3V dan resistor (R) 1K Ohm, maka arus yang akan mengalir melalui LED adalah sebesar: (3V/1000 Ohm) = 3mA. Dengan nilai arus 3 mA yang mengalir melalui LED, sudah cukup untuk membuat LED menyala.

Menyalakan LED dengan ATMega8535

Dengan prinsip yang sama dengan rangkaian diatas, maka kita bisa menyalakan sebuah LED dengan memberikan arus kepada LED. ATMega8535 setiap pin dapat berfungsi sebagai sumber arus untuk sebuah device. Arus yang dapat diberikan oleh chip ATMega8535 berdasarkan datasheet adalah sebesar 20mA pada Vcc = 5V dan 10mA pada Vcc = 3V. Arus ini cukup besar untuk menyalakan sebuah LED. Sehingga dalam rangkaian yang kita buat, perlu ditambah resistor limiter sebagai pembatas arus untuk menghindari kerusakan LED. Untuk menyalakan sebuah LED dengan ATMega8535, bisa menggunakan rangkaian seperti berikut:

Dengan menggunakan Code Vision kita bisa membuat code seperti berikut:

1. Buka Software Code Vision, kemudian Klik File –> New

2. Pilih File Type: Project kemudian klik OK

3. Klik Yes, kita akan menggunakan wizard dari Code Vision

4. Pada tab Chip, sesuaikan konfigurasi chip dan clock sesuai berikut

5. Pindah pada tab Ports, pilih tab Port B, kemudian klik pada Bit 0 sehingga akan menjadi Out.

6.Selanjutnya, pilih File — > Generate, Save & Exit

7. Pada source code, tambahkan #include<delay.h>

8. Kemudian tambahkan code berikut

PORTB.0=1; // menyalakan LED

delay_ms(500); // jeda 500ms

PORTB.0=0; // matikan LED

delay_ms(500); // jeda 500ms

9. Setelah itu, download file hex ke sistem minimum. Maka LED akan nyala-mati terus dengan jeda 500ms.

Semoga bermanfaat.

Code Template Flip-flop

Code Flip-flop

%d blogger menyukai ini: