Membaca nilai ADC (Analog to Digital Converter) Ditampilkan dengan LCD 16×2

Asalamualaikum,
Halo para hobist elektronika, apa kabar…?
Baik-baik juga kan..? Kembali lagi dengan post terbaru, kali ini dengan tema yang berbeda tapi lanjutan dari post-post sebelumnya. Kali ini kita akan belajar bagaimana cara membaca nilai ADC, nahh sekarang apa sih ADC itu…? Oke, kita simak secara seksama penjelasan berikut ini 😀

Sebelum penjelasan lebih jauh mengenai ADC kita bahas tentang dua jenis sinyal dulu ya, yaitu sinyal analog dan sinyal digital. Sinyal analog adalah sinyal yang memiliki nilai variabel fisik yang berubah secara kontinu pada variabel indepenen-nya. Umum-nya variabel terbentuk variabel fisik, ucapan kita, dan suara musik gitar dan berbagai jenis alat musik yang kita dengar merupakan sinyal analog. Jadi semua sinyal analog kita temui dalam kehidupan kita sehari-hari.

Pada sisi lain, sinyal digital mempunyai variabel-variabel fisik-nya hanya ditentukan oleh nilai diskrit sesaat terhadap variabel-variabel independen-nya. Walaupun oleh mata manusia tampak-nya kontinu tetapi sebenar-nya sinyal ini berupa sinyal diskrit yang mempunyai pixel-pixel yang tersusun tidak kontinu.

Sinyal digital merupakan sinyal yang sangat penting karena semua sinyal yang direpresesntasikan dalam sistem-sistem digital, komputer dan mikrokontroler adalah dalam bentuk digital. Jadi ADC (Analog to Digital Converter) merupakan sebuah fasilitas yang ada pada mikrokontroller yang digunakan atau berfungsi untuk mengubah sinyal analog kedalam bentuk sinyal digital agar dapat dibaca oleh sistem digital mikrokontroller. Lebih jelas tentang perbedaan sinyal analog dengan sinyal digital adalah seperti apda gambar dibawah ini.

2

Gambar 1. Sinyal analog vs sinyal digital (sumber google)

Dalam aplikasi mikrokontroller yang akan kita pakai sinyal analog disini berupa tegangan refrensi yang diberikan dari 0 volt – 5 volt melalui pin vcc dan vreff. Kemudian sinyal ini akan diolah oleh fasilitas ADC yang ada pada mikrokontroller ATmega 16 (mikrokontroller yang saya gunakan paa tulisan ini) yang terdapat pada PORT A sebanyak 8 kanal ADC. Hanya dengan menggunakan pin inilah data ADC dapat di baca, namun fasilitas ini hanya dapat membaca 8 buat data ADC saja, untuk yang lebih dari 8 data ADC harus menggunakan komponen tambahan yaitu berupa IC Multiplekser, bahasannya pada tulisan saya yang berjudul “Membaca 8 buah sensor suhu LM 35 menggunakan multiplekser”.

Berikut rangkaian yang saya gunakan yang dibuat menggunakan Software Proteus, jika belum punya download dulu ya. hehehe :p

1

Gambar 2. Gambar konfigurasi rangkaian pembacaan ADC ATmega 16

Dan, berikut settingan pada Code Vision AVR, berhubung bahasa program yang saya gunakan adalah bahasa C jadi saya menggunakan compiler CV AVR dain infotech.

Gambar di atas adalah settingan yang saya gunakan pada LCD, dan untuk ADC mempunyai 2 resolusi yaitu 8 bits dan 10 bits, saya menggunakan 8 bits (ADC max 256) dengan cara mencentang Use 8 bits, jika ingin menggunakan 10 bit (ADC max 1024) tidak perlu di centang. Apabila menggunakan resolusi 8 bits berikut persamaan yang dipakai.

5

Selesai untuk pembahasan teori dan rangkaian, sekarang kita lanjutkan ke program menggunakan CV AVR.

/*****************************************************
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 : 08/14/2016
Author : Wayan Dadang
Company : Sains Lab
Comments:
Chip type : ATmega16A
Program type : Application
AVR Core Clock frequency: 11.059200 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include <mega16a.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>

int pot1, pot2;

unsigned char data[33];

// Alphanumeric LCD functions
#include <alcd.h>

#define ADC_VREF_TYPE 0x20

// Read the 8 most significant bits
// of the AD conversion result
unsigned char 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 ADCH;
}

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// USART disabled
UCSRB=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC Clock frequency: 691.200 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: ADC Stopped
// Only the 8 most significant bits of
// the AD conversion result are used
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS – PORTC Bit 0
// RD – PORTC Bit 1
// EN – PORTC Bit 2
// D4 – PORTC Bit 4
// D5 – PORTC Bit 5
// D6 – PORTC Bit 6
// D7 – PORTC Bit 7
// Characters/line: 16
lcd_init(16);

lcd_gotoxy(0,0);
lcd_puts(“Belajar ADC”);
lcd_gotoxy(0,1);
lcd_puts(“SEMANGAT”);
delay_ms(1000);

while (1)
{
// Place your code here

pot1 = read_adc(0); //Menyimpan data adc 0 kedalam variabel pot1
pot2 = read_adc(1); //Menyimpan data adc 1 kedalam variabel pot2

lcd_clear();
itoa(pot1,data); //konversi dari integer kedalam bentuk array
lcd_gotoxy(0,0);
lcd_puts(“ADC1 ADC2”);
lcd_gotoxy(0,1);
lcd_puts(data);

itoa(pot2,data);
lcd_gotoxy(6,1);
lcd_puts(data);
delay_ms(100);

}
}

Itu adalah program yang saya buat, mohon maaf kurang rapi, maklum masih dalam tahap belajar😀

Dan, ini video hasil simulasinya, semoga memberikan wawasan yang lebih.

Cukup sampai disini tulisan blog saya, semoga tulisan kecil saya ini bermanfaat untuk kita semua. Bingung atau ada pertanyaan, silahkan komen di komentar, kalo saya online pasti saya jawab:)
Copy paste boleh, jangan lupa camtumkan sumbernya.

*Danke Schon

*Salam Indonesia Raya dan Ilmuan Muda

Iklan

Membaca 8 Sensor Suhu LM35 menggunakan Multiplekser

Asalamualaikum,
Halo para hobist elektronika, apa kabar…?
Baik-baik juga kan..? Kembali lagi dengan post terbaru, kali ini dengan tema yang berbeda tapi lanjutan dari post-post sebelumnya. Sudah satu tahun blog saya ini tidak tersentuh, sudah hampir karatan dan banyak sarang laba-laba. hehehe 🙂

Ini video hasil simulasi yang saya buat, simulasi di buat dengan software Proteus 8.5.

Oke, langsung saja. Kali ini dengan post yang lebih canggih dan terbaru yaitu membaca 8 sensor suhu LM35 menggunakan Multiplekser. Apa multiplekser itu…? Kenapa pakai multiplekser…? Mungkin 2 pertanyaan inilah yang timbul saat membaca judul di atas. Sebuah rangkaian multiplekser akan menerima N masukan dan meneruskan satu dari N masukan tersebut. Pemilihan masukan mana yang diteruskan melalui M masukan control. Sebuah multiplekser dengan M masukan control dapat menangani hingga 2M masukan.

2

Gambar diagram blok multiplekser.

Rangkaian multiplekser yang paling sederhana adalah multiplekser dengan 1 masukan control, sehingga hanya ada 2 macam masukan yang bisa diteruskan salah satunya. Multiplekser ini dinamakan multiplekser 2-ke-1, perhatikan tabel kebenaran dan gambar berikut :

Tabel kebenaran multiplekser 2-ke-1

3

4

Multiplekser 2-ke-1

Penampakan IC multiplekser beserta datasheet pin yang akan kita gunakan pada artikel ini adalah sebagai berikut :

Gambar IC multiplekser CD4051B buatan Texas Instruments beserta datasheet pinnya.

4051tab

Tabel fungsi IC multiplekser CD4051B buatan Texas Instrument.

Oke, selesai untuk IC multipleksernya. Sekarang kita lanjut ke IC LM35 yang akan kita gunakan sebagai sensor suhu dalam artikel kita ini. Apa itu sensor LM35…? Sensor suhu LM35 merupakan sensor sirkuit terpadu yang sangat presisi yang outputnya sangat linier dengan suhu derajat celcius. Sensor ini dapat mengukur suhu dari -55 derajat celcius sampai dengan 150 derajat celcius. Konsumsi arus yang sangat kecil yaitu hanya 60 uA. Selengkapnya pada gambar dibawah ini untuk datasheet sensor LM35.

Datasheet lengkap sensorsuhu LM35 dari National Semiconductor.

Oke, selesai untuk pembahasan sensor suhu LM35 dan IC multiplekser CD4051B, saatnya kita ke pembahasan inti. Dalam tulisan ini saya menggunakan Mikrokontroller ATmega 16, untuk datasheet silahkan download di google saja ya. Berikut rangkaian yang saya gunakan untuk simulasi:

1

Dalam rangkaian tersebut saya menggunakan 8 buah sensor LM35 dan dengan bantuan IC multiplekser CD4051B saya cukup menggunakan 1 pin ADC pada mikrokontroler ATmega 16. Hal ini dapat menghemat penggunaan pin dan dapat digunakan untuk lebih banyak membaca sensor suhu. Crystal osilator eksternal yang saya gunakan adalah sebesar 11.059200 MHz.

Selanjutnya kita lanjutkan ke pemrograman, bahasa yang saya gunakan adalah bahasa C dengan menggunakan compiller Code Vision AVR.

Berikut setting pada code wizard cv avr yang saya gunakan, klik gambar untuk memperbesar :

Dan, berikut adalah script prgram yang saya buat untuk membaca dan menampilkan nilai suhu ke LCD simulasi.

/*****************************************************
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 : 08/01/2016
Author : Wayan Dadang
Company : Sains Lab
Comments:
Chip type : ATmega16A
Program type : Application
AVR Core Clock frequency: 11.059200 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/

#include <mega16a.h>
#include <stdio.h>
#include <stdlib.h>
#include <delay.h>
unsigned char buff[33],buff1[33],buff2[33],buff3[33],buff4[33],buff5[33],buff6[33],buff7[33];
unsigned char looper;
unsigned char temp;
unsigned int sensor_data[8];
float suhu_celcius[8];

// Alphanumeric LCD functions
#include <alcd.h>
#define ADC_VREF_TYPE 0x00

// 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;
}

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=T State4=T State3=T State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0x07;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=0xFF
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// USART disabled
UCSRB=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

// ADC initialization
// ADC Clock frequency: 691.200 kHz
// ADC Voltage Reference: AREF pin
// ADC Auto Trigger Source: ADC Stopped
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x84;

// SPI initialization
// SPI disabled
SPCR=0x00;

// TWI initialization
// TWI disabled
TWCR=0x00;

// Alphanumeric LCD initialization
// Connections are specified in the
// Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
// RS – PORTC Bit 0
// RD – PORTC Bit 1
// EN – PORTC Bit 2
// D4 – PORTC Bit 4
// D5 – PORTC Bit 5
// D6 – PORTC Bit 6
// D7 – PORTC Bit 7
// Characters/line: 20
lcd_init(20);

while (1)
{
// Place your code here

for (looper = 0; looper < 8; looper++)
{

temp = PORTB;
temp &= ~0x07;
temp |= looper;
PORTB = temp; // set low 3 bits of PORTB to multiplexor selector

sensor_data[looper] = read_adc(0);
suhu_celcius[looper] = (float)sensor_data[looper]*500/1023; //rumus untuk mengubah kedalam derajat celcius

}

ftoa(suhu_celcius[0],0,buff);
ftoa(suhu_celcius[1],0,buff1);
ftoa(suhu_celcius[2],0,buff2);
ftoa(suhu_celcius[3],0,buff3);
ftoa(suhu_celcius[4],0,buff4);
ftoa(suhu_celcius[5],0,buff5);
ftoa(suhu_celcius[6],0,buff6);
ftoa(suhu_celcius[7],0,buff7);

lcd_clear();
lcd_gotoxy(0,0);
lcd_puts(“==Sensor Suhu MUX==”);
lcd_gotoxy(0,1);
lcd_puts(“T1= T2= T3=”);
lcd_gotoxy(0,2);
lcd_puts(“T4= T5= T6=”);
lcd_gotoxy(0,3);
lcd_puts(“T4= T5=”);
lcd_gotoxy(3,1);
lcd_puts(buff);
lcd_gotoxy(9,1);
lcd_puts(buff1);
lcd_gotoxy(15,1);
lcd_puts(buff2);
lcd_gotoxy(3,2);
lcd_puts(buff3);
lcd_gotoxy(9,2);
lcd_puts(buff4);
lcd_gotoxy(15,2);
lcd_puts(buff5);
lcd_gotoxy(3,3);
lcd_puts(buff6);
lcd_gotoxy(9,3);
lcd_puts(buff7);
delay_ms(100);

}
}

Itu adalah program yang saya buat, mohon maaf kurang rapi, maklum masih dalam tahap belajar 😀

Cukup sampai disini tulisan blog saya, semoga tulisan kecil saya ini bermanfaat untuk kita semua. Bingung atau ada pertanyaan, silahkan komen di komentar, kalo saya online pasti saya jawab:)
Copy paste boleh, jangan lupa camtumkan sumbernya.

*Danke Schon

*PhD

 

Refrensi :

  1. Ebook diktat Mata Kuliah Elektronika Digital semester 5
  2. Data Sheet LM 35

KONSPIRASI BUMI DATAR (Pada hal bumi itu adalah BULAT, kita tidak mungkin melihat bumi itu bulat karena horison kita)

Oke, beberapa hari ini, beberapa bulan ini atau sudah lebih, itu sepengetahuan saya. Dan beberapa hari kemarin ada temen yang hampir percaya kalo bumi itu datar. Kalau bumi datar, intinya dimana…? Kan aneh, apalagi di video FLAT ERATH 2 ada pernyataan ‘GPS tidak menggunakan satelite. Kemudian ditampilkan di video pernyataan dari Google bahwa akses My location(beta) pada Google Map tidak menggunakan GPS, sehingga handphone hanya akan mengakses tower sinyal telepon saja. Jelas-jelas Google map pakai GPS dan sistem satelit, kog dibilang dari tower :v

Baiklah, saya akan menjelaskan kenapa bumi datar secara sekilas pada saat posisi kita di bumi. Dalam ilmu fisika dan matematika ada yang namanya ‘HORISON’ atau dikenal sebagai batas titik pandang. Maksudnya adalah jarak terjauh yang mampu kita lihat ke arah depan, misalnya 1 KM, 2 KM, 3, KM, dst tergantung tingginya kita terhadap jari-jari bumi.

1

Gambar diatas merupakan gambar pemodelan horison.

Well lanjut, sekarang saya akan menjelaskan bagaimana cara mengetahui atau menghitung horison ini, horison dapat kita hitung dengan menggunakan rumus segitiga Phytagoras yaitu sebagaimana kita ketahui bahwa R radius bumi adalah 3m. Sekarang kita buat sebuah segitiga Phytagoras untuk mencari horison, bayangkan kita lagi berdiri di atas bumi saat itu anggap lagi mau nangkep pokemon, ya pokemon, kenapa pokemon…? Sekarang lagi trend game pokemon go. Kita berdiri terhadap radius bumi sebesar R = 3m dan ditambah dengan tinggi kita h = 170 cm (misal tinggi saya 1,7 m). Kemudian horison saya kita anggap d (jangkauan jarak pandang saya).

4

Gambar diatas merupakan gambar segitiga Phytagoras.

Kita buat persamaan phytagoras untuk mencari horison ini dengan persamaan dasar phytagoras yaitu 6. Kemudian dengan menggunakan beberapa variabel yang kita ketahui dapat kita katakan secara bahasa bahwa nilai 10 merupakan kuadrat dari radius (R) bumi dijumlahkan dengan tinggi saya (h) atau 11. Kemudian 8 kuadrat dari R 13 atau radius bumi untuk salah satu sisi segitiga, Nah 9 merupakan kuadrat dari horison kita atau . Secara matematis dapat kita tulis persamaan menjadi 16. Oke sekarang kita dapatkan persamaan horisonnya, kita sederhanakan lagi menjadi 17.

Kita ke contoh perhitungan, anggap soal ini mencari horison saya sendiri dengan tinggi h saya apabila berdiri di atas bumi adalah 170 cm (1,7 m). Kita gunakan rumus d yang telah kita tulis tadi untuk mencari berapa horison saya 17 data seperti h dan R kita masukkan kepersamaan untuk mendapatkan nilai horison 20 dan hasil perhitungannya adalah 4.654,18 m atau 4,6 KM. Semakin tinggi titik berdiri saya terhadap jari-jari bumi maka semakin jauh pula jangkauan horison saya.

Sekarang kita bandingkan saja jari-jari bumi adalah 3m sedangkan horison saya adalah 4.654,18 m. Itu artinya perbandingan radius bumi dengan horison saya adalah 1.369 : 1. Horison saya hanya sebanding dengan angka jari-jari tersebut itu artinya jarak yang sangat jauh, mustahil bagi saya untuk melihat bumi itu bulat karena keterbatasan horison saya ini.

Oke, sekarang kita bgandingkan dengan sebuah bola basket ambillah bola basket yang kelilingnya adalah k = 75 cm dengan jari-jari nya adalah r = 12 cm atau r = 0,12 m perhitungan dengan rumus keliling 21 atau 23. Dapat kita bandingkan dengan rumus perbandingan bahwa antara bola basket dengan bumi 1 :  53.091.667 (perbandingan jari-jari bola basket dengan jari-jari bumi). Sekarang kita cari berapa tinggi saya terhadap bola basket tersebut. Dapat kita cari dengan rumus perbandingan bola dan bumi sama dengan perbandingan kita terhadap bola, kita cari dari perbandingan diameter bumi dengan diameter bola. Secara matematikanya 24. Didapatlah nilai x nya 25atau hanya 32 nm (nano meter). Itulah hasilnya tinggi saya terhadap bola basket adalah 32 nm, dan itu sangat kecil sekali, dan sangat mustahil sekali saya dapat melihat bola itu bulat. Jadi kalau kita ingin melihat bumi itu bulat maka kita juga harus lebih tinggi dari jari-jari bumi, contohnya ke ISS (International Space Station) milik NASA.

Cukup samapai disitu tulisan saya mengenai horison, kalau ada masukkan dan saran sangat saya terima sekali, bila ada yang salah perhitungan mohon disampaikan di kolom komentar. Semoga bisa menambah ilmu.

By : Wayan Dadang, Teknik Elektro UNSRI, 2013.
Ph.D

Telaah Disiplin Keilmuan Fisika Elektro Statis Tentang Kebakaran Hutan

13913-kebakaranhutan-kalimantan-tersangka-pembakaran-hutan-kotawaringin-timur

Oke, kembali lagi ketulisan saya, kali ini agak berbeda topiknya, tapi masih seputar fisika kog :). Penjelasannya yang ringan saja, tidak sampai pada perumusan dan struktur matematisnya 🙂

Pada saat terjadi musim kemarau yang panjang seperti sekarang, banyak sekali timbul permasalahan sosial masyarakat. Seperti yang kita saksikan sekarang kebakaran hutan dimana-mana yang disebabkan oleh tangan yang tak bertanggungjawab. Kerugian lahan yang besar tidak dapat kita hindari sama sekali, hutan lindung, hutan gambut, dan juga hutan lahan milik tani habis dilahap api. Ganasnya si-jago merah (red:api) seolah-olah tanpa dosa melahap seluruh itu hingga habis dan meninggalkan abu saja.

Dari permasalahan tersebut, kira-kira apa gerangan yang membuat hutan bisa terbakar dengan mudahnya? Hutan adalah media vital penopang kehidupan manusia, bisa kita bayangkan bagaimana hutan yang biasanya memproduksi oksigen dan seketika memproduksi asap yang membuat napas tersenga-sengal karena sesak. Banyak sekali faktor yang tidak kita ketahui secara mendalam. Kebakarann hutan tidak terjadi dengan hanya campur tangan manusia saja, bisa saja faktor alam itu sendiri.

Yang kita ketahui saat ini adalah hutan terbakar karena dibakar oleh manusia, baik itu dibakar secara langsung maupun melalui puntung rokok yang dibuang sembarangan. Sebenarnya tidak hanya dua faktor diatas saja, bisa saja terjadi karena proses fisika. Whay…? Kenapa sampai proses fisika..?

Daun yang kering memiliki kemungkinan terbakar yang sangat tinggi, tidak hanya bahan bakar minyak saja, daun yang keringpun bisa sama nilai cepat bakarnya apabila tingkat kekeringannya sangat tinggi. Pada saat musim panas saat ini, pohon akan mengurangi penguapan, itu artinya pohon-pohon akan menggugurkan daunnya agar proses fotosintesis tidak banyak mengeluarkan uap air. Disinilah kenapa daun-daun akan sangat cepat terbakar, daun ditanah bertambah jumlah dari biasanya, dan hal ini akan memudahkan proses pembakaran dari helai-helai daun ke daun beikutnya, namun apabila nilai panas sudah membuat struktur daun garing, maka kebakaran besar yang menghabiskan hektar hutan tidak bisa dihindari.

Oke, faktor fisikanya adalah tentang fisika elektrostatis, dimana muatan listrik dikumpulkan pada suatu penampang dengan jumlah besar, dan apabila terjadi gesekan kebenda yang bermuatan berlawanan maka akan terjadi percikan api. Apabila dihutan yang kering seperti ini ada bahan karet yang bermuatan elektrostatis saja yang nilai muatannya besar oleh karena faktor alam, maka disuatu saat ada benda bermuatan sebaliknya, maka percikan api akan timbul dan percikan api inilah yang dapat membakar daun-daun kering di hutan. Daun kering pada saat musim kemarau sangat mudah sekali terbakar, percikan api pun dapat membakar daun.

Ada alasan tersendiri bahan elektrostatis ini sangat berbahaya, banyak hal terjadi misalnya seseorang memakai sepatu berbahan karet kemudian menginjak karpet saat itupula terjadi kebakaran pada karpet tersebut. Saat mengisi bahan bakar minyak di SPBU, sinyal handphone yang bermuatan listrikpun dapat membakar uap bensin. Ingat listrik selalu ingin mengalir dari tempat bermuatan tinggi ke bermuatan rendah, contoh nyatanya adalah peristiwa terjadinya petir.

Mobil pembawa minyak, kenalpot harus didepan, dan karet pelindung ban dibuat menyentuh tanah, alasannya adalah supaya medan listrik statis yang terkumpul di karet tersebut dapat mengalir ketanah, atau di groundingkan, agar tidak menimbulkan percikan api yang dapat menyebabkan ledakan.

Jadi, apabila dilihat dari penjelasan itu, maka kita manusia harus sangat berhati-hati sekali, jangan sembarangan membuat bahan-bahan yang dapat menimbulkan muatan elektrostatis, seperti misalnya yang banyak terdapat dimasyarakat adalah bahan karet untuk ban kendaraan. Selain itu kepudilian terhadap lingkungan, memasang papan peringatan, penguatan undang-undang tentang pembakaran hutan, serta tidak membuang puntung rokok sembarangan.

Itu saja tulisan saya, semoga bermanfaat, bila ada salah atau kurang silahkan tulis di kolom komentar, tentunya komentar yang bersifat membangun sangat saya butuhkan, demi semakin baiknya tulisan di blog ini.

Running LED panjang sampai ratusan bahkan ribuan LED

Asalamualaikum,
Halo para hobist elektronika, apa kabar…?
Baik-baik juga kan..? Kembali lagi dengan post terbaru, kali ini dengan tema yang berbeda tapi lanjutan dari post-post sebelumnya. Yaitu lanjutan tentang running LED yang sudah pernah saya post beberapa waktu lalu. Mungkin diantara teman-teman ada yang bertanya, bagaimana cara membuat running tidak hanya bisa menampilkan 10 LED saja, hal ini akan kurang berkreasi apabila kita ingin nampilan tulisan huruf yang lebih dari 10 huruf. Nah berhubungan dengan itu saya ada pemecahannya nih, kita cukup menyediakan beberapa buah IC dan beberapa komponen tambahan, cara penyambungannya lihat skema yang saya buat aja ya, untuk cara kerja silahkan carikan sendiri dengan cara mempraktikkan langsung. Skema tidak jauh berbeda dari running LED sebelumnya hanya saja karena menggunakan beberapa buah IC maka pengkabelannyapun akan bertambah banyak.

Langsung saja kita ke skemanya.

Running LED Panjang1

Silahkan klik gambar untuk memperjelas dan memperbesar. Untuk clock atau pewaktunya tetap pakai IC timer NE555, mau pakai clock yang lain juga boleh, tergantung kreasi masing-msaing.

Untuk Komponen-komponen yang dibutuhkan adalah sebagai berikut ini:

1. IC NE555 (1 buah)

2. Capasitor elektrolit 100 uF (1 buah)

3. Resistor 1 K Ohm (1 buah)

4. Potensometer/Variable Resistro 10 K Ohm (1 buah)

5. Resistor 220 Ohm (2 buah)

6. LED hijau 5 mm (1 Buah)

7. LED merah 5 mm (1 buah)

8. IC 4017 (1 buah)

9. Batre 9 Volt (1 buah)

10. Dioda 1N4002 (4 buah) tergantung banyak IC yang digunakan pada rangkaian yang saya buat 4 dioda cukup.

11. Resistor 100 K Ohm (2 buah)

Berikut datasheet IC NE555 dan IC 4017

555_1imagesUntuk tahap perakitan real nya pada IC 4017 unyuk LED 1 harus disambungkan dengan kaki 3 atau Q0 pada datasheet dan LED 2 pada kaki 2 atau Q1 dan led ke 10 pada kaki 11 atau Q9, ingat outputnya tidak linier jadi cari satu-satu ya. Output dari IC NE555 disambungkan ke kaki 14 pada IC 4017, dan kaki 16 ke positif 9 volt batre, kaki 8 ke negatif batre. Kaki 15 dan 13 disambungkan ke negatif batre saja.

Ini video hasil simulasi yang saya buat, simulasi di buat dengan software Livewire.

Nah itu dia video yang kita tunggu-tunggu, semoga tulisan kecil saya ini bermanfaat untuk kita semua. Bingung atau ada pertanyaan, silahkan komen di komentar, kalo saya online pasti saya jawab 🙂
Copy paste boleh, jangan lupa camtumkan sumbernya.
Tq

Running LED

Halo, kembali lagi dengan post baru kawan-kawan elektronika, kali ini dengan post sedikit maju, kenapa maju..? Ya akan lebih canggih lagi dari postingan-postingan sebelumnya 😀

Kali ini saya akan post tentang running LED, apa sih running LED…? Running LED disebut sebagai led yang nyalanya bergantian secara berurutan atau kejar-kejaran. Susah kah membuatnya…? Tidak juga yang penting paham tentang elektronika aja, pemula pun bisa membuatnya, kita hanya main di IC saja, tidak ke program.

Dalam proses perakitan rangkaian running led tidak terlalu rumit, sama juga seperti flip flop yang pernah saya post disini sebelumnya, nanti rangkaian flip flop akan digunakan untuk memberikan pulsa ke IC 4017 sebagai driver LED berjalan pada project kita ini nanti.
Langsung saja ke rangakain tanpa banyak nyeleneh-nyeleneh, To The Point. 😀

Ini rangkaiannya yang saya buat dengan Software Livewire.

Running LED

Silahkan klik gambar skema untuk memperbesar dan memperjelas rangkaiannya.

Komponen yang dibutuhkan untuk membuatnya adalah:

1. IC NE555 (1 buah)

2. Capasitor elektrolit 100 uF (1 buah)

3. Resistor 1 K Ohm (1 buah)

4. Potensometer/Variable Resistro 10 K Ohm (1 buah)

5. Resistor 220 Ohm (2 buah)

6. LED hijau 5 mm (1 Buah)

7. LED merah 5 mm (1 buah)

8. IC 4017 (1 buah)

9. Batre 9 Volt (1 buah)

Berikut datasheet IC NE555 dan IC 4017

555_1imagesUntuk tahap perakitan real nya pada IC 4017 unyuk LED 1 harus disambungkan dengan kaki 3 atau Q0 pada datasheet dan LED 2 pada kaki 2 atau Q1 dan led ke 10 pada kaki 11 atau Q9, ingat outputnya tidak linier jadi cari satu-satu ya. Output dari IC NE555 disambungkan ke kaki 14 pada IC 4017, dan kaki 16 ke positif 9 volt batre, kaki 8 ke negatif batre. Kaki 15 dan 13 disambungkan ke negatif batre saja.

Ini video simulasinya.

Semoga tulisan saya ini bisa bermanfaat untuk kita semua. Silahkan copy paste dengan mencamtumkan sumber ini. Tq

Flip Flop

Belajar elektronika tanpa belajar rangakaian Flip Flop akan terasa hambar, karena rangkaian satu ini adalah rangkaian paling dasar dan paling mudah untuk dipraktekkan bagi pemula. Termasuk saya, pada saat-saat awal belajar elektronika bisa merangkai rangkaian ini adalah hal yang istimewa untuk saya. Dalam proses merangkai kita hanya membutuhkan beberapa buah komponen dasar dan kemudian harus jumper dengan kabel untuk menghubungkan antara 1 komponen dengan komponen yang lain agar alat ini dapat bekerja sebagaimana mestinya. To the point 😀

Berikut skema rangkaian yang saya buat dengan software Lifewire. Klik gambar untuk memperbesar dan memperjelas.

FlipFlop

Berikut kebutuhan komponen yang saya gunakan.

1. IC NE555 (1 buah)

2. Capasitor elektrolit 100 uF (1 buah)

3. Resistor 1 K Ohm (1 buah)

4. Potensometer/Variable Resistro 10 K Ohm (1 buah)

5. Resistor 220 Ohm (2 buah)

6. LED hijau 5 mm (1 Buah)

7. LED merah 5 mm (1 buah)

8. Batre 9 Volt

Note : Untuk resistror di LED 1 K Ohm di ganti saja dengan yang 220 Ohm.

Berikut Data Sheet IC NE555-nya.

555_1

Ini nih video simulasi yang kita tunggu, selamat menikmati sambil menikmati secangkir kopi hangat :v

Semoga tulisan saya ini bisa bermanfaat.