Senin, 05 Mei 2014


Rangkaian Minimum System Mikrokontroller ATmega 16/32/8535

untuk postingan ini saya akan share tentang rangkaian minimum system ATmega 16/8535. Sekilas saja penggunaan mikrokontroller dalam kehidupan sehari-hari dalam dunia elektronika memang bukan merupakan hal baru lagi. Sebagian orang khususnya dalam basic bidang elektro mungkin sudah banyak yang mengetahuinya. Namun bagi orang yang masih baru belajar dan belum banyak tau soal elektronika utamanya mikrokontoller ,artikel ini mungkin bisa sangat membantu. yah, saya harap begitu sekalian saling share ilmu bagi pembaca semua.

Langsung saja 

untuk mikrokontroller sendiri utamanya AVR ATmega 16/8535 sedikitnya membutuhkan beberapa komponen dibawah ini :
1 Mikrokontoller ATMega 16/32/8535
2 Capasitor nonpolar 22 pF
3 Crystal 12.000 Mhz
4 LM7805/7812
6 Switch button
7 Connector ISP
8 Resistor
9 PIN Header
10 Capasitor 1 nF
11 Socet IC

dan berikut adalah skematiknya,



Dari gambar diatas Nampak beberapa komponen minimum yang saya sebutkan diatas dan dimana letak komponen tersebut dalam rangkaian. Untuk pengendalian ADC, sebenarnya bukan menjadi system minimum tetapi untuk rangkaian tambahan untuk mengaktifkan fitur ADC dalam mikrokontroller. Selanjutnya saya akan share gambar layout PCB nya
Layout diatas digambar menggunakan software expressPCB. Untuk mendownloadnya klik disini.
Sekian dulu postingan kali ini, terimakasih . Like nya ditunggu gan !! :D




PROGRAM KONVERSI NILAI RESISTOR

Tugas, yah tugas merupakan rutinitas wajib kegiatan perkuliahan saya. Tiada hari tanpa tugas dan tiada tugas tanpa rasa capek. Nah, dibalik itu semua didapat ilmu yang tiada tara dan sangat memberi pengalaman khususnya saya.Bicara soal kuliah, saat ini saya kuliah di Universitas Negeri Malang tepatnya jurusan Teknik Elektro Untuk itu disini saya akan share tentang ilmu yang saya dapat dan moga memberi maanfaat juga bagi para pembaca.

oke, untuk mempersingkat waktu kita mulai saja. Tugas yang pertama adalah DPK (Dasar-Dasar Pemrograman komputer) 

Sekilas saja,
Resistor adalah sebuah komponen yang wajib diketahui oleh para siswa elektro maupun penghobi elektronika. Untuk mengetahui nilai resistansi resistor kita perlu mengetahui nilainya dari warna gelangya. Untuk mengetahui nilai resistansi atau mencari warna gelangnya. Kita harus menghafal tabel. Terkadang kita lupa mencari nilai resistor atau warna gelangnya. Bahkan mahasiswa jurusan teknik elektro tidak hafal kode resistor.
Program ini berfungsi membantu mencari nilai resistansi dan mencari warna gelangnya.  Salah satu program atau aplikasi yang bisa digunakan adalah program C++. Program ini dibuat untuk mempermudah mencari nilai resistansi dan identifikasi warna gelang.

#include <iostream>
#include <conio.h>
#include <string>
#include <math.h>
using namespace std;
      
void konversinilaikegelang()
{
       system ("cls");
       string gelang[10]={"hitam","coklat","merah","orange","kuning",
                      "hijau","biru","ungu","abu-abu","putih"}, gelang4 ;
       int nilair,gelang1,gelang2,gelang3,tol;
      
       cout<<"----------------------------------------------------------------\n";
       cout<<"\t\t\tInput Data\n";
       cout<<"----------------------------------------------------------------\n";
       cout<<"masukkan nilai resistor (ohm)\t= ";
       cin>>nilair;
       cout<<"masukkan nilai toleransi (%)\t= ";
       cin>>tol;

       if (nilair<100)
       {
              gelang1=nilair/10;
              gelang2=nilair%10;
              gelang3=0;
       }
      
       else if (nilair<1000)
       {
              gelang1=nilair/100;
              gelang2=(nilair-(gelang1*100))/10;
              gelang3=1;
       }

       else if (nilair<10000)
       {
              gelang1=nilair/1000;
              gelang2=(nilair-(gelang1*1000))/100;
              gelang3=2;
       }

       else if (nilair<100000)
       {
              gelang1=nilair/10000;
              gelang2=(nilair-(gelang1*10000))/1000;
              gelang3=3;
       }

       else if (nilair<1000000)
       {
              gelang1=nilair/100000;
              gelang2=(nilair-(gelang1*100000))/10000;
              gelang3=4;
       }

       else
       {
              cout<<"\nData yang anda masukkan salah !\n";
              getch ();
              return konversinilaikegelang();
      
       }

       switch(tol)
       {
              case 1 : gelang4="coklat"; break;
              case 2 : gelang4="merah"; break;
              case 5 : gelang4="emas"; break;
              case 10: gelang4="perak"; break;
              case 20: gelang4="tanpa_warna"; break;
              default:
              {
                     cout<<"\n\ndata yang anda masukkan salah !\n";
                     getch ();
                     return konversinilaikegelang();
              }
       }
       cout<<"\n----------------------------------------------------------------\n";
       cout<<"\t\t\tHasil Data\n";
       cout<<"----------------------------------------------------------------\n";
       cout<<"Warna Gelang \t\t\t= "<<gelang[gelang1]<<" "<<gelang[gelang2]<<" "<<gelang[gelang3]<<" "<<gelang4;
}

void konversigelangkenilai()
{
       system ("cls");
       struct
       {
              double nilai[5];
              long nilaitot;
              long tolmax;
              long tolmin;
              double tol;
              string warna;
              int ulang;
       }resistor;
      
       cout<<"----------------------------------------------------------------\n";
       cout<<"\t\t\tInput Data\n";
       cout<<"----------------------------------------------------------------\n";
       for (int x=1; x<=4; x++)
       {
       cout<<"masukkan warna gelang ke-"<<x<<" : ";
       cin>>resistor.warna;
       if                   (resistor.warna=="hitam")  {resistor.nilai[x]=0;}
       else if              (resistor.warna=="coklat") {resistor.nilai[x]=1;}
       else if              (resistor.warna=="merah")  {resistor.nilai[x]=2;}
       else if              (resistor.warna=="orange") {resistor.nilai[x]=3;}
       else if              (resistor.warna=="kuning") {resistor.nilai[x]=4;}
       else if              (resistor.warna=="hijau")  {resistor.nilai[x]=5;}
       else if              (resistor.warna=="biru")   {resistor.nilai[x]=6;}
       else if              (resistor.warna=="ungu")   {resistor.nilai[x]=7;}
       else if              (resistor.warna=="abu-abu") {resistor.nilai[x]=8;}
       else if              (resistor.warna=="putih")  {resistor.nilai[x]=9;}
       else if              (resistor.warna=="emas")   {resistor.nilai[x]=5;}
       else if              (resistor.warna=="perak")  {resistor.nilai[x]=10;}
       else if              (resistor.warna=="tanpa_warna") {resistor.nilai[x]=20;}
       else
              {
                     cout<<"Data yang anda masukkan salah !!!";
                     getch ();
                     return konversigelangkenilai();
              }
       }
       resistor.tol=resistor.nilai[4];
       resistor.nilaitot=(resistor.nilai[1]*10+resistor.nilai[2])*pow(10,resistor.nilai[3]);
       resistor.tolmax=((100-resistor.nilai[4])/100)*resistor.nilaitot;
       resistor.tolmin=((100+resistor.nilai[4])/100)*resistor.nilaitot;
      
       cout<<"\n----------------------------------------------------------------\n";
       cout<<"\t\t\tHasil Data\n";
       cout<<"----------------------------------------------------------------\n";
       cout<<"Nilai Resistor \t\t= "<<resistor.nilaitot<<" ohm";
       cout<<"\nToleransi \t\t= "<<resistor.tol<<" %";
       cout<<"\nResistansi Minimum \t= "<<resistor.tolmax<<" ohm";
       cout<<"\nResistansi Maksimum \t= "<<resistor.tolmin<<" ohm";
}
      
int main()
{
       int opsi, input;
       system ("cls");
       cout<<"±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±\n";
       cout<<"±±                                                        ±±\n";
       cout<<"±±       Program Konversi Nilai dan Warna Resistor        ±±\n";
       cout<<"±±         Programmed by: TeLung (Tegar & SuLung)         ±±\n";
       cout<<"±±                                                        ±±\n";
       cout<<"±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±\n\n";
      
       cout<<"\t\tTabel Kode Warna Resistor\n";
       cout<<"------------------------------------------------------------\n";
       cout<<"hitam   = 0\tcoklat = 1\tmerah = 2\torange  = 3\n";
       cout<<"kuning  = 4\thijau  = 5\tbiru  = 6\tungu    = 7\n";
       cout<<"abu-abu = 8\tputih  = 9\n";
       cout<<"\n\t\tTabel Toleransi Resistor\n";
       cout<<"------------------------------------------------------------\n";
       cout<<"coklat = 1 %\tmerah = 2 %\temas  = 5 %\n";
       cout<<"perak  = 10%\ttanpa_warna = 20 %\n\n";
      
       cout<<"\n\t\tPilihan Operasi :\n";
       cout<<"------------------------------------------------------------\n";
       cout<<"[1] Konversi Nilai Resistor ke Warna Gelang\n";
       cout<<"[2] Konversi Warna Gelang ke Nilai Resistor\n\n";
       cout<<"Pilih jenis operasi: ";
       cin>>opsi;
       do {
       switch (opsi)
       {
              case 1:       konversinilaikegelang(); break;
              case 2: konversigelangkenilai(); break;
              default :
                     {
                     system ("cls");
                     cout<<"----------------------------------------\n";
                     cout<<"    Data yang anda masukkan salah\n" ;
                     cout<<"----------------------------------------\n";
                     }
       }
       cout<<"\n\nUlangi Lagi?"<<endl;
       cout<<"[1] Kembali ke Menu Utama\n";
       cout<<"[2] Kembali ke Sub Menu Sebelumnya\n";
       cout<<"[3] Keluar Program\n\n";
       cout<<"Masukkan pilihan anda [1/2/3]: ";
       cin>> input ;
       }
       while (input==2)     ;
       if (input==1)return main();
       else if(input==3)
       {
              system ("cls");
              cout<<"\n*********Terimakasih Sudah Menggunakan Program*********"<<endl;
              getch();
              exit (1);
       }
       else
              cout<<"\ndata yang anda masukkan salah";
}

HASIL PROGRAM








mungkin sekian dulu dari saya yang bisa saya share dari tugas ini, moga pembaca juga mendapat manfaat juga. Terimakasih.. oh iya untuk judul program bisa kalian rubah sendiri sesuai nama kalian ;)