Member baru? Bingung? Perlu bantuan? Silakan baca panduan singkat untuk ikut berdiskusi.

Selamat datang, Pengunjung. Silahkan masuk atau mendaftar. Apakah anda lupa aktivasi email?

September 25, 2020, 12:43:39 PM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139599
  • Total Topik: 10375
  • Online Today: 30
  • Online Ever: 441
  • (Desember 18, 2011, 12:48:51 AM)
Pengguna Online
Users: 0
Guests: 23
Total: 23

Aku Cinta ForSa

ForSa on FB  ForSa on Twitter

Penulis Topik: bingung Akuisisi Data Suhu...  (Dibaca 9240 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
bingung Akuisisi Data Suhu...
« pada: April 22, 2009, 12:17:14 AM »
Hello friends..

saya Wijana N., sy lg ngerjain Tugas Akhir tentang Monitoring temperatur wireless 2.4 GHz
saya sedang bingung nih..soalnya kan butuh mikrokontroler untuk ngolah data dari ADC yang dihubungin ma sensor LM35DZ..jenis mikrokontrollernya AT89S51 (DT-51 Versi 3.3 MinSys) ADC(I2C ADDA dari Innovativeelectronics).sedangkan saya masih bingung untuk programming mikro-nya.. ada yg bisa bantu tlg sediain pemrogramannya pk bhs ap aj dh..yang penting bs ngeluarin data dari mikro..soalnya TA sy ini lebih fokus pada wireless-nya.bukan pada mikro-nya..waktu sidang bentar lagi,saya butuh bantuan para maestro mikrokontroler dari seantero dunia untuk bantu TA sy ini..pleaaasee..

Sebelumnya Terima Kasih banyak pada seluruh master - master elektronik di forum ini..
saya hanyalah orang awam yang tidak tau apa2...hehe.

Offline erik hardianto

  • Dosen
  • ****
  • Tulisan: 111
  • IQ: 10
Re: bingung Akuisisi Data Suhu...
« Jawab #1 pada: Mei 10, 2009, 04:46:11 AM »
gw jg lg TA tp ga ngerti jg ttg mikro, tp kemaren nyoba2 terusssss ampe gila.. kalo mang pake ADC mending pake ATmega.. uda ada internal ADC.. jd ga usa pake rangkaiian lain.. tp atmega lbh mahal,

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Re: bingung Akuisisi Data Suhu...
« Jawab #2 pada: Mei 10, 2009, 10:12:12 AM »
@Erik
emg bener..klo pk AT89S52 qd pk ADC external..ne aj pk I2C ADDA.tp kemaren2 sy bersyukur dpt ATMEGA16 dr dosen (dikasih pinjam..lumayan)..sy udh coba pk BASCOM AVR untuk programmingnya..tp gagal lg..mgkn sy salah d dowloadernya kali ya..mw nanya klo qt pk Downloader STK 200,,itu caranya gmn ya?pk RS232 bs ga?

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: bingung Akuisisi Data Suhu...
« Jawab #3 pada: Mei 12, 2009, 02:21:37 AM »
Dah lama gak ngoprek micon nie.

Jadi perlu pemanasan dulu. Menurut saya lebih enak dan murah pake ATMEGA yang sudah build in ADCnya. Memang dari segi harga, uC ATMEGA lebih mahal 10-15 ribu. Tapi coba bandingkan jika harus membeli kit ADC, rata-rata 80-120 ribuan.

Dulu saya pernah bikin, tapi komunikasi sensor-uC-PC. Kalo temen saya di Bandung pernah bikin, persis sama kayak idenya Wijana.

Btw.. coba aja share programnya. Nanti dianalasi, apakah programnya sudah bener tau belum.
Menuju Indonesia sebagai THE COUNTRY MASTER OF TECHNOLOGY, 2030

Offline erik hardianto

  • Dosen
  • ****
  • Tulisan: 111
  • IQ: 10
Re: bingung Akuisisi Data Suhu...
« Jawab #4 pada: Mei 12, 2009, 01:40:34 PM »
@Erik
emg bener..klo pk AT89S52 qd pk ADC external..ne aj pk I2C ADDA.tp kemaren2 sy bersyukur dpt ATMEGA16 dr dosen (dikasih pinjam..lumayan)..sy udh coba pk BASCOM AVR untuk programmingnya..tp gagal lg..mgkn sy salah d dowloadernya kali ya..mw nanya klo qt pk Downloader STK 200,,itu caranya gmn ya?pk RS232 bs ga?
saya ga tau merk yg saya pake, kalo ga praktek bingung jelasinnya, tp cuma 3 ampe 4 langkah, mudah de pokonya, kayanya kalo pake rs-232 ga tau bisa apa ga,
1. munkin ya, krek dr bascomnya uda abis, ato cm buat yg gratis, kmaren jg begitu,
2. coba progrm yg sederhana dulu. kalo yahud berarti gada masalah sama tu bascom
3. coba2 aja de, hehehe, saya juga lg bingung ne 2 minggu lg ngumpul alat TA, ngomong2 punya cth progrm bahasa C buat LCD ga?

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: bingung Akuisisi Data Suhu...
« Jawab #5 pada: Mei 13, 2009, 12:58:31 AM »
Btw.. nie ada hasil keisengan saya pas nyoba-nyoba sensor.
Program ini untuk membaca data dari sensor suhu, kemudian mentransfernya ke komputer melalui port serial. Kalo media transfer diganti menjadi wireless, maka tinggal disesuaikan saja dengan modul wirelessnya. Data digital hasil konversi ADC-nya bisa langsung dimasukin ke modul transmitternya. Gudlak...  :D

/*
SENSUHU.C
Author        : Insan Sains
Last Modified : 11 Juni 2008
Application   : SENSOR SUHU
Chip uC         : ATMega 8535
Clock Source  : 4 MHz
Compiler      : GCC (Gnu Linux)
--------------------------------------------------------------------
Modul yang digunakan      : DT Combo AVR-51 (Innovative Electronics)
Port input yang digunakan : PORT C (pin 0)
Deskripsi                 :
Program ini digunakan untuk membaca suhu realtime menggunakan
sensor suhu LM35. Sensor suhu ini mempunyai output yang linear
sebesar 10 mV/derajat_celcius.
Rumus yang digunakan :
# Hasil Konversi ADC = (Vin * 1024) / Vref
# Hasil Konversi per-satu LSB = Vref / (2^n - 1) = 4.9 mV (pembulatan)
*/


/* INISIALISASI UNIT YANG DIGUNAKAN */
#include <avr/io.h>
#include <util/delay.h>
#include <string.h>
#include <stdlib.h>

/* DEFINISI VARIABLE GLOBAL */
#define F_CPU 4000000UL
#define ADC_VREF_TYPE 0x00

/* FUNCTION DAN PROCEDURE YANG DIGUNAKAN */
void delay_ms(unsigned int ms) {
   while (ms) {
      _delay_ms(1);
      ms--;
   }
}


/* PEMBACA INPUT ADC */
unsigned int read_adc (unsigned char adc_input) {
   unsigned char adc_low, adc_high, data_adc;

   ADMUX=adc_input|ADC_VREF_TYPE;
   
   // Mulai konversi ADC
   ADCSRA|=0x40;

   // Tunggu hingga konversi selesai
   while ((ADCSRA & 0x10) == 0);

   // Clear Flag ADIF
   ADCSRA |= 0x10;

   // Hasil konversi ADC adalah 16 bit
   // 8 bit di ADCL & 8 bit di ADCH
   // xxxx xxxx | xxxx xxxx
   //   ADCH    ADCL
   // Tapi karena untuk sensor suhu, tidak mungkin
   // mencapai 16 bit, paling tinggi 100 derajat = 0d205 = 0xCD
   // Jadi cukup di pakai yang ADCL saja.
   // Tapi ingat syarat-nya ADCL & ADCH harus tetap dibaca
   // supaya si mikro-nya meng-clear flag data sudah dibaca
   // selama ke-dua data tsb tidak dibaca, mikro tidak dapat
   // lagi mengkonversi
.

   adc_low=ADCL;
   adc_high=ADCH;

   //data_adc = adc_high;
   //data_adc = <<=8;
   //data_adc |= adc_low;
   //return data_adc;


   return adc_low;
}


/* PROGRAM UTAMA */
void main(void) {
   /* Inisialisasi USART
   Format Frame : 8 data, 1 stop, No Parity
   USART Receiver = Enable
   USART Transmitter = Enable
   USART Mode = Asynchronous
   */

   UCSRA=0x00;
   UCSRB=0x18;
   UCSRC=0x86;

   /* Tentukan Baud Rate
   USART Baud Rate = 9600 bps
   Untuk Clock Kristal 4 MHz
   Note : Walaupun Baud Rate di uC di set ke 9600 bps
   tapi baud rate di komputer harus 19200 bps
   belum ada penjelasan teknis mengenai hal ini
   yang jelas ketika menggunakan sistem operasi Linux
   hal ini harus diperhatikan.
   */

   UBRRH=0x00;
   UBRRL=0x19;

   /* Inisialisasi port
        PORT A (pin 0) sebagai input
   */

   DDRA=0xFE;
   PORTA=0xFE;

   /* Inisialiasi variable yang digunakan */
   unsigned char temp_str[10];
   unsigned char *usart_str;
   unsigned char adc_input=0x00;
   unsigned int hasil;

   /* Inisialisasi ADC */   
   ADMUX=ADC_VREF_TYPE;
   ADCSRA=0x87;
   SFIOR&=0xEF;

   /* ITOA = integer to Array
   perintah untuk mengubah angka ke huruf (dalam bentuk array)
    serial uC hanya menerima & mengirim karakter (bukan angka)
   */   
   /* Looping selamanya */

   int i;
   while(1) {

      hasil = read_adc(adc_input);
      // hasilADC * 4,887 / 10
      // 4,887 mV (besar tegangan untuk setiap LSB
      // 10 mV per derajat Celcius (setiap kenaikan suhu thd tegangan)

      unsigned long int bil_bulat, bil_desimal;

      bil_bulat = hasil * 49 / 100;
      bil_desimal = (hasil * 49) - (bil_bulat * 100);

      itoa(bil_bulat,usart_str,10);
      itoa(bil_desimal,temp_str,10);
      usart_str = strcat(usart_str,".");
      usart_str = strcat(usart_str,temp_str);

      //Kirim via USART
      for (i=0; i<=strlen(usart_str)-1; i++) {
         UDR=usart_str;
         loop_until_bit_is_set(UCSRA,UDRE);
      }

      //menunggu kesiapan USART!
      UDR=0x0A;

      //Beri waktu tunda, untuk melihat hasil pembacaan
      delay_ms(10000);      
   }
}

Offline erik hardianto

  • Dosen
  • ****
  • Tulisan: 111
  • IQ: 10
Re: bingung Akuisisi Data Suhu...
« Jawab #6 pada: Mei 16, 2009, 06:46:54 AM »
mas insan, kalo prog, LCD punya ga???? jd lcd lgsng nyala aja.... tq

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: bingung Akuisisi Data Suhu...
« Jawab #7 pada: Mei 16, 2009, 08:00:11 AM »


Konfigurasi pin LCD dan uC nya bisa macem-macem. Saya ambil kayak gini, sbg contoh :

  [pin LCD] <-->  [pin uC]
   1 (Gnd) <--> 11 (Gnd)
   2 (+5V) <--> 10 (Vcc)
   4 (RS) <--> 22 (PC0)
   5 (RD) <--> 23 (PC1)
   6 (EN) <--> 24 (PC2)
  11 (D4) <--> 26 (PC4)
  12 (D5) <--> 27 (PC5)
  13 (D6) <--> 28 (PC6)
  14 (D7) <--> 29 (PC7)

Kalo pake program Code Vision gampang. Coz sudah ada unit dan fungsi tersendiri yang bisa langsung dipake. Namanya lcd.h

Contoh programnya :

#include
#asm
   .equ __lcd_port=0x15
#endasm

#include


void main(void)
{
       // inisialisasi LCD
       lcd_init(16);

        // menampilkan pada baris 0 dari kolom 0
        lcd_gotoxy(0,0);   
        lcd_puts("Forum");   

        // menampilkan pada baris 1 dari kolom 0
        lcd_gotoxy(0,1);     
        lcd_puts("Sains");

       // agar nampak dan terus ditampilkan
       while(1);
}

Secara teori sih begitu. Saya lupa lagi. Soalnya jarang pake LCD, biasanya langsung dikomunikasikan ke PC.
Dicobain ya...!!!

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: bingung Akuisisi Data Suhu...
« Jawab #8 pada: Mei 17, 2009, 07:36:10 AM »
Karena ada topik khusus untuk menampikan karakter pada LCD, maka pembahasan mengenai hal tersebut difokuskan saja.

Topik yang dimaksud ada di sini

Offline the win

  • Siswa Baru
  • *
  • Tulisan: 1
  • IQ: 0
Re: bingung Akuisisi Data Suhu...
« Jawab #9 pada: Februari 14, 2011, 05:24:42 AM »
saya pernah buat alat akuisisi data suhu buat latihan dan percobaan sederhana dengan mikrokonroler atmega 8535 dan lm 35 mnggunakan compiler bascom avr, bisa
« Edit Terakhir: Februari 14, 2011, 09:53:03 AM oleh reborn »

 

Related Topics

  Subyek / Dimulai oleh Jawaban Tulisan terakhir
7 Jawaban
5804 Dilihat
Tulisan terakhir Juni 27, 2009, 10:29:50 PM
oleh wijana
4 Jawaban
3055 Dilihat
Tulisan terakhir Oktober 15, 2009, 10:16:14 AM
oleh elephantstone
2 Jawaban
5512 Dilihat
Tulisan terakhir Desember 09, 2010, 01:23:50 AM
oleh bagus yunanto
5 Jawaban
6315 Dilihat
Tulisan terakhir April 20, 2011, 06:33:09 AM
oleh Too Payz
3 Jawaban
4132 Dilihat
Tulisan terakhir September 23, 2011, 03:02:49 PM
oleh Micr(o_O)rganisme