Semua Tentang Belajar Teknologi Digital Dalam Kehidupan Sehari - Hari

  • IC Timer 555 yang Multifungsi

    IC timer 555 adalah sirkuit terpadu (chip) yang digunakan dalam berbagai pembangkit timer, pulsa dan aplikasi osilator. Komponen ini digunakan secara luas, berkat kemudahan dalam penggunaan, harga rendah dan stabilitas yang baik

  • Ayo Migrasi TV Digital

    Kami bantu anda untuk memahami lebih jelas mengenai migrasi tv digital, apa sebabnya dan bagaimana efek terhadap kehidupan. Jasa teknisi juga tersedia dan siap membantu instalasi - setting perangkat - pengaturan antena dan distribusi televisi digital ke kamar kos / hotel

  • Bermain DOT Matrix - LOVEHURT

    Project Sederhana dengan Dot Matrix dan Attiny2313. Bisa menjadi hadiah buat teman atau pacarmu yang ulang tahun dengan tulisan dan animasi yang dapat dibuat sendiri.

  • JAM DIGITAL 6 DIGIT TANPA MICRO FULL CMOS

    Jika anda pencinta IC TTL datau CMOS maka project jam digital ini akan menunjukkan bahwa tidak ada salahnya balik kembali ke dasar elektronika digital , sebab semuanya BISA dibuat dengan teknologi jadul

  • Node Red - Kontrol Industri 4.0

    Teknologi kontrol sudah melampaui ekspektasi semua orang dan dengan kemajuan dunia elektronika, kini semakin leluasa berkreasi melalui Node Red

Tampilkan postingan dengan label lm35. Tampilkan semua postingan
Tampilkan postingan dengan label lm35. Tampilkan semua postingan

Selasa, 04 Juni 2013

Tutorial: ADC lanjutan - Termometer dengan LM35 dan ATmega8

Kita akan melanjutkan pembahasan dasar ADC sebelumnya, dengan merubah inputan trimpot sebagai voltage divider menjadi inputan dari sensor temperatur yg sangat umum yaitu LM35.




LM35 sangatlah gampang dipakai , hanya dengan memberikan tegangan VCC (kali ini pake 5V) dan ground, maka di pin output akan terjadi perubahan tegangan sebesar 10mV tiap perubahan 1 derajat Celcius.

Skematik dari termometer tidak jauh berbeda dengan project sebelumnya, hanya mengganti trimpot dengan LM35



klik untuk memperbesar



Karena LM35 menggunakan step per derajat sebesar 10mili volt dan mega 8 memiliki resolusi 10 bit dan step per bit adalah 4,9 mili volt, maka secara mudah pembacaan ADC dari LM 35 dapat langsung dirumuskan sebagai 


SUHU = PEMBACAAN ADC / 2

Skrip dibawah ini merupakan cuplikan dari main program, untuk inisialisasi dan lainnya dapat dibaca pada pembahasan dasar adc sebelumnya.

int main(void)
{

uint16_t baca,decimal,pecahan;

char derajat = 0xDF; // karakter derajat
char dum;


lcd_init(LCD_DISP_ON);
lcd_clrscr();
lcd_gotoxy(0,0);
lcd_puts("TEST ADC ATMEGA8");


initADC();
  

   while(1)
   {

      baca=ReadADC(0); //baca ADC

      lcd_gotoxy(0,1);
      lcd_puts("Suhu=");

   itoa(baca/2,&dum); // konversi ke suhu
   lcd_puts(&dum);
    
   lcd_putc(',');
      
   itoa((baca%2)*5,&dum); // kasi resolusi 0.5
   lcd_puts(&dum);
    
      lcd_putc(' ');
      lcd_putc(derajat);
   lcd_putc('C');
  

      _delay_ms(100);

   }







return 0;

}


hasilnya seperti berikut :






MEMBUAT PEMBACAAN ADC LEBIH STABIL






Dari video diatas, kita lihat hasil pengukuran terlalu loncat2 ....wahh parah, walaupun mengikuti saran menambah filter LC ke AVCC seperti di datasheet dan C ke Aref



wahhh ...pusing juga belom sukses...akhirnya kita baca lagi datasheet dibagian "ADC NOISE CANCELER"

yang aku lakukan dengan menambah LC filter dinamakan analog noise canceler. Yang belum aku lakukan adalah menambahkan "ADC NOISE REDUCTION" yaitu memberikan posisi "SLEEP" saat sebelum konversi dilakukan ...

dan satu lagi, ketika sleep mode dan konversi, penggunaan output di minimalkan seperti dengan mematikan output ke 7 segment


void initADC()

{

ADMUX=(1<<REFS0);// Aref=AVcc;

ADCSRA|=(1<<ADEN)|(1<<ADIE)|(7<<ADPS0); //interupt aktif

sei();

}



uint16_t ReadADC(uint8_t ch)

{

  

  posisi(0);  //MATIKAN OUTPUT KE 7 SEGMENT



  MCUCR |= _BV(SE);  // Sleep Enable, jadi abis ini processor diturunkan loadnya



 MCUCR |=_BV(SM0);  // mode ADC NOISE REDUTION

  

   //Select ADC Channel ch must be 0-7

   ch=ch&0b00000111;

   ADMUX|=ch;



   //Start Single conversion



   ADCSRA|=(1<<ADSC);



   //Wait for conversion to complete

   while(!(ADCSRA & (1<<ADIF)));



   //Clear ADIF by writing one to it

   ADCSRA|=(1<<ADIF);



   return(ADC);



   MCUCR &= ~_BV(SE) ;  //BANGUN DARI SLEEP

}










dan voilaaa .....pembacaan ADC dari LM 35 menjadi lebih stabil


SELAMAT MENCOBA
Share:

Kontak Penulis



12179018.png (60×60)
+628155737755

Mail : ahocool@gmail.com

Site View

Categories

555 (8) 7 segmen (3) adc (4) amplifier (2) analog (19) android (12) antares (8) arduino (25) artikel (11) attiny (3) attiny2313 (19) audio (5) baterai (5) blog (1) bluetooth (1) chatgpt (2) cmos (2) crypto (2) dasar (46) digital (11) dimmer (5) display (3) esp8266 (25) euro2020 (13) gcc (1) iklan (1) infrared (2) Input Output (3) iot (58) jam (7) jualan (12) kereta api (1) keyboard (1) keypad (3) kios pulsa (2) kit (6) komponen (17) komputer (3) komunikasi (1) kontrol (8) lain-lain (8) lcd (2) led (14) led matrix (6) line tracer (1) lm35 (1) lora (5) MATV (1) memory (1) metal detector (4) microcontroller (70) micropython (6) mikrokontroler (1) mikrokontroller (14) mikrotik (5) modbus (9) mqtt (3) ninmedia (5) ntp (1) paket belajar (19) palang pintu otomatis (1) parabola (88) pcb (2) power (1) praktek (2) project (33) proyek (1) python (7) radio (17) raspberry pi (4) remote (1) revisi (1) rfid (1) robot (1) rpm (2) rs232 (1) script break down (3) sdcard (3) sensor (2) sharing (3) signage (1) sinyal (1) sms (6) software (18) solar (1) solusi (1) tachometer (2) technology (1) teknologi (2) telegram (2) telepon (9) televisi (167) television (28) transistor (2) troubleshoot (3) tulisan (93) tutorial (108) tv digital (6) tvri (2) vu meter (2) vumeter (2) wav player (3) wayang (1) wifi (3)

Arsip Blog

Diskusi


kaskus
Forum Hobby Elektronika