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

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

Januari 20, 2021, 11:29:27 PM

Masuk dengan nama pengguna, kata sandi dan lama sesi

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139618
  • Total Topik: 10381
  • Online Today: 133
  • Online Ever: 441
  • (Desember 18, 2011, 12:48:51 AM)
Pengguna Online
Users: 0
Guests: 37
Total: 37

Ikuti ForSa

ForSa on FB ForSa on Twitter

Penulis Topik: Sensor Suhu ATMEGA16 menggunakan BASCOM AVR  (Dibaca 25494 kali)

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Sensor Suhu ATMEGA16 menggunakan BASCOM AVR
« pada: Mei 01, 2009, 09:00:28 AM »
ada yang punya source code untuk membaca ADC trus ngirim melalui UART (RS232) menuju ke komputer menggunakan BASCOM AVR untuk ATMEGA16?klo ada,boleh share..soalnya sy kemaren udh cb.. error mulu pas download ke micro-nya.mau sy compare dengan yang lain..thax a lot..

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: Source Code ATMEGA16
« Jawab #1 pada: Mei 09, 2009, 07:36:16 AM »
@Wijana :
Kalo boleh, sharing aja dulu source code yang udah dicobanya. Nanti akan ada yang mengoreksi kalo benar ada kekeliruan di programnya. Learning from mistakes... thanks.
Menuju Indonesia sebagai THE COUNTRY MASTER OF TECHNOLOGY, 2030

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Re: Source Code ATMEGA16
« Jawab #2 pada: Mei 16, 2009, 09:52:51 AM »
ini saya coba share listing program pake BASCOM AVR...mohon koreksinya ya..thx

====Program pembacaan suhu menggunakan bascom avr=====
$regfile = “m16def.dat”
$crystal = 11059200
$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc

Dim Dataadc As Word
Dim Datasuhu As Single
Const Vreff = 2.56

Do
Dataadc = Getadc(0)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
datasuhu=datasuhu*100
Print “suhu sekarang:” ; Fusing(datasuhu , “#.##”)
Wait 1
Loop


listring program diatas baru pake satu sensor,,klo yang pake 3 sensor masih bingung,,,
kemaren2 udh sy coba download ke mikro pk AVRProg...pas di coba tes pake hyperterminal di windows...koq g muncul2 ya..mgkinkah ini pertanda bhw ad kegagalan download?

thx

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: Source Code ATMEGA16
« Jawab #3 pada: Mei 17, 2009, 06:40:35 AM »
Nampak programnya sudah tepat.

Kalo masih belum menampilkan karakter apapun, ada dua kemungkinan :
1. Setting-an hyperterminalnya belum sinkron dgn uC
2. Masalah di downloading uC-nya

Langkah pertama yang harus dilakukan adalah memastikan setting-an hyperterminal. Pastikan baudrate-nya ada pada 9600, 8-N-1, flowcontrol-none

Langkah kedua, uji coba koneksi serialnya.

-------------------------
$baud = 9600
$crystal = 11059200     
Print "Forum Sains"
End
-------------------------

Seharusnya di layar komputer tercetak, "Forum Sains". Nah, kalo tidak tampil berarti masalahnya ada pada saat downloading ke uC nya.

Coba itu dulu ya. Kalo berhasil coba bakarkan program yang tadi pada uC dan coba lagi lihat di hyperterminal. Nanti kita lanjut bagaimana membuat-nya dapat membaca 3 sensor.

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Re: Source Code ATMEGA16
« Jawab #4 pada: Mei 18, 2009, 11:33:05 PM »
saya sudah mencoba program yang diberikan,, tetapi tetap saja tidak muncul di hyperterminal,, saya menduga ini ada masalah pada downloadingnya,,setelah saya click tombol "Program" pada AVRProg maka muncul kata - kata seperti ini :

"Address:0x0000, Expected:0x0c, Received:0xff"

waah,,saya tambah bingung dengan munculnya tulisan itu,,kemudian bacaan "Program EEPROM...Verifying...Failed"

it means,,downloading program ke mikrokontroler gagal kan?

saya lantas berpikir,,apakah compile .hex yang telah dibuat di BASCOM AVR tidak cocok menggunakan AVRProg (yang sebenarnya digunakan untuk Bahasa C atau assembler) sebagai tool downloader-nya?
 
« Edit Terakhir: Mei 19, 2009, 12:00:25 AM oleh wijana »

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: Source Code ATMEGA16
« Jawab #5 pada: Mei 19, 2009, 07:55:46 AM »
Owalah.. kalo begitu emang ada masalah saat downloadingnya...

btw.. saat mencompile programnya, gak ada masalah kan?

Kalo sudah jadi hex file, seharusnya tidak masalah.

Apa mungkin IC-nya sudah bad?

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Re: Source Code ATMEGA16
« Jawab #6 pada: Mei 21, 2009, 05:19:49 AM »
bagaimana cara kita mengetahui bahwa IC yang digunakan telah BAD? so,,menurut mas solusinya gmn?haruskah saya gnt mikrokontroler yang lain?

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: Source Code ATMEGA16
« Jawab #7 pada: Mei 21, 2009, 12:04:50 PM »
bagaimana cara kita mengetahui bahwa IC yang digunakan telah BAD?

Kalo saya sih selama ini, kalo seandainya IC uC nya itu gak bisa diprogram, suka langsung maen hajar ajah ganti dengan yang baru. Mungkin member yang lain ada yang tahu cara menganalisa IC uC yang BAD, yang gak bisa lagi diprogram?

so,,menurut mas solusinya gmn?haruskah saya gnt mikrokontroler yang lain?

Langkah singkatnya begitu, ganti dengan yang baru..
Maaf kalo saran saya kurang memuaskan

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Re: Source Code ATMEGA16
« Jawab #8 pada: Mei 21, 2009, 02:08:46 PM »
sistem minimum saya kan untuk atmega 16,,seandainya saya ganti mikrokontrolernya menjadi atmega 8535,, apakah sistem minimum ini cocok untuk atmega 8535?khawatirnya ketika saya gnti dengan atmega 8535,,nanti malah tidak cocok,,sehingga IC max 232 rusak dan komponen lain rusak?

maaf sy rewel..soalnya masih newbie di dunia mikrokontroler,,hehe..thanx bgt buat mas insan,, atas saran - sarannya...it was very helpful for me...

mgkn member lain pernah mengalami pengalaman diatas?atw punya info - info yang bs d share d sini?silahkan jangan sungkan2..hehe
 ;D

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Membaca Suhu menggunakan BASCOM AVR
« Jawab #9 pada: Mei 26, 2009, 05:40:38 AM »
ini saya coba share listing program pake BASCOM AVR...mohon koreksinya ya..thx

====Program pembacaan suhu menggunakan bascom avr=====
$regfile = “m16def.dat”
$crystal = 11059200
$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc

Dim Dataadc As Word
Dim Datasuhu As Single
Const Vreff = 2.56

Do
Dataadc = Getadc(0)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
datasuhu=datasuhu*100
Print “suhu sekarang:” ; Fusing(datasuhu , “#.##”)
Wait 1
Loop
=================================================================

program diatas menggunakan 1 sensor suhu..namun saya ingin modify apabila menggunakan 3 sensor,,bagaimana listing programnya?ada yang bisa bantu?

terima kasih


Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: Membaca Suhu menggunakan BASCOM AVR
« Jawab #10 pada: Mei 26, 2009, 07:48:29 AM »
Topik ini rasanya double, jadi saya gabung saja ke topik sebelumnya....

Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: Sensor Suhu ATMEGA16 menggunakan BASCOM AVR
« Jawab #11 pada: Mei 26, 2009, 07:58:34 AM »
@ mas Wijana :

Berarti sudah berhasil dengan program 1 sensor suhu itu yach?

Kalo cuman nambahin sensornya paling gampang. Kita tinggal bikin function buat baca ajah..

-------------------------------------------------------------------

‘FUNGSI UNTUK MENGAMBIL DATA DARI SENSOR
Sub ambil_suhu(ch0 as integer)
   Start adc
   Dataadc = Getadc(ch0)
   Datasuhu = Dataadc / 1024
   Datasuhu = Datasuhu * Vreff
   Datasuhu = Datasuhu*100
   Nilai_suhu = fusing(datasuhu, “#,##”)
   Wait 1
End Sub

-------------------------------------------------------------------

Tinggal di panggil deh functionnya. ch0 diisi dengan channel pin ADC yang hendak dibaca.

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Mohon Koreksinya ya...
« Jawab #12 pada: Mei 29, 2009, 03:03:28 AM »
=================Program suhu menggunakan 3 sensor==========================
$regfile = "m16def.dat"
$crystal = 11059200
$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Internal
Declare Sub Ambil_suhu0(ch0 As Integer)
Declare Sub Ambil_suhu1(ch3 As Integer)
Declare Sub Ambil_suhu2(ch4 As Integer)
Dim Dataadc As Word
Dim Datasuhu As Single
Dim Nilai_suhu As Integer
Const Vreff = 2.56

Do
Call Ambil_suhu0
Print Nilai_suhu

Call Ambil_suhu1
Print Nilai_suhu

Call Ambil_suhu2
Print Nilai_suhu

Loop
End

Sub Ambil_suhu0(ch0 As Integer)
Start Adc
Dataadc = Getadc(ch0)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
Datasuhu = Datasuhu * 100
Nilai_suhu = Fusing(datasuhu , "#.##")
Waitms 100
End Sub


Sub Ambil_suhu1(ch3 As Integer)
Start Adc
Dataadc = Getadc(ch3)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
Datasuhu = Datasuhu * 100
Nilai_suhu = Fusing(datasuhu , "#.##")
Waitms 100
End Sub

Sub Ambil_suhu2(ch4 As Integer)
Start Adc
Dataadc = Getadc(ch4)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
Datasuhu = Datasuhu * 100
Nilai_suhu = Fusing(datasuhu , "#.##")
Waitms 100
End Sub
======================================================================

program diatas masih ada kesalahan,,,tapi saya g tau yang mana yang salah...hehe
kata bascom-nya sih gini :
"Incorect number parameters. The number of parameters must be [1]"
kesalahan tersebut mengarah pada fungsi "Call"...udah saya utak atik...tetep aja masih kayak gitu..ada yng punya solusi??

thank you


Offline insan sains

  • Moderator
  • Profesor
  • *****
  • Tulisan: 579
  • IQ: 68
  • Gender: Pria
  • Life is Beatiful
    • Insan Sains
Re: Sensor Suhu ATMEGA16 menggunakan BASCOM AVR
« Jawab #13 pada: Mei 29, 2009, 04:00:30 AM »
program diatas masih ada kesalahan,,,tapi saya g tau yang mana yang salah...hehe
kata bascom-nya sih gini :
"Incorect number parameters. The number of parameters must be [1]"
kesalahan tersebut mengarah pada fungsi "Call"...udah saya utak atik...tetep aja masih kayak gitu..ada yng punya solusi??

Program yang mas Wijana bikin men-syaratkan ada 1 parameter bernama ch0 yang berupa integer.

Sub Ambil_suhu0(ch0 As Integer)

Jadi seharusnya cara memanggilnya adalah dengan menyertakan nomor ADC yang akan diambil nilai suhunya.

bukan

Call Ambil_suhu0

melainkan :

Call Ambil_suhu0(1)

* tergantung dari port ADC mana yang akan diperiksa

Offline wijana

  • Mahasiswa
  • **
  • Tulisan: 22
  • IQ: 6
Re: Sensor Suhu ATMEGA16 menggunakan BASCOM AVR
« Jawab #14 pada: Juni 09, 2009, 04:24:13 AM »
berikut ini program yang saya buat menggunakan 3 sensor temperatur,,

$regfile = "m16def.dat"
$crystal = 11059200
$baud = 9600

Config Adc = Single , Prescaler = Auto , Reference = Internal
Declare Sub Ambil_suhu0(byval Ch0 As Integer)
Declare Sub Ambil_suhu1(byval Ch3 As Integer)
Declare Sub Ambil_suhu2(byval Ch4 As Integer)
Dim Dataadc As Word
Dim Datasuhu As Single
Const Vreff = 2.56

Do
Call Ambil_suhu0(0)
Call Ambil_suhu1(3)
Call Ambil_suhu2(4)
Loop
End

Sub Ambil_suhu0(ch0 As Integer)
Start Adc
Dataadc = Getadc(ch0)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
Datasuhu = Datasuhu * 100
Print "ADC 1 : " ; Fusing(datasuhu , "#.##")
Waitms 500
End Sub


Sub Ambil_suhu1(ch3 As Integer)
Start Adc
Dataadc = Getadc(ch3)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
Datasuhu = Datasuhu * 100
Print "ADC 2 : " ; Fusing(datasuhu , "#.##")
Waitms 500
End Sub

Sub Ambil_suhu2(ch4 As Integer)
Start Adc
Dataadc = Getadc(ch4)
Datasuhu = Dataadc / 1024
Datasuhu = Datasuhu * Vreff
Datasuhu = Datasuhu * 100
Print "ADC 3 : " ; Fusing(datasuhu , "#.##")
Waitms 500
End Sub


pertanyaan :
1. Kenapa pada bascom avr tidak dapat d compile?padahal sudah tidak ada error yang telah ditemukan...
2. Apakah maksud Vreff d sana?
3. Apakah Vcc (tegangan dari baterai) berpengaruh pada output ADC?saya menggunakan Vcc 7.4 volt

 

Related Topics

  Subyek / Dimulai oleh Jawaban Tulisan terakhir
0 Jawaban
5305 Dilihat
Tulisan terakhir Maret 20, 2010, 01:17:32 PM
oleh peb
3 Jawaban
7740 Dilihat
Tulisan terakhir Juli 23, 2010, 01:10:37 AM
oleh elang biru
1 Jawaban
5396 Dilihat
Tulisan terakhir April 02, 2011, 01:23:20 AM
oleh bagus yunanto
2 Jawaban
5926 Dilihat
Tulisan terakhir Mei 27, 2012, 03:06:29 PM
oleh fajri
0 Jawaban
3308 Dilihat
Tulisan terakhir Mei 24, 2013, 04:34:35 AM
oleh Candra