Rabu, 05 Maret 2014

Cara Memasang Musik di Blog (Lagu Pilih Sendiri)

Cara Memasang Musik di Blog (Lagu Pilih Sendiri)
Memasang musik di blog selain untuk menambah rasa sepi di blog ternyata bisa juga untuk membuat visitor sendiri betah berlama-lama di blog anda, alasannya karena mereka ingin menyelesaikan lagu yang mereka dengar (kalau pas musik yang di dengar pengunjung sendiri memang pengunjungnya suka) hehehe. Saya sendiri pernah memasang musik di blog saya , tetapi saya kwatir akan ketenangan pengunjung blog yang suka konsentrasi dengan artikel , apalagi blog ini membahas tentang tutorial-tutorial blog yang saya dapatkan dari blog lain terus saya tulis dengan narasi versi sendiri di blog saya.

Tutorial blog menurut saya membutuhkan ketenangan agar mereka bisa fokus terhadap tutorial blog tersebut (ini cuma menurut saya ya, tapi kalau menurut anda sendiri saya tidak tahu) , tapi saya rasa pendapat orang berbeda-beda , jadi kita harus menghargainya.

Cara Memasang Musik di Blog ini saya sajikan khusus sesuai keinginan pemiliknya / Lagu Pilih Sendiri ,
berikut ini Cara Memasang Musik di Blog (Lagu Pilih Sendiri) :

1. Anda harus pergi ke alamat http://www.divine-music.info/ dan jika ingin tutorial blog yang keren, kunjungi www.leo-coolz.blogspot.com
2. Setelah itu anda tinggal memilih nama band yang anda suka , contoh "planet ajaib" akan memilih "Bruno Mars"

Cara Memasang Musik di Blog (Lagu Pilih Sendiri)

3. Setelah itu pilihlah salah satu judul lagu yang anda suka.
4. Kemudian , Copy dan Paste kode yang telah disediakan

Cara Memasang Musik di Blog (Lagu Pilih Sendiri)
5. Lalu letakan kode yang telah di copas di Dasbor Blogger > Tata Letak > Tambahkan Gadget
6. Simpan / Save dan lihat hasilnya

Demikianlah postingan kali ini tentang Cara Memasang Musik di Blog (Lagu Pilih Sendiri) , semoga postingan ini bisa dimengerti dan bermanfaat , Wassalamulaikum.

Bikin Speaker Box MP3 dari Radio Murah

Bikin Speaker Box MP3 dari Radio Murah


Sudah lama punya MP3 player mungil murah tapi jarang tak pake memutar musik. Malahan lebih banyak tak pake buat card reader saja. Beli karena liat promo di tokonya seharga 25 ribu rupiah. Dan yang terpikir waktu beli bisa sekalian buat card reader.

Dan sudah lama pula punya radio fm murah. Kalo gak salah sudah lebih dari 4 tahun dan harganya saat itu cuma 11 ribu rupiah. Waktu itu pas puasa buat teman bangun sahur. Meski akhirnya lebih banyak nganggur karena tak pernah sempat pula dengerin radio.
Nah, akhirnya dua-duanya saya kawinkan saja.... dan jadilah speaker box MP3 dalam proyek kali ini....

Sebenarnya tinggal menambah jack stereo, terus di solder pada kaki potensiometer radio, kemudian memutus jalur output radio yang ke potensiometer maka jadi. Tapi karena saya ingin reborn agar nantinya benar-benar berubah total maka radio saya rombak cuman diambil speaker mungil sama rangkaiannya saja lalu dipindah ke box lain. Di sini saya kepincut dengan wadah MP3 yang terbuat dari mika transparan berbentuk kubus. Menurut saya box ini lebih eksotik. Demi tujuan ini maka saya harus memotong PCB radio sehingga hanya menyisakan rangkaian power amplifiernya saja agar bisa fit ke dalam "rumah" barunya.

Peralatan yang digunakan selain solder beserta timah panasnya adalah solder "khusus" yang biasa saya pakai buat membolongi plastik. Memang seharusnya solder yang dipakai buat nyolder komponen jangan dipakai untuk keperluan lain separti buat membolongi plastik. Juga pisau cutter khusus yang dipanaskan pada kompor gas buat membentuk lubang kotak pemasangan baterai.Kemudian lem tembak buat masang speaker dan mengencangkan pcb rangkaian.

Bahan lain yang diperlukan adalah jack stereo lengkap dengan kabel input (kabel shielding stereo). kabel luar langsung disolder pada ground pcb rangkaian PCB, sedangkan 2 buah kabel dalamnya masing-masing disolder dulu dengan resistor 47 ohm kemudian kedua ujung resistor disatukan dan disolder pada kaki pinggir potensiometer yang tidak terhubung ke ground.

Untuk lebih jelas dan detilnya bisa liat gambar-gambar di bawah ini....
SALAM EKSPERIMEN ...!

Sistem Pakar

 
 
 
 
 
 
2 Votes

Berikut ini ada sedikit rangkuman mengenai materi sistem pakar :

Secara umum, sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli di bidangnya. Sistem pakar ini juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis pengetahuan tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu.
Ciri-Ciri Sistem Pakar
Sistem pakar yang baik harus memenuhi ciri-ciri sebagai berikut :
• Memiliki informasi yang handal.
• Mudah dimodifikasi.
• Dapat digunakan dalam berbagai jenis komputer.
• Memiliki kemampuan untuk belajar beradaptasi.
Keuntungan Sistem Pakar
Secara garis besar, banyak manfaat yang dapat diambil dengan adanya sistem pakar, antara lain :
1. Memungkinkan orang awam bisa mengerjakan pekerjaan para ahli.
2. Bisa melakukan proses secara berulang secara otomatis.
3. Menyimpan pengetahuan dan keahlian para pakar.
4. Meningkatkan output dan produktivitas.
5. Meningkatkan kualitas.
6. Mampu mengambil dan melestarikan keahlian para pakar (terutama yang termasuk keahlian langka).
7. Mampu beroperasi dalam lingkungan yang berbahaya.
8. Memiliki kemampuan untuk mengakses pengetahuan.
9. Memiliki reabilitas.
10. Meningkatkan kapabilitas sistem komputer.
11. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan mengandung ketidakpastian.
12. Sebagai media pelengkap dalam pelatihan.
13. Meningkatkan kapabilitas dalam penyelesaian masalah.
14. Menghemat waktu dalam pengambilan keputusan
Kelemahan Sistem Pakar
Di samping memiliki beberapa keuntungan, sistem pakar juga memiliki beberapa kelemahan, antara lain :
1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar di bidangnya.
3. Sistem Pakar tidak 100% bernilai benar.
Alasan Pengembangan Sistem Pakar, sistem pakar sendiri dikembangkan lebih lanjut dengan alasan :
• Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
• Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar.
• Seorang pakar akan pensiun atau pergi.
• Seorang pakar adalah mahal.
• Kepakaran dibutuhkan juga pada lingkungan yang tidak bersahabat.
Modul Penyusun Sistem Pakar
Menurut Staugaard (1987) suatu sistem pakar disusun oleh tiga modul utama yaitu :
1. Modul Penerimaan Pengetahuan (Knowledge Acquisition Mode) Sistem berada pada modul ini, pada saat ia menerima pengetahuan dari pakar. Proses mengumpulkan pengetahuan-pengetahuan yang akan digunakan untuk pengembangan sistem, dilakukan dengan bantuan knowledge engineer. Peran knowledge engineer adalah sebagai penghubung antara suatu sistem pakar dengan pakarnya.
2. Modul Konsultasi (Consultation Mode)
Pada saat sistem berada pada posisi memberikan jawaban atas permasalahan yang diajukan oleh user, sistem pakar berada dalam modul konsultasi. Pada modul ini, user berinteraksi dengan sistem dengan menjawab pertanyaan-pertanyaan yang diajukan oleh sistem.
3. Modul Penjelasan (Explanation Mode)
Modul ini menjelaskan proses pengambilan keputusan oleh system (bagaimana suatu keputusan dapat diperoleh).
Struktur Sistem Pakar, komponen utama pada struktur sistem pakar menurut Hu et al (1987) meliputi:
1. Basis Pengetahuan (Knowledge Base)
Basis pengetahuan merupakan inti dari suatu sistem pakar, yaitu berupa representasi pengetahuan dari pakar. Basis pengetahuan tersusun atas fakta dan kaidah. Fakta adalah informasi tentang objek, peristiwa, atau situasi. Kaidah adalah cara untuk membangkitkan suatu fakta baru dari fakta yang sudah diketahui.
2. Mesin Inferensi (Inference Engine)
Mesin inferensi berperan sebagai otak dari sistem pakar. Mesin inferensi berfungsi untuk memandu proses penalaran terhadap suatu kondisi, berdasarkan pada basis pengetahuan yang tersedia. Di dalam mesin inferensi terjadi proses untuk memanipulasi dan mengarahkan kaidah, model, dan fakta yang disimpan dalam basis pengetahuan dalam rangka mencapai solusi atau kesimpulan. Dalam prosesnya, mesin inferensi menggunakan strategi penalaran dan strategi pengendalian. Strategi penalaran terdiri dari strategi penalaran pasti (Exact Reasoning) dan strategi penalaran tak pasti (Inexact Reasoning). Exact reasoning akan dilakukan jika semua data yang dibutuhkan untuk menarik suatu kesimpulan tersedia, sedangkan inexact reasoning dilakukan pada keadaan sebaliknya.Strategi pengendalian berfungsi sebagai panduan arah dalam melakukan prose penalaran. Terdapat tiga tehnik pengendalian yang sering digunakan, yaitu forward chaining, backward chaining, dan gabungan dari kedua teknik pengendalian tersebut.
3. Basis Data (Data Base)
Basis data terdiri atas semua fakta yang diperlukan, dimana fakta fakta tersebut digunakan untuk memenuhi kondisi dari kaidah-kaidah dalam sistem. Basis data menyimpan semua fakta, baik fakta awal pada saat sistem mulai beroperasi, maupun fakta-fakta yang diperoleh pada saat proses penarikan kesimpulan sedang dilaksanakan. Basis data digunakan untuk menyimpan data hasil observasi dan data lain yang dibutuhkan selama pemrosesan.
4. Antarmuka Pemakai (User Interface)
Fasilitas ini digunakan sebagai perantara komunikasi antara pemakai.dengan komputer.
Teknik Representasi Pengetahuan
Representasi pengetahuan adalah suatu teknik untuk merepresentasikan basis pengetahuan yang diperoleh ke dalam suatu skema/diagram tertentu sehingga dapat diketahui relasi/keterhubungan antara suatu data dengan data yang lain. Teknik ini membantu knowledge engineer dalam memahami struktur pengetahuan yang akan dibuat sistem pakarnya. Terdapat beberapa teknik representasi pengetahuan yang biasa digunakan dalam pengembangan suatu sistem pakar, yaitu
a. Rule-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk fakta (facts) dan aturan (rules). Bentuk representasi ini terdiri atas premise dan kesimpulan.
b. Frame-Based Knowledge
Pengetahuan direpresentasikan dalam suatu bentuk hirarki atau jaringan frame.
c. Object-Based Knowledge
Pengetahuan direpresentasikan sebagai jaringan dari obyek-obyek. Obyek adalah elemen data yang terdiri dari data dan metoda (proses).
d. Case-Base Reasoning
Pengetahuan direpresentasikan dalam bentuk kesimpulan kasus (cases).
Inferencing dengan Rule : Forward dan Backward Chaining
Inferensi dengan rules merupakan implementasi dari modus ponen, yang direfleksikan dalam mekanisme search (pencarian). Dapat pula mengecek semua rule pada knowledge base dalam arah forward maupun backward. Proses pencarian berlanjut sampai tidak ada rule yang dapat digunakan atau sampai sebuah tujuan (goal) tercapai. w:st=”on”Ada dua metode inferencing dengan rules, yaitu forward chaining atau data-driven dan backward chaining atau goal-driven.
a. Backward chaining
• Menggunakan pendekatan goal-driven, dimulai dari ekspektasi apa yang diinginkan terjadi (hipotesis), kemudian mengecek pada sebab-sebab yang mendukung (ataupun kontradiktif) dari ekspektasi tersebut.
• Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka gunakan backward chaining.
b. Forward chaining
• Forward chaining merupakan grup dari multiple inferensi yang melakukan pencarian dari suatu masalah kepada solusinya.
• Jika klausa premis sesuai dengan situasi (bernilai TRUE), maka proses akan meng-assert konklusi.
• Forward chaining adalah data-driven karena inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh.
• Jika suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward chaining.

Selain materi diatas,ada sedikit soal & jawabannya, yang mungkin dapat membantu para downloader yang sedang membutuhkan materi ini :

1. Apa alasan mendasar dikembangkannya sistem pakar?
2. Apa perbedaan sistem konvensional dan sistem pakar?
3. Dalam kondisi apakah perlu dilakukan migrasi dari sistem konvensional ke sistem pakar?
4. Apa tujuan dari sistem pakar dan pemindahan kepakaran?
5. Dilihat dari struktur, apa perbedaan dari Human Expert dan Expert System?
6. Apa itu knowledge base dan peranannya dalam sistem pakar?
7. Apa yang sekiranya terjadi bila sistem pakar tidak memiliki knowledge base?
8. Apa itu working memory dan peranannya dalam sistem pakar?
Jawaban!
1. Alasan mendasar dikembangkannya sistem pakar adalah untuk     menggantikan tugas-tugas dari para ahli digantikan hanya dengan sebuah sistem, tanpa harus seorang ahli atau pakar bekerja di tempat tersebut.
2. Sistem konvensional merupakan sebuah sistem yang didapat secara manual dari hasil pemikiran seseorang yang dituangkan melalui sebuah metode atau cara-cara tertentu, sedangkan sistem pakar merupakan sebuah sistem yang didapat dari hasil pemikiran seseorang, kemudian dituangkan kedalam sistem komputerisasi dan digunakan secara langsung untuk mendapatkan penyelesaian dari suatu masalah.
3. Pada saat suatu kondisi Perusahaan yang menginginkan untuk maju, karena dengan masih adanya sistem konvensional maka perusahaan tidak akan berkembang. Karena sistem pakar ini mengikuti perkembangan dari suatu teknologi.
4. Tujuan nya adalah pengalihan keahlian dari para ahli ke media elektronik seperti komputer yang kemudian dialihkan lagi pada orang yang bukan ahli atau user.
5. Dilihat dari segi strukturnya antara Human Expert dan Expert Sistem sama-sama memiliki kedudukan yang sejajar, namun human expert lebih kepada skill dari individu tersebut, sedangkan expert sistem merupakan bagaimana sistem tersebut berjalan secara otomatis dari skill individu yang membuatnya.
6. Knowledge base adalah hasil representasi pengetahuan dari seorang atau beberapa pakar yang diperlukan untuk memahami, memformulasikan dan memecahkan masalah. Dalam hal ini digunakan untuk memecahkan masalah-masalah yang terjadi pada komputer.
7. Knowledge Based System digunakan untuk dapat membantu manusia dalam menyelesaikan masalah yang dihadapi dengan berdasarkan atas pengetahuan yang telah diprogramkan ke sistem tersebut. Untuk hal inilah maka  digunakan maka knowledge based system dalam memecahkan masalah yang berhubungan  dengan AI (Artificial Intelligent). Jika tidak terdapat knowledge base tersebut maka system pakar sulit untuk memecahkan masalah.
8. Working memori memiliki tugas untuk mengorganisasikan informasi, memberi makna informasi dan membentuk pengetahuan untuk disimpan di memori jangka panjang, sehingga disebut memori pekerja. Jadi working memory berisi informasi yang didapat  dari user dan kesimpulan yang didapat dari sistem (memori sementara).

Sabtu, 08 Juni 2013

Menampilkan data dengan 7 segment



Bingung nch mau ngapain minggu-minggu menunggu seminar skripsi akhirnya teringat ada temen kampus yang tanya tentang 7 segment mulai dech membongkar file-file di komputer tentang 7 segment yang udah sy buat dulu. ok sebelumnya kita harus tahu dulu apa itu seven segment. Ringkasnya 7 segment merupakan komponen yang berfungsi sebagai penampil karakter angka dan karakter huruf. 7 segment tersusun atas led-led. lihat gambar dibawah ini untuk lebih jelasnya.

Dari gambar diatas ada 2 jenis 7 segment yaitu common cathode dan common anode. perbedaanya cuma cara  menghidupkan 7 segment tersebut. Untuk common cathode pin kaki a b c d e f g harus diberi tegangan vcc dan pin gnd di hubungkan ke ground agar 7 segment menyala. Sedangkan untuk common anode pin a b c d e f g harus dihubungkan ke ground dan pin vcc di hubungkan ke vcc agar 7 segment menyala (lihat gambar diatas).


1. Project 1 (Menampilkan angka 0 - 9) 

Pada project 1 ini kita mengendalikan 7 segment ini menggunakan mikrokontroller. Buat rangkaian berikut ini bisa langsung menggunakan real mikrokontroller atau menggunakan proteus sebagai simulasi.



Komponen yang dipakai ATmega 8535 dan 7 segment jenis common cathode. pin a b c d e f g pada 7 segment dihubungkan di PORTC sedangkan pin gnd dihubungkan di PORTD 3 (port yang dipakai ini bisa anda rubah sesuai kebutuhan).

Selanjunya kita akan menuliskan angka 0 - 9 pada 7 segment dengan 7 segment berjumlah satu. Bagaimana caranya..? lihat skematik isi dari 7 segment pada gambar diatas. Untuk angka 1 maka yang perlu dihidupkan adalah pin b dan c pada 7 segment sehingga di mikrokontroller kita perlu mengeset PORTB 1 dan PORT B 2 dengan nilai 1 dan PORT D3 dengan nilai 0 ( PORTD 3 sebagai grn maka diberi nilai 0) , angka 2 yang perlu dihidupkan adalah pin a b  g e d pada 7 segment. demikian seterusnya sampai angka 9. program di CAVR sebagai berikut :
Spoiler :
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Automatic Program Generator
© Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 07/01/2013
Author  : Bayu Sasongko
Company : Teknik Elektro UNILA
Comments: 


Chip type               : ATmega8535
Program type            : Application
AVR Core Clock frequency: 12,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 128
*****************************************************/

#include <mega8535.h>
#include <delay.h>


void main(void)
{
PORTC=0x00;
DDRC=0xFF;

PORTD=0x00;
DDRD=0xFF;

while (1)
      {
        PORTC=0b00111111; //angka 0  
        delay_ms(100);
        PORTC=0b00000110; // angka 1
        delay_ms(100);
        PORTC=0b01011011; //angka 2
        delay_ms(100);
        PORTC=0b01001111; // angka 3
        delay_ms(100);
        PORTC=0b01100110; //angka 4
        delay_ms(100);
        PORTC=0b01101101; // angka 5
        delay_ms(100);
        PORTC=0b01111101; //angka 6
        delay_ms(100);
        PORTC=0b00000111; // angka 7
        delay_ms(100);
        PORTC=0b01111111; //angka 8
        delay_ms(100);
        PORTC=0b01101111; // angka 9
        delay_ms(100);
      }
}


Tampilannya


download project coding dan proteus disini
(login dulu ke account google anda untuk mendownload)

2. Project 2 (menampilkan angka sampai ribuan)

Pada project ini kita menggunakan 4 buah 7 segment yang mampung menampilkan nilai pada variabel tertentu. Buat rangkaian seperti dibawah ini :


Dari gambar diatas terlihat bahwa 7 segment terhubung paralel antara yang satu dengan yang lain. Dalam menampilkan data dengan susunan 7 segment seperti ini kita perlu menggunakan teknik scaning. apa itu teknik scaning...? kita kembali dulu pada project 1, pada project tersebut seandainya kita ingin menambah 7 segment tapi dilain port misal PORTD memang bisa tetapi hal itu tentu sangat boros. Bayangkan seandainya kita perlu menambah 4 seven seven segment, berapa port banyaknya yang kita butuhkan...? tentu banyak khan....karena 1 seven segment membutukan 8 PORT pada mikrokontroller. Maka untuk menghemat PORT kita menggunakan teknik scaning ini. Pada teknik ini sebenarnya yang kita kendalikan adalah kolom mana yang hidup. Ok lihat gambar diatas misal kita ingin menampilkan nilai 4657 maka pertama-tama kita kirimkan nilai 7 pada PORTC, maka dapat dipastikan bahwa keempat seven segment menunjukkan angka 7. namun yang kita inginkan adalah nilai satuannya maka kita kendalikan kolomnya yaitu dengan mengatur PORTD. Lihat seven segment yang kita ingin hidupkan hanya yang paling kanan (satuan) maka PORTD0 kita beri nilai 0 dan PORTD1,PORTD2,PORTD3 diberi angka 1 sehingga hanya seven segment yang paling kanan yang hidup. Begitu seterusnya untu seven segment yang menunjukkan angka puluhan maka PORTD1 diberii nilai 0 sedangkan PORTD yang lain 1. Untuk coding lengkapnya silahkan lihat dibawah ini :
Spoiler :
#include  <mega8535.h>
#include  <delay.h>
unsigned char angka[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int satuan,puluhan,ratusan,ribuan,data,data_temp;

void ambil_data()
{
data_temp=data;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10; 
}

void tampilkan_seven_segment()
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[satuan];
delay_ms(1);
           
PORTD.0=1;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[puluhan];
delay_ms(1);
             
PORTD.0=1;
PORTD.1=1;
PORTD.2=0;
PORTD.3=1;
PORTC=angka[ratusan];
delay_ms(1);
            
PORTD.0=1;
PORTD.1=1;
PORTD.2=1;
PORTD.3=0;;
PORTC=angka[ribuan];
delay_ms(1); 
}

void main(void)
{
data=4657;

PORTA=0x00;
DDRA=0xFF;

PORTB=0xFF;
DDRB=0x00;

PORTC=0x00;
DDRC=0xFF;

PORTD=0xFF;
DDRD=0xFF;

while (1)
      {
      ambil_data();
      tampilkan_seven_segment();             
      };
}


variabel data merupakan variable yang nilainya akan ditampilkan ke 7 segment. Silahkan anda coba ubah-ubah sesuai kebutuhan. Berikut tampilan screenshootnya:
download coding lengkapnya disini (Login ke account google anda terlebih dahulu sebelum men-downlod).
3. Project 3 (Counter up dan Counter down)

Sekarang rangkaian kita modif untuk counter up dan counter down. Tambah switch push button misal pada PORTB. Rubah DDRB menjadi intput (DDRB=0x00;) aktifkan internal pull up (PORTB=0xFF;). buat rangkaian seperti dibawah ini :


programnya sebagai berikut :

Spoiler :
#include  <mega8535.h>
#include  <delay.h>
unsigned char angka[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int satuan,puluhan,ratusan,ribuan,data,data_temp,x;   

void ambil_data()
{
data_temp=data;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10; 
}

void tampilkan_seven_segment()
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[satuan];
delay_ms(1);
           
PORTD.0=1;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[puluhan];
delay_ms(1);
             
PORTD.0=1;
PORTD.1=1;
PORTD.2=0;
PORTD.3=1;
PORTC=angka[ratusan];
delay_ms(1);
            
PORTD.0=1;
PORTD.1=1;
PORTD.2=1;
PORTD.3=0;;
PORTC=angka[ribuan];
delay_ms(1); 
}

void main(void)
{
data=0;

PORTA=0xFF;
DDRA=0x00;

PORTB=0xFF;
DDRB=0x00;

PORTC=0x00;
DDRC=0xFF;

PORTD=0xFF;
DDRD=0xFF;

while (1)
      {
      for(x=0;x<50;x++)   
        {
        ambil_data();
        tampilkan_seven_segment(); 
        }  
       
      if (PINB.0==0)
        {
        data++;
        if (data>9999)
            {
            data=0;
            }
        } 
      
      if (PINB.1==0)
        {
        data--;
        if (data<=0)
            {
            data=0;
            }
        }
           
      };
}

Screenshootnya seperti dibawah ini:



Download projectnya lengkap disini.

4. Project 4 (Menampilkan data ADC)

Selanjutnya kita modif rangkaian diatas untuk menampilkan data ADC ( analog to digital konverter). Dalam percobaan ini menggunakan potensiometer untuk mendapatkan tegangan output yang akan dirubah menjadi nilai digital. Buat rangkaian seperti dibawah ini :


Programnya sebagai berikut :


Spoiler :
#include  <mega8535.h>
#include  <delay.h>
unsigned char angka[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int satuan,puluhan,ratusan,ribuan,data,data_temp,x; 

#define ADC_VREF_TYPE 0x40

// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}  

void ambil_data()
{
data_temp=data;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10; 
}

void tampilkan_seven_segment()
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[satuan];
delay_ms(1);
           
PORTD.0=1;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[puluhan];
delay_ms(1);
             
PORTD.0=1;
PORTD.1=1;
PORTD.2=0;
PORTD.3=1;
PORTC=angka[ratusan];
delay_ms(1);
            
PORTD.0=1;
PORTD.1=1;
PORTD.2=1;
PORTD.3=0;;
PORTC=angka[ribuan];
delay_ms(1); 
}

void main(void)
{
PORTA=0xFF;
DDRA=0x00;

PORTB=0xFF;
DDRB=0x00;

PORTC=0x00;
DDRC=0xFF;

PORTD=0xFF;
DDRD=0xFF;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;

while (1)
      {
      
      data=read_adc(0);
      
      for(x=0;x<50;x++)   
        {
        ambil_data();
        tampilkan_seven_segment(); 
        }  
      };
}

Screenshoot hasilnya sebagai berikut:


Download Poject lengkap disini.

5. Project 5 (Menampilkan data sensor suhu LM35)

Setelah kita dapat menampilkan data ADC, sekarang kita naik lagi yaitu membuat termometer digital dengan sensor suhu LM35 dan menampilkannya dengan seven segment. Buat rangkaian seperti dibawah ini:


Programnya sebagai berikut :

Spoiler :
#include  <mega8535.h>
#include  <delay.h>

unsigned char angka[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
int satuan,puluhan,ratusan,ribuan,data,data_temp,x;

#define ADC_VREF_TYPE 0x40

// Read the AD conversion result
unsigned int read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Start the AD conversion
ADCSRA|=0x40;
// Wait for the AD conversion to complete
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCW;
}  

void ambil_data()
{
data_temp=data;
satuan=data_temp%10;
puluhan=(data_temp/10)%10;
ratusan=(data_temp/100)%10;
ribuan=(data_temp/1000)%10; 
}

void tampilkan_seven_segment()
{
PORTD.0=0;
PORTD.1=1;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[satuan];
delay_ms(1);
           
PORTD.0=1;
PORTD.1=0;
PORTD.2=1;
PORTD.3=1;
PORTC=angka[puluhan];
delay_ms(1);
             
PORTD.0=1;
PORTD.1=1;
PORTD.2=0;
PORTD.3=1;
PORTC=angka[ratusan];
delay_ms(1);
            
PORTD.0=1;
PORTD.1=1;
PORTD.2=1;
PORTD.3=0;;
PORTC=angka[ribuan];
delay_ms(1); 
}

void main(void)
{
PORTA=0x00;
DDRA=0x00;

PORTB=0xFF;
DDRB=0x00;

PORTC=0x00;
DDRC=0xFF;

PORTD=0xFF;
DDRD=0xFF;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;
SFIOR&=0xEF;

while (1)
      {
                
      data=read_adc(0)*0.488;

      for(x=0;x<100;x++)   
        {
        ambil_data();
        tampilkan_seven_segment(); 
        }  
      
      };
}

Hasilnya seperti dibawah ini :


Download project lengkap disini.

Membuat Pencuri Energi (Thief Joule)


Coba anda hubungkan baterai 1,5 V ke LED (bisa LED biasa atau LED yang super bright), kira-kira LED tadi menyala tidak.....? pasti jawabannya tidak menyala, kenapa? karena voltase baterai belum mampu mendrive tegangan LED. Lantas gimana caranya kita bisa menghidupkan lampu LED tadi hanya dengan 1 baterai 1,5 V....?
Tennang hal itu dapat kita atasi dengan rangkaian joule thief. Joule thief, apa itu ...? Joule thief bekerja seolah-olah kita mampu "merampok" energi dari baterai sehingga kita mendapatkan energi yang besar hanya dari baterai 1,5 V sehingga mampu membuat LED tadi hidup. OK langsung aja kita persiapkan alat-alatnya yaitu:
1. Resistor 1K
2. LED (super bright)
3. Transistor NPN (untuk jenisnya bisa apa aja misal 2N3904
4. Ferrid bundar ( buka lampu hemat energi yang sudah rusak, lihat didalamnya ada ferid berbentuk lingkaran, ambil juga kabel yang melingkarinya).
5. Kabel secukupnya atau bisa menggunakan project board
Rangkaian seperti gambar berikut :
Untuk Kumparan lihat gambar dibawah ini :





Setelah selesai, hubungkan rangkaian dengan baterai 1,5 V dan TAAADAAA.....lampu LED sekarang dapat hidup. Rangkaian diatas saya buat 2 dan ternyata mampu menyalakan 2 LED dengan sangat terang. silahkan anda kreasikan sendiri, anda bisa membuatnya untuk lampu emergency yang hemat.

Membuat Sistem Minimum Atmega8535



Apa itu sistem minimun ???
sistem minimum adalah rangkaian minimal dimana chip mikrokontroler dapat bekerja. Mikrokontroler Atmega8535 telah dilengapi dengan osilator internal, sehingga tidak diperlukan kristal atau resonator ekternal untuk sumber clock CPU.
Namun osilator ini maksimal 8Mhz jadi saya sarankan untuk tetap memakai kristal eksternal. Osilator internal oleh pabriknya disetting 1 Mhz , dan untuk merubahnya kita perlu merubah setingan Fuse bit, untuk pengaturan fuse bit perlu berhati-hati, sebab pengaturan ini begitu rawan  karena bila salah menyetingannya bisa menyebabkan mikrokontroler rusak, saya telah merusakkan 1 mikrokontroler. 


Sistem minimum AVR sangat sederhana dimana hanya menghubungkan VCC dan AVCC ke +5V dan GND dan AGND ke ground serta pin reset tidak dihubungkan apa-apa (diambangkan) . Chip akan reset jika tegangan nol atau pin RST dipaksa nol. ini merupakan sistem minimum tanpa memakai kristal. Untuk yang memakai kristal rangkaian diatas ditambah kristal pada pin XTAL1 dan XTAL2. Berikut sistem minimum yang memakai kristal(saya sarankan membuat yang pakai kristal)



rangkain diatas merupakan sistem minimum yang dipakai untuk mengendalikan LED. rangkaian diatas tinggal di trace bisa menggunakan deeptrace, eagle, proteus, atau program lainnya yang anda kuasai. Bagi yang malas bisa download trace buatan saya, softrware yang saya pake deeptrace 2009, silahkan download disini 

downloadernya dapat menggunakan downloader yang saya posting sebelumnya
berikut tampilan sistem minimum dalam deeptrace


Untuk prgram dan cara pengisian program saya jelaskan pada postingan berikutnya.

Menampilkan data dari mikrokontroler ke LCD 2x16


Adapun keterangan kaki LCD 2x16 yaitu sebagai berikut:




Untuk hubungan ke mikrokontroler, dalam hal ini kita menggunakan mikrokontroler Atmega8535, kita bisa menggunakan semua PORT baik PORT A, PORTB, PORTC maupun PORTD. Sekarang kita akan menghubungkan LCD ini ke PORTC dari mikrokontroler, berikut ini gambar koneksi antara mikro ke LCD 2x16

Disini kita menggunakan koneksi data 4 bit antara LCD dan mikro. Setelah selesai, membuat rangkaian diatas selanjutnya code program. kita terlebih dahulu membuat file header-nya. berikut file headernya. simpan dengan nama file lcd.h

/* ================================================================

 nama file = lcd.h
 pembuat = Bayu Sasongko, teknik elektro 2008
 deskripsi = file header LCD 4 bit

 file header ini digunakan untuk menampilkan karakter
 ke dalam lcd. copykan file lcd.c dan lcd.h ke dalam
 folder tempat proyek anda berada. untuk konektor LCD
 ke mikrokontroler ikuti aturan berikut ini:

  
  PIN LCD   PIN MIKRO

R/W  (5)   - Ground
VEE   (3)   -  Vcc
   
  RS   (4)     - 0
  EN  (6)  - 1  
  D4  (11) - 4  
  D5 (12) - 5  
  D6  (13) - 6 
  D7 (14) - 7  



  pin R/W hubungkan saja ke ground, karena hanya menggunakan mode
  write saja.
================================================================
*/

#define LCD_PORT PORTC // PORT yang digunakan untuk data
#define LCD_DDR DDRC

// bit used (low(D3-D0) or high nibble(D7-D4)
#define HIGH_NIBBLE // uncomment this if low nibble pin used

#define LCD_RS_PORT PORTC // control RS PORT pin

#define LCD_RS_DDR DDRC // control RS DDR pin

#define RS 0 // RS Pin


#define LCD_E_PORT PORTC // control E PORT pin

#define LCD_E_DDR DDRC // control E DDR pin

#define E 1 // E Pin



void lcd_init (void); // inisialisasi LCD

void goto_xy (uint8_t row,uint8_t column); // koordinat tempat karakter

void clrscr (void); // membersihkan display



Setelah itu kita juga perlu membuat file lcd.c, berikut ini codenya: 

#include <avr/io.h>
#include <stdio.h>
#include "lcd.h"

// used for printf operation
static int lcd_putchar(char c, FILE *stream);
static FILE mystdout = FDEV_SETUP_STREAM(lcd_putchar, NULL,
                                             _FDEV_SETUP_WRITE);
// delay
void delay_us(uint8_t us);

void clock_e (void)
{
LCD_E_PORT |= (1<<E);
delay_us(5);
LCD_E_PORT &= ~(1<<E);
delay_us(3);
}

void write_command(uint8_t command)
{
// clear RS pin
LCD_RS_PORT &= ~(1<<RS);
#ifdef HIGH_NIBBLE
LCD_PORT = (LCD_PORT&0x0f)|(command&0xf0);
clock_e();
LCD_PORT = (LCD_PORT&0x0f)|((command&0x0f)<<4);
clock_e();
#else
LCD_PORT = (LCD_PORT&0xf0)|((command&0xf0)>>4);
clock_e();
LCD_PORT = (LCD_PORT&0xf0)|(command&0x0f);
clock_e();
#endif
uint8_t i;
for(i=0;i<20;i++)
delay_us(100);
}

void lcd_init (void)
{
uint8_t i;
// delay 15 ms for LCD to power up
for(i=0;i<150;i++)
delay_us(100);
// set all data and control port as output
#ifdef HIGH_NIBBLE
LCD_DDR |= 0xf0;
#else
LCD_DDR |= 0x0f;
#endif
LCD_RS_DDR |= (1<<RS);
LCD_E_DDR |= (1<<E);
// clear RS pin
LCD_RS_PORT &= ~(1<<RS);

// 4 bit mode write squence
#ifdef HIGH_NIBBLE
LCD_PORT = (LCD_PORT&0x0f)|0x30;
#else
LCD_PORT = (LCD_PORT&0xf0)|0x03;
#endif
clock_e();
// 4.1 ms delay
for(i=0;i<41;i++)
delay_us(100);
clock_e();
// 100 delay
delay_us(100);
clock_e();
// 40 us delay
delay_us(40);
// 4 bit mode setting
// 4 bit 2 line 5 X 7 dot matrix
write_command(0x28);
// increment cursor after write byte
write_command(0x06);
// display on cursor off
write_command(0x0C);
clrscr ();
// set function for printf
stdout = &mystdout;
}

void goto_xy(uint8_t row,uint8_t column)
{
if (row == 1)
write_command (0x80 + column - 1);
else
write_command (0xC0 + column - 1);
}

void clrscr (void)
{
write_command(0x01);
}

static int lcd_putchar(char c, FILE *stream)
{
// set RS pin
LCD_RS_PORT |= (1<<RS);
#ifdef HIGH_NIBBLE
LCD_PORT = (LCD_PORT&0x0f)|(c&0xf0);
clock_e();
LCD_PORT = (LCD_PORT&0x0f)|((c&0x0f)<<4);
clock_e();
#else
LCD_PORT = (LCD_PORT&0xf0)|((c&0xf0)>>4);
clock_e();
LCD_PORT = (LCD_PORT&0xf0)|(c&0x0f);
clock_e();
#endif
// 2 ms delay
uint8_t i;
for(i=0;i<20;i++)
delay_us(100);
return 0;
}

void delay_us(uint8_t us)
{
TCNT0 = 257-us;
TCCR0 |= (1<<CS01);
loop_until_bit_is_set(TIFR,TOV0);
TIFR |= (1<<TOV0);
TCCR0 &= ~(1<<CS01);
}


atau silahkan download file lcd.h dan file lcd.c disini . kalau anda ingin merubah PORT nya misalnya mau ke PORTA ganti saja file lcd.h menjadi PORTA. Setelah file lcd.h dan lcd.c sudah jadi maka selanjutnya kita perlu me-load file tadi ke program avr studio


Selanjutnya di program utama kita perlu meng-include kan file header lcd.h kita ladi. kurang lebih begini tampilan program penampil teks ke LCD

get this widget here

LinkWithin

Related Posts Plugin for WordPress, Blogger...
Total Posts: 49
Total Comments: 0
get this
get this widget here
\
leo candra Puisi
by: leo coolz


SAHABAT

    Sahabat
    Walau kini kita tak slalu bersama
    Aku ingin kita selalu dekat

      Sahabat
      Walau kini kita jauh
      Aku ingin kita saling menghubungi

        Sahabat
        Kau tau betapa berharganya dirimu?
        Kau lebih berharga dari sebongkah emas

    Sahabat
    Kau tau kenapa?
    Karena mencari seorang sahabat seperti kau bukanlah hal yang gampang

      Sahabat
      Kini ku ucapkan “Aku akan selalu menjadi sahabatmu”
      Kini kau ucap juga di sana

By: leo candra situmorang


Read more...
Free Music Online
Free Music Online

free music at divine-music.info
eakNewLine]> Sumber : http://rahman-ciblog.blogspot.com/2013/05/cara-membuatmemasang-burung-twitter.html#ixzz2WGSrkig3
Sumber : http://rahman-ciblog.blogspot.com/2013/05/cara-membuat-komentar-admin-berbeda.html#ixzz2WGTOrIEB
Sumber: http://leo-coolz.blogspot.com/2013/05/cara-membuat-dan-mengubah-halaman-blog.html#ixzz2WFvvNdnz
Catatan: Sumber : http://leo-coolz.blogspot.com/2013/04/cara-membuatmemasang-kotak-like-fb-dan.html#ixzz2WGXaRQWU

Sumber : http://rahman-ciblog.blogspot.com/2013/04/cara-membuat-judul-blog-bergerak-dan.html#ixzz2WGUTweln

Make your own

English French German Spain Italian Dutch

Russian Portuguese Japanese Korean Arabic Chinese Simplified
Loading TOC. Please wait....


Loading TOC. Please wait....


Sumber : http://rahman-ciblog.blogspot.com/2013/06/cara-memasang-google-translate-di-blog.html#ixzz2WGRpBtI2

apa yang membuat anda terkesan setelah melihat http://leo-coolz.blogspot.com tinggalkan komentar anda !!!!!!

Leo Coolz Gembel © 2008 Template by:
SkinCorner
k
t
.
n
a
h
k
i
t
m
I
.
w
w
w
k
t
.
n
a
h
k
i
t
m
I
.
w
w
w
z
l
o
o
c
a
r
d
n
a
c
o
e
l