Blog Fisika Inovatif SMA Doro Pekalongan merupakan wadah untuk memberikan bimbingan online kepada siswa-siswi maupun khalayak umum yang masih awam baik bimbingan konsep fisika murni maupun fisika terapan untuk mendalami inovasi Fisika khususnya di bidang Elektronika Digital Otomasi dan Robotika tingkat dasar untuk dikembangkan di dunia masing-masing....


Sunday 10 May 2020

QUIZZ


Waktu Pengerjaan: 20:00 menit!

Monday 15 April 2013

Merancang Simulasi LED Blinking Dengan Proteus

Pada postingan yang lalu telah dibahas cara memprogram LED kedap-kedip di kaki IC P1.0. Nah pada kesempatan ini akan saya bahas bagaimana merancang simulasi LED1_51 (LED Blinking di P1.0) lewat program proteus. Downloadlah file proteus, setelah terinstall kemudian buka filenya yang bericon ISIS.

Tampilan awal proteus

Klik icon component mode kemudian klik Pick From Libraries (huruf P) dan ketiklah AT89c51 pada keywords kemudian klik OK Pada lembar kerja akan tampak gambar pinsil. Aturlah letak pinsil sesuai keinginan kemudian tekan enter 2x. Simbol IC AT89C51 akan tercetak. 

 Mencari Simbol Komponen
 
Untuk memutar gambar sesuai keinginan lakukan klik kanan pada komponen dan klik Rotate sesuai arah yang diinginkan.
Memutar Gambar Simbol Komponen
 Lakukan pencarian komponen dengan cara yang sama sehingga tampak seperti gambar berikut :

 Tampilan Sismin LED1_51

Untuk menghubungkan antar komponen letakkan kursor di ujung salah satu komponen maka akan muncul gambar pensil berwarna hijau kemudian klik kanan mouse dan drag keujung komponen lain yang akan disambung kumudian lepas. Lakukan sampai semua komponen tersmbung sperti gambar di atas. Untuk membuat vcc dan ground klik icon terminals mode kemudian klik power untuk vcc dan ground untuk ground. Untuk mendownload file LED1_51.HEX klik 2x simbol IC AT89C51 kemudian klik icon folder pada program file kemudian cari file LED1_51.HEX klik open klik OK. Setelah itu jalan simulasi program proteus dengan mengklik tombol play di pojok kiri bawah.
.Simulasi LED1_51 pada program Proteus








Selamat mencoba.
 









Sunday 14 April 2013

Praktek Dasar LED 1 AT89S51_AT89S52

Menghidupkan dan mematikan LED

Kali ini kita akan memulai memprogram IC mikrokontroler dengan menggunakan program Bascom AVR. Untuk yang pertama ini jika kita menggunakan IC AT89S51 atau AT89S52 maka program Bascom nya menggunakan Bascom 8051.Anda bisa download di internet lewat google. Bukalah bascom 8051 hingga muncul seperti gambar berikut:
Tampilan utama bascom 8051

Kemudian untuk membuat file baru klik file dan klik new maka akan terbuka jendela baru
Tampilan Jendela baru untuk new file

Ketiklah listing program berikut ini dalam jendela baru tersebut dan simpan dengan nama LED1_51

$regfile = "REG51.DAT"                             ' Daftar pustaka 8xc51
Do
   P1 = &B11111110                                     'nilai P1.0 adalah low (0) led P1.0 on
      Waitms 250                                            'menunda selama 0,25 detik
   P1 = &B11111111                                     'nilai P1.0 adalah high (1) led P1.0 off
     Waitms 250                                             'menunda selama 0,25 detik
Loop

Keterangan program :
Setiap menulis program Bascom mesti didahului $regfile kemudian diikuti pustaka macronya. REG51.DAT merupakan daftar pustaka AT89X51 yang akan menerjemahkan setiap baris program seperti P1, &B dan yang lain. 
Program diantara Do dan Loop akan diulang terus menerus sampai power dimatikan.
P1 = &B11111110     P1 memiliki makna gerbang P1. Sedangkan &B11111110 adalah nilai keadaan gerbang P1 mulai P1.0 sampai dengan P1.7. Untuk P1.0 tempatnya paling kanan dan P1.7 paling kiri. &B merupakan data biner yang nilainya 1 dan 0. Karena AT89X51 aktif low maka P1 = &B11111110 memberikan makna hanya kaki P1.0 saja yang LED nya hidup sedang kaki P1.2 s/d P1.7 dalam keadaan mati. Waitms 250 memberi perintah penundaan selama 0,25 detik (seperempat detik). Nilai 250 adalah nilai maksimum. P1 = &B11111111 memberikan perintah untuk mematikan LED P1.0.
kalimat di baris sebelah kanan setelah tanda petik (') tidak dijalankan oleh IC dan merupakan keterangan baris program dan warna hurufnya  hijau.
Setelah selesai compilasilah program tersebut dengan mengklik menu program dan compile atau tekan F7 hingga tidak ada error.





Tampilan program setelah dicompilasi dan tak ada error

Setelah program success dicompilasi selanjutnya lihatlah hasil compilasi di folder tempat menyimpan file dan carilah file LED1_51.HEX. File inilah yang akan kita tuliskan ke IC AT89X51 atau untuk dicobakan diproteus dulu.

File LED1_51.HEX Hasil compilasi

Hasilnya setelah dicobakan pada simulasi program Proteus seperti berikut :

Tampilan Proteus

Sekian dan Selamat mencoba.






Friday 12 April 2013

Sismin AT89S51_AT89S52

IC AT89C51 ini mempunyai empat buah port input dan output. Port tersebut adalah P0, P1, P2, dan P3. Sebelum menggunakan IC Mikrokontroler AT89C51 ini langkah yang harus dipersiapkan adalah membuat rangkaian sistem minimum AT89C51. Setelah membuat sebuah rangkaian sistem minimum, kita dapat mencoba untuk belajar memprogram . Tentunya masih dalam tingkat dasar. Berikut merupakan gambar sistem minimum rangkaian mikrokontroler :
Jika anda telah memprogram dan mendapatkan file hexa dalam compilasinya, anda dapat menggunakan downloader paralel port untuk AT89S51 pada pembahasan sebelumnya untuk mengirim file hexa ke IC mikro tersebut. Yang perlu diperhatikan adalah IC mikro AT89S51 active low. Artinya kita kita gunakan logika 0 untuk mengidupkan LED dan logika 1 untuk mematikan LED pada pin output IC mikro, kaki LED yang satunya dihubungkan ke vcc melalui resistor pullup.


Gb. AT89S51 aktif low

ISP Downloader untuk AT89S51/AT89S52 melalui port paralel

Bagi Anda pecinta mikrokontroler, tentu pernah memakai mikrokontroler MCS-51 produksi Atmel AT89S51 atau AT89S52. Mikrokontroler ini tergolong mikrokontroler yang paling murah jika dibanding dengan kualitas yang dimilikinya.

Untuk memrogram mikrokontroler tersebut, kita bisa menggunakan downloader paralel maupun downloader serial atau yang sering disebut dengan ISP. Nah, kita juga bisa membuat downloader ISP ini dengan biaya yang sangat murah. Yang Anda butuhkan cuma konektor DB25 male dan beberapa dioda, itupun tidak harus pake dioda, artinya dioda hanya merupakan pilihan saja. Kebutuhan lainnya adalah kristal dan dua buah kondensator. Akan tetapi kristal dan kondensator ini adalah memang kebutuhan dari mikrokontroler. Jadi kristal dan kondensator ini tidak dihitung sebagai bagian dari downloader.

Rangkaian downloader ISP untuk AT89S51/AT89S52 adalah seperti berikut:



Nah, jika Anda sudah membuat rangkaian seperti gambar di atas, maka Anda tinggal menancapkan konektor DB25 tersebut ke port paralel, kemudian jalankan program SDownldr.exe yang tampilannya adalah seperti berikut:



Rangkaian Serial Downloader di atas menggunakan catu daya dari port paralel. Akan tetapi tidak semua port paralel mampu memberikan arus yang cukup untuk keperluan tersebut. Jika port paralel Anda tidak cukup kuat untuk keperluan ini, maka Anda harus memberikan catu daya +5V tambahan.
Jika program ini dijalankan dari IDE, maka semua pengaturannya akan dilakukan oleh IDE. Sedangkan jika dijalankan secara standalone, maka pengaturannya adalah sebagai berikut:
  • Default Hex File
    Jika Anda menggunakan IDE “Microcontroller Poject”, maka setiap kali dilakukan kompilasi yang sukses, sebuah file hex akan dibuat pada direktori temp, yaitu TMPFILE.HEX. Jika “Default Hex File” di-cek, maka file yang akan dikirimkan jika tombol Send diklik adalah file hex hasil kompilasi yang sukses tersebut. Perlu diingat bahwa file hex tersebut hanya akan ada jika IDE masih dijalankan.
    Jika “Default Hex File” tidak di-cek, maka Anda bisa menentukan file mana yang akan dikirimkan dengan klik pada tombol Browse.
  • Send
    Gunakan tombol ini untuk memulai pengiriman file hex yang telah ditentukan.
  • Read
    Gunakan tombol ini untuk membaca kode yang berada pada chip. Pembacaan hanya akan berhasil jika chip belum di-lock.
  • Lock
    Gunakan tombol ini untuk lock chip sehingga kode pada chip tidak bisa dibaca lagi.
  • Port
    Pilih alamat port yang sesuai dengan port yang digunakan. Biasanya port pararel ditempatkan pada alamat 378H.
  • Auto Lock
    Jika di-cek, maka setelah pengiriman data selesai dan setelah dilakukan verifikasi, chip akan di-lock secara otomatis.
  • Browse
    Gunakan tombol ini untuk memilih file hex yang akan dikirimkan. Tombol ini hanya akan aktif jika “Default Hex File” tidak di-cek.
  • Read data count
    Digunakan untuk menentukan jumlah data yang akan dibaca jika tombol Read diklik. Penulisan angka bisa menggunakan desimal atau hexadesimal, yaitu jika “Hex” di-cek.
Nah, tertarik untuk menggunakan SDownldr.exe? Silakan,  download dan Selamat mencoba.

Friday 29 March 2013

Serial Interface Atmega16 Via PC Dengan Visual Basic

Agar dapat mengontrol Peralatan Rumah Tangga Maupun yang lain Diperlukan Program interface yang dapat berkomunikasi antara PC/Laktop dengan mikrokontroler. Berikut ini hasil desain program visual basic yang saya rancang untuk mengetahui nilai dari ADC0-ADC7 dan mengatur nyala mati LED dari PA.1 - PD.7 (28 pin Port. Program ini juga memberi informasi ke PC lewat serial komunikasi kondisi masing-masing PortA hingga PortD. Nilai ADC0-ADC7 disertai animasi shape yang menyatakan nilai prosentase dari ADC
 
 
Gambar tampilan program Serial Interface Visual Basic




Fungsi String Visual Basic



Dalam Visual Basic terdapat banyak fungsi yang digunakan untuk mengolah data bertipe string. Berikut ini adalah penjelasan tentang fungsi-fungsi string yang sering digunakan.
  • LCase(x) , digunakan untuk mengubah semua huruf dalam string x menjadi kecil semua. Contoh:
    s = LCase("Aku Bisa") , maka nilai s adalah "aku bisa"

  • UCase(x) , digunakan untuk mengubah semua huruf dalam string x menjadi besar semua. Contoh:
    s = LCase("Aku Bisa") , maka nilai s adalah "AKU BISA"

  • Left(x,n) , digunakan untuk mengambil karakter dari string x yang dimulai dari kiri sebanyak n. Contoh:
    VB 6.0, s = Left("Aku Bisa", 3)
    VB .NET, s = Strings.Left("Aku Bisa", 3)
    maka nilai s adalah "Aku"

  • Right(x,n) , digunakan untuk mengambil karakter dari string x yang dimulai dari kanan sebanyak n. Contoh:
    VB 6.0, s = Right("Aku Bisa", 3)
    VB .NET, s = Strings.Right("Aku Bisa", 3)
    maka nilai s adalah "isa"

  • Mid(x,m,n) , digunakan untuk mengambil karakter dari string x yang dimulai dari karakter ke m sebanyak n. Contoh:
    s = Mid("Aku Bisa", 2, 2) , maka nilai s adalah "ku"

  • LTrim(x) , digunakan untuk menghapus karakter spasi di bagian kiri dari string x.
    Contoh: s = LTrim("     Aku Bisa     ") , maka nilai s adalah "Aku Bisa     "

  • RTrim(x) , digunakan untuk menghapus karakter spasi di bagian kanan dari string x.
    Contoh: s = RTrim("     Aku Bisa     ") , maka nilai s adalah "     Aku Bisa"

  • Trim(x) , digunakan untuk menghapus karakter spasi di bagian kiri dan kanan dari string x. Contoh:
    s = Trim("     Aku Bisa     ") , maka nilai s adalah "Aku Bisa"

  • Len(x) , digunakan untuk menghitung jumlah karakter dari string x. Contoh:
    s = Len("Aku Bisa") , maka nilai s adalah 8.

  • String(n,x) , digunakan untuk membuat karakter x sebanyak n. Contoh:
    VB 6.0,  s = String(10, "A")
    VB .NET, s = New String("A", 10)
    maka nilai s adalah "AAAAAAAAAA"

  • Space(n) , digunakan untuk membuat karakter spasi sebanyak n. Contoh:
    s = Space(10) , maka nilai s adalah "          "

  • Asc(x) , digunakan untuk mengetahui nilai ASCII dari karakter x. Contoh:
    s = Asc("A") , maka nilai s adalah 65

  • Chr(x) , digunakan untuk mengetahui karakter dari nilai ASCII x. Contoh:
    s = Chr(65) , maka nilai s adalah "A"

  • InStr(x,n) , digunakan untuk mengetahui posisi karakter n didalam string x. Contoh:
    s = InStr("Aku Bisa", "u") , maka nilai s adalah 3

  • StrComp(x,y,n) , digunakan untuk membandingkan string x dan string y berdasarkan n. Jika n bernilai 0 maka akan dibandingkan secara case-sensitive, sedangkan jika n bernilai 1 maka akan dibandingkan secara biasa. Contoh:
    s = StrComp("Aku", "aku", 0) , maka nilai s adalah -1
    s = StrComp("Aku", "aku", 1) , maka nilai s adalah 0
    Khusus untuk fungsi ini, jika menghasilkan nilai 0 maka dianggap sebagai True, dan jika menghasilkan nilai selain 0 maka dianggap False.

  • StrConv(x,n) , digunakan untuk mengubah huruf dalam string x berdasarkan nilai n. Contoh:
    s = StrConv("Aku Bisa", 1) , maka nilai s adalah "AKU BISA"
    s = StrConv("Aku Bisa", 2) , maka nilai s adalah "aku bisa"
    s = StrConv("aku bisa", 3) , maka nilai s adalah "Aku Bisa"

  • StrReverse(x) , digunakan untuk membalikkan posisi huruf dalam string x. Contoh:
    s = StrReverse("Aku Bisa") , maka nilai s adalah "asiB ukA"

  • Replace(x,m,n) , digunakan untuk menggantikan karakter m dalam string x dengan karakter n. Contoh:
    s = Replace("Kamu Juga Bisa", "a", "o") , maka nilai s adalah "Komu Jugo Biso"

  • Split(x,n)(i) , digunakan untuk memecah string x berdasarkan karakter n dengan penomoran i. Contoh:
    s = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")(0) , maka nilai s adalah "Kuda"
    s = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")(1) , maka nilai s adalah "Kerbau"
    s = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")(4) , maka nilai s adalah "Macan"

  • Join(x,n) , digunakan untuk menggabungkan rangkain string x yang dihubungkan dengan string n. Contoh:
    VB6, s = Join(Array("Hani", "Indah", "Budi", "Herman"), " & ")
    VB.NET, s = Join(New Object() {"Hani", "Indah", "Budi", "Herman"}, " & ")
    maka nilai s adalah "Hani & Indah & Budi & Herman"



Fungsi-fungsi diatas juga dapat djadikan fungsi lain diantaranya adalah :
  1. Mengecek keberadaan string dalam string. Misalnya Anda ingin memeriksa ada tidaknya string "a" dalam string "anda berhasil", maka kodenya adalah :
    If CBool(InStr("anda berhasil", "a")) Then
    'jika ada
    Else
    'jika tidak ada
    End If
  2. Menghitung karakter tertentu dalam string. Misalnya Anda ingin menghitung karakter "a" dalam string "anda berhasil", maka kodenya adalah :
    t = "anda berhasil"
    s = Len(t) - Len(Replace(t, "a", ""))
    maka nilai s adalah 3

  3. Menghitung jumlah kata dalam string. Misalnya Anda ingin menghitung jumlah kata dalam string "anda berhasil", maka kodenya adalah :
    s = UBound(Split("anda berhasil", " ")) + 1
    maka nilai s adalah 2

  4. Menghilangkan karakter tertentu dalam string. Misalnya Anda ingin menghilangkan karakter "a" dalam string "anda berhasil", maka kodenya adalah :
    s = Replace("anda berhasil", "a", "")
    maka nilai s adalah "nd berhsil"

  5. Mengisi variabel array dinamis dengan string. Contoh kodenya sebagai berikut :
    Dim Binatang() As String
    Binatang = Split("Kuda,Kerbau,Sapi,Kambing,Macan", ",")
    maka variabel Binatang memiliki 5 index (0-4) dengan rincian:
    nilai Binatang(0) = "Kuda"
    nilai Binatang(1) = "Kerbau"
    nilai Binatang(2) = "Sapi"
    nilai Binatang(3) = "Kambing"
    nilai Binatang(4) = "Macan"

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Affiliate Network Reviews