Lazada Indonesia

Wednesday, September 21, 2011

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.

Tuesday, September 20, 2011

Informasi Kerja


Job title: Entry Level
Job function: IT/MIS, Web Developer
Job position: Web Designer
Work location: Jakarta
Level of education: Associate Degree
Major: Any
Communication Studies
Information Technology
Work experience: At least 1 year
Offering salary: Not specified
Requirements: - Required skills: Image slicing, Adobe Flash & Photoshop, HTML, CSS
- Experienced and understand PHP & MySQL Databases
- Working knowledge of PHP Frameworks is highly regarded
- Experienced in SEO & E-Marketing
Job description: - Image slicing & HTML mock up
- Managing all content of the sites
- Do SEO & E-Marketing for company websites

If you meet above requirements and interested with the position, please send your complete resume with current photo not exceed than 100 kb to:

hrssi@solusi.com
Posting date: 19 September 2011
Closing date: 26 September 2011

Company:
Sarana Solusindo Informatika
Industry:
Computer/IT
Contact person:
HRD
Company Web site:
http://www.solusi.com

Sunday, September 18, 2011

Interfacing LCD Omnima NXP LPC21xx Solomon SSD192x

LCD Omnima jenis ini bisa untuk menampilkan tulisan dan bisa menampilkan grafik. Karakter ataupun grafik yang ditampilkan dapat merupakan komposisi warna dari RGB. Sehingga dapat menampilkan warna sejumlah 256 macam warna. Resolusi screen yang dimiliki adalah 320×240 piksel.
LCD ini dapat diakses melalui interface Serial, I2C, GPIO. Untuk melakukan perintah yang diinginkan disediakan library, ada yang menyediakan juga library open source sehingga bisa digunakan pada OS Open Source.
Gambar dari sebuah memori file juga dapat ditampilkan dengan perintah-perintah tertentu. Selain itu, juga bisa digunakan sebagai display mini PC.
Pada kesempatan ini, saya mencoba menggunakan interface protokol serial, baik melalui hyperterminal maupun melalui mikrokontroller. Dan kedua-duanya menampilkan hasil yang tidak berbeda. Pada bagian akhir, saya lampiran contoh code dengan Code Vision AVR untuk menampilkan beberapa kalimat pada LCD omnima. Berikut adalah hasil dari interfacing dengan LCD Omnima.
Foto-Foto

Video


Source

Command Omnima, digunakan dengan hyperterminal.

Menampilkan Tulisan pada LCD 16×2 baris dengan ATMega8535

LCD (Liquid Crystal Display) merupakan salah satu perangkat display yang umum dipakai dalam sebuah system instrumentasi. Dengan LCD 16×2 baris kita bisa menampilkan sebuah informasi dari sebuah pengukuran data sensor, menu pengaturan instrument, ataupun yang lainnya. Dengan menggunakan CodeVision Wizard, kita dengan mudah dapat membuat tampilan display yang kita inginkan.
Pada kesempatan kali ini, akan diberikan contoh langkah membuat display dengan menggunakan LCD 16×2 baris. Ikutilah langkah berikut:
Buka program CodeVision

Pilih File –> New –> Project, kemudian klik OK

Pilih Yes, pada Confirm box
undefined
Pilih Chip dan Clock, pilih ATMega8535 dan X`tal yang dipakai

Pilih tab LCD, kemudian pilih LCD Port = PORTC, dan Chars/Line = 16

Pastikan koneksi antara Chip ATMega8535 dengan LCD seperti pada keterangan yang muncul dibawahnya.
Pilih File –> Generate, Save and Exit, kemudian simpan

Ketikan code berikut

Tambahkan code berikut

Tambahkan deklarasi berikut

Kemudian pilih Project –> Make
Download ke system minimum dan hasilnya seperti berikut
Foto
berikut adalah foto contoh program yang dibuat.

Video
berikut adalah video contoh program yang dibuat.

Code LCD 16×2 Baris
Demikian semoga bermanfaat.

Logging Data Suhu DS1820 dengan Matlab 2008





Matlab adalah singkatan dari Mathematic Laboratory, yaitu sebuah program yang dikembangkan dengan keunggulan penanganan operasi terkait dengan matematika. Saat ini matlab merupakan software paling popular yang digunakan untuk penanganan kalkulasi numerik dan desain sistem. Matlab merupakan bahasa pemrograman yang sangat optimal untuk komputasi matriks. Karena dalam toolbox matlab terdapat tool yang dapat digunakan untuk mendesain suatu system dan mensimulasikannya sehingga seorang engineer bisa mendapatkan data tanpa perlu melakukan eksperimen. Tentunya data yang didapatkan merupakan suatu data yang mendekati eksperimen berbeda dengan data eksperimen sesungguhnya. Dengan langkah ini, seorang engineer dapat menghemat waktu dan biaya dalam mendesain suatu system yang diinginkan.
Matlab sangat membantu kita dalam melakukan debug. Karena setiap langkah kita dapat melihat nilai variable yang ada. Setiap variable yang digunakan dalam program disimpan dalam sebuah workspace dan dilihat secara mudah. Dengan menggunakan matlab kita juga diberi kemudahan untuk mendesain sebuah program aplikasi berbasis grafik interface/GUI. Dengan menggunakan GUI, pengguna program aplikasi yang kita buat dapat lebih mudah mengoperasikannya.
Pada bahasan kali ini kita akan mencoba menggunakan beberapa fitur dari Matlab untuk membuat sebuah aplikasi data logger sederhana. Data logger secara mudah dapat dipahami sebagai sebuah alat/program yang digunakan untuk mencatat data selama proses pengukuran dilakukan. Data dapat dicatat/direkam saja ataupun juga sambil ditampilkan nilai pengukuran yang dilakukan. Pada dasarnya, dalam sebuah pengukuran terdapat tiga langkah yang pokok, yaitu mengukur, merekam/mencatat dan menampilkan hasilnya baik langsung ataupun setelahnya.
Pada kesempatan ini kita akan mencoba mendesain sebuah data logger suhu DS1820 produksi Dallas Semiconductor. Sensor suhu ini outputnya data digital yang tidak membutuhkan kalibrasi lagi. DS1820 menggunakan metode 1 wire dalam komunikasinya. Sehingga cukup menggunakan 3 jalur, yaitu: data (DQ), Vcc dan Ground. DS1820 juga dapat diatur melalui Alarm Signaling, yaitu dimana kita bisa mengatur suatu nilai batas, dimana jika nilai batas tersebut dilampau maka kita bisa mengetahui dengan membaca Alarmnya.
Kita juga akan menggunakan chip mikrokontroller AVR ATMega8535 untuk kontroler yang bertugas membaca suhu dan berkomunikasi dengan computer. Kita bisa menggunakan fasilitas wizard dari CodeVision® untuk membuat program di ATMega8535. Hal ini kita lakukan untuk mempermudah kita, karena kita akan bisa lebih focus pada pembuatan data loggernya. ATMega8535 dan computer akan berkomunikasi melalui serial.
Selanjutnya ikutilah langkah-langkah berikut untuk membuat sebuah data logger dengan Matlab.
Di Matlab, sebuah serial port termasuk kedalam sebuah object. Dimana untuk dapat menggunakannya kita harus menciptakan object tersebut dan melakukan pengaturan pada object tersebut. Untuk membuat sebuah object serial pada matlab kita ketik:
s1 = serial('COM1'); %kita menciptakan object s1 sebagai COM1
kemudian untuk mengetahui propeti dari object tersebut kita ketik:
get(s1,{'Type','Name','Port'})
ans =
'serial' 'Serial-COM1' 'COM1'
Selanjutnya kita atur nilai masing-masing property yang diperlukan. Pada kali ini kita perlu mengatur nilai baud rate, data bit, stop bit, dan input buffer size. Ketik:
set(s1,'BaudRate',115200,'DataBits',8,'StopBits',1,'InputBufferSize',16000)
kemudian untuk dapat menggunakan object serial, kita perlu menghubungkan object ke device serial sendiri. Ketik:
fopen(s1)
untuk membaca data dari serial kita menggunakan perintah:
A=fscanf(s1)
Maka data yang dibaca akan disimpan di variable A.
Untuk mengirimkan data ke serial kita menggunakan perintah:
fprintf(s1,'$ECTRUN');
setelah kita selesai menggunakan object serial, kita perlu memutus koneksi object dengan device, agar bisa digunakan oleh software lainnya. Ketik:
fclose(s1)
jika kita sudah tidak memerlukan object serial tersebut, kita harus menghapus object serial dari memori untuk mengembalikan memori. Ketik:
delete(s1)
Membaca Suhu dengan DS1820
Untuk membaca suhu dengan DS1820, maka kita dapat menggunakan software CodeVision®. Dengan menggunakan fasilitas wizard yang ada, kita dapat melakukannya dengan mudah. Ikuti langkah berikut untuk membuatnya.
1. Pada tab Chip, tentukan jenis chip dan X’tal yang akan digunakan. Pada kesempatan ini digunakan chip ATmega8535 dengan X’tal 11.05920 MHz


















2. Pada tab 1 Wire, pilih PORT yang akan digunakan sebagai koneksi komunikasi dengan sensor DS1820 dari combo 1 Wire Port. Kemudian check Enabled pada DS1820/DS18S20.


















3. Pada tab USART, check pada Transmitter dan pilih Baud Rate: 115200


















4. Selanjutnya pilih Generate, Save and Exit dari menu File
5. Lengkapilah script sehingga menjadi seperti berikut:
#include
#include
// 1 Wire Bus functions
#asm
.equ __w1_port=0x1B ;PORTA
.equ __w1_bit=0
#endasm
#include <1wire.h>
// DS1820 Temperature Sensor functions
#include
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include
#include
// Standard Input/Output functions
#include
// DS1820 Temperature Sensor functions
#include
// DS1820 Temperature Sensor functions
#include
/* maximum number of DS1820/DS18S20 connected to the bus */
#define MAX_DEVICES 8
/* DS1820/DS18S20 devices ROM code storage area, 9 bytes are used for each device
see the w1_search function description),but only the first 8 bytes contain the ROM code
and CRC */
unsigned char rom_codes[MAX_DEVICES][9];
int y,x, Status;
/* allocate space for ROM codes of the devices hich generate an alarm */
unsigned char alarm_rom_codes[MAX_DEVICES][9];
// Declare your global variables here
unsigned char i,devices;
int temp;
char lcd_buffer[33];
void main(void)
{
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 115200
UCSRA=0x00;
UCSRB=0x98;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x05;
// 1 Wire Bus initialization
w1_init();
// LCD module initialization
lcd_init(16);
// Global enable interrupts
#asm("sei")
/* detect how many DS1820/DS18S20 devices
are connected to the bus and
store their ROM codes in the rom_codes array */
devices=w1_search(0xf0,rom_codes);
/* display the number */
printf("%-u DEVICE(S) DETECTED\n\r",devices);
/* if no devices were detected then halt */
if (devices==0) while (1); /* loop forever */
while (1)
{
// Place your code here
temp=ds1820_temperature_10(&rom_codes[0][0]);
printf("%-i.%-u\n\r",temp/10,abs(temp%10));
lcd_clear();
sprintf (lcd_buffer,"Suhu:%-i.%-u%\xf8C",temp/10,abs(temp%10));
lcd_puts(lcd_buffer);
};
}
6. Maka hasilnya akan dapat dilihat pada bagian terminal CodeVision® yang menampilkan suhu
Membuat Data Logger di Matlab
Untuk dapat mengambil data dari mikrokontroller, maka kita perlu membuat sebuah object serial di matlab. Kemudian membaca data yang dikirimkan dari mikrokontroller dan menampilkannya pada sebuah grafik dan menyimpannya. Berikut adalah script matlab untuk membuat sebuah data logger sederhana dari data suhu DS1820, beserta keterangan.

%--menghapus semua variable yang ada di work space
clear all;
%--menutup semua figure yang terbuka jika ada
close all;
%--membuat sebuah figure yang akan digunakan sebagai tempat membuat grafik logging
figure(1);
clc;
%--membuat sebuah object serial pada matlab dan mengatur setting sesuai dengan setting
%--di mikrokontroller
fid = serial('COM4','BaudRate',115200,'DataBits',8,'StopBits',1,'InputBufferSize',16000);
%--membuka koneksi object dengan port serial
fopen(fid)
%--meminta user untuk memasukkan sejumlah nilai pengambilan data
SET = input('Masukkan jumlah data logging,Start Logging...............(PRESS------->Enter...!)');
clear A;
%--melakukan lopping sejumlah data yang dimasukkan
for i=1:SET
%--membaca data dari serial
data1=str2num(fscanf(fid));
if (data1>0)
title(['Data#= ' num2str(data1)]);
A(i)=data1;
%--menampilkan data dalam grafik
plot(A,'red');
axis([0 SET 0 100])
hold on;
pause(.5)
end
end
%--menutup koneksi dengan serial
fclose(fid)
%--menghapus object serial
delete(fid);
%--menyimpan data hasil pengukuran
save(‘data_pengukuran.mat’,’A’);
hasilnya adalah sebagai berikut:

Demikian sedikit contoh data logging menggunakan Matlab, selanjutnya data yang disimpan dapat diolah lebih lanjut. Semoga bermanfaat.


Rohmadi

Tuesday, April 19, 2011

Membuat GUI Hello World dengan Matlab

Matlab, seperti halnya software development lainya juga meyediakan fitur untuk membuat aplikasi yang user friendly. Yaitu suatu tampilan yang dapat memudahkan pengguna aplikasi dalam mengoperasikannya. Dalam Matlab, kita bisa menggunakan fitur Guide untuk membuat tampilan berbasi grafis.

Untuk membuka fitur ini, ketik pada Command Window:

guide

selanjutnya akan muncul displya seperti berikut:

kemudian pilih OK. akan muncul Window seperti berikut:

dibagian kiri, terdapat tool yang bisa dipakai untuk mendesain lay out tampilan yang diinginkan.

pada kesempatan kali ini, kita akan membuat sebuah GUI Hello Word yang bisa menampilkan teks.

Hello Word

Untuk menampilkan tulisan dalam aplikasi kita bisa menggunakan komponen Static Text. Melalui menu View –> Property Inspector, atur properties seperti berikut:

1. String: Hello Word!!

2. Font Size: 12

Buat tampilan menggunakan Static Text seperti berikut:

kemudian simpan pada folder Matlab\Hello Word:

beri nama Hello_Word (pemberian nama harus tanpa spasi)

selanjutnya Pilih Tools –> Run (Ctr+T).

Selamat Mencoba, semoga bermanfaat.

Rohmadi

Membuat GUI Hello Word dengan Matlab (2)

Sebelumnya kita telah membuat GUI Hello Word, kesempatan kali ini kita akan melanjutkan dengan latihan mengganti isi dari tulisan dalam Static Text.

Dalam latihan ini, buatlah GUI seperti berikut ini:

yang dibutuhkan untuk membuat tampilan ini adalah:

1. Static Text

- String: Hello Word

-FontSize: 12

2. Edit Text

- String: Word Hello

3. Push Button

- String: Update

pada komponen Push Button, klik kanan pilih View Callbacks –> Callback, ketikkan code berikut ini:

Tulisan=get(handles.edit1,’String’);

set(handles.text1,’String’,Tulisan);

Hasilnya akan seperti berikut:

Selamat Mencoba, semoga bermanfaat.

Rohmadi

Machine Learning: Membuat Prediksi Dengan Linear Regression

Membuat prediksi berdasarkan data-data yang sudah dimiliki diawal biasanya dalam bahasa inggris disebut  forecast . Misalnya berdasarkan dat...