Lensa

Dunia dalam genggaman, komunikasi tak lagi mengenal batas dan ruang. Awal teknologi adalah sebuah keniscayaan dan terbukti seiring dengan menuanya zaman. Selamat datang generasi perubahan. Dengan "Lensa", semoga apa yang Anda cari dapat ditemukan. Semoga Anda nyaman.

Breaking News

Jumat, 28 Februari 2014

Robot Line Follower

Robot Line Follower Analog mempunyai 3 bagian utama:
1. Input (Sensor)
2. Pengolah (Komparator)
3. Output (H-Bridge Transistor)
Apabila digambarkan, berikut adalah gambar diagram blok rangkaian Robot Line Follower Analog:


Blok Diagram Robot Line Follower Analog
Untuk bagian sensor menggunakan Photodioda sebagai sensor cahaya. Sedangkan Komparatornya menggunakan IC Op-Amp LM 324 yang digunakan sebagai pembanding tegangan. Untuk driver motornya menggunakan Hi-Bridge Transistor.

Rangkaian Robot Line Follower Analog

1. Prinsip Kerja Rangkaian Sensor.


Rangkaian Sensor
Sensor yang digunakan adalah Photodioda. Sensor ini bekerjanya kebalikan dari LED, yaitu akan bekerja apabila diberi Reverse bias. Untuk Sumber cahaya yang digunakan adalah LED Superbright, karena memiliki intensitas cahaya yang tinggi. Sehingga cukup untuk suplly Photodioda.
  • Jika Photodioda tidak terkena cahaya maka resistansi dari photodioda akan sangat besar. Sehingga tegangan pada komparator akan menjadi kecil. Oleh Komparator akan dibaca sebagai logika 0.
  • Jika Photodioda terkena cahaya, maka photodioda akan bertindak sebagai sumber tegangan karena resistansinya menjadi kecil. Sehingga tegangan pada komparator menjadi besar. Oleh Komparator akan dibaca berlogika 1.
2. Prinsip Kerja Rangkaian Komparator

Rangkaian Komparator
Rangkaian ini menggunakan komponen utama IC OP-AMP LM324, yang berfungsi sebagai pembanding tegangan antara pulsa High dan Pulsa Low dari input sensor photodioda. Untuk mengatur tegangan pembanding maka diperlukan VR (Variabel Resistor).
  • Jika sensor memberikan logika 0 pada komparator maka pada IC1 akan memiliki tegangan (+) lebih besar dari pada tegangan (-). Sehingga LED 1 akan menyala dan LED 2 akan mati.
  • Jika Sensor memberikan logika 1 pada komparator maka pada IC2 akan memiliki tagangan (+) lebih kecil dari pada tegangan (-). Sehingga LED 2 akan menyala dan LED 1 akan mati.
3. Prinsip Kerja Rangkaian H-Bridge Transistor 



Rangkaian H-Bridge Transistor
Rangkaian ini berfungsi sebagai Driver motor DC. Rangkaian ini tersusun dari 4 buah transistor sebagai komponen utama.
  • Jika input 1 memberikan logika 1 dan input 2 memberikan logika 0, maka ada arus yang mengalir pada rangkaian. Hal ini menyebabkan Transistor 1 dan Transistor 4 akan bekerja karena terjadi bias basis pada rangkaian. Sehingga motor akan berputar.
  • Jika input 2 memberikan logika 1 dan input 1 memberikan logika 0, maka ada arus yang mengalir pada rangkaian. Hal ini menyebakan Transistor 2 dan Transistor 3 akan bekerja karena terjadi bias basis pada rangkaian. Sehingga motor akan berputar berlawanan arah.
  • Titik 1 dan 2 Selalu bekerja berkebalikan.
Catatan:
  • Untuk membuat Robot Line Follower Analog ini diperlukan 2 rangkaian yaitu kiri dan kanan untuk 2 motor.
  • Tegangan yang dibutuhkan adalah 9 Volt DC - 12 Volt DC bersumber dari baterry.
  • Silahkan rancang robot ini sesuai kreatifitas masing-masing.
Semoga Bermanfaat.......!!!!!!!
Read more ...

Pemrograman Bahasa C

Akar dari bahasa C adalah bahasa BCPL yang dikembangkan oleh Martin Richards pada tahun 1967. Bahasa ini memberikan ide pada Ken Thompson yang kemudian mengembangkan bahasa yang disebut dengan B pada tahun 1970. Perkembangan selanjutnya dari bahasa B adalah bahasa C yang ditulis oleh Dennis Ritchie sekitar tahun 1970-an di Bell Telephone Laboratories Inc. (sekarang adalah AT&T Bell Laboratories). Bahasa C pertama kali digunakan pada komputer Digital Equipment Corporation PDP-11 yang menggunakan sistem operasi UNIX.

Standar bahasa C yang asli adalah standar dari UNIX. Sistem operasi, kompiler C dan seluruh program aplikasi UNIX yang esensial ditulis dalam bahasa C. Kepopuleran bahasa C membuat versi-versi dari bahasa ini banyak dibuat untuk komputer mikro. Untuk membuat versi-versi tersebut menjadi standar, ANSI (American National Standard Institutes) membentuk suatu komite (ANSI Committee X3J11) pada tahun 1983 yang kemudian menetapkan standar ANSI untuk bahasa C. Standar ANSI ini didasarkan kepada standar UNIX yang diperluas.

Bahasa C mempunyai kemampuan lebih dibanding dengan bahasa pemrograman yang lain. Bahasa C merupakan bahasa pemrograman yang bersifat portabel, yaitu suatu program yang dibuat dengan bahasa C pada suatu komputer akan dapat dijalankan pada komputer lain dengan sedikit (atau tanpa) ada perubahan yang berarti.

Bahasa C merupakan bahasa yang biasa digunakan untuk keperluan pemrograman sistem, antara lain untuk membuat:

1. Assembler
2. Interpreter
3. Compiler
4. Sistem Operasi
5. Program bantu (utility)
6. Editor
7. Paket program aplikasi

Beberapa program paket yang beredar seperti dBase dibuat dengan menggunakan bahasa C, bahkan sistem operasi UNIX juga dibuat dengan menggunakan bahasa C. Bahasa C sesungguhnya merupakan bahasa pemrograman yang serbaguna dan pemakaiannya tidak terbatas untuk pemrograman sistem, namun juga dapat digunakan untuk aplikasi bisnis, matematis maupun games, bahkan untuk aplikasi kecerdasan buatan.

Dalam beberapa literatur, bahasa C digolongkan sebagai bahasa tingkat menengah (medium level language). Penggolongan ini bukan berarti bahasa C kurang ampuh atau lebih sulit dibandingkan dengan bahasa tingkat tinggi (high level language - seperti Pascal, Basic, Fortran, Java, dan lain-lain), namun untuk menegaskan bahwa bahasa C bukanlah bahasa yang berorientasi pada pada mesin yang merupakan ciri dari bahasa tingkat rendah (low level language), yaitu bahasa mesin dan assembly.

Pada kenyataannya, bahasa C mengkombinasikan elemen dalam bahasa tingkat tinggi dan bahasa tingkat rendah, yaitu kemudahan dalam membuat program yang ditawarkan pada bahasa tingkat tinggi dan kecepatan eksekusi dari bahasa tingkat rendah.




Kerangka Dasar Bahasa Pemrograman C

 Bahasa pemrograman C sama seperti bahasa pemrograman lainnya yang memiliki kerangka dasar. Kerangka Dasar Bahasa C adalah sebagai berikut :
       
1.      Fungsi main().
Fungsi main merupakan fungsi utama yang wajib ada pada saat kita membuat program dengan bahasa C. Dalam sebuah project hanya boleh ada 1 buah fungsi main() saja. Namun dalam bahasa C, tidak membatasi hanya boleh 1 fungsi saja, melainkan kita juga diperbolehkan untuk membuat fungsi-fungsi lain selain fungsi main() yang bisa mempermudah kita dalam membuat sebuah program.

2.      Deklarasi variabel
Pendeklarasian variabel ini dilakukan untuk mendaftarkan variabel apa saja yang akan kita gunakan dalam program yang kita buat. Pendeklarasian variabel ini biasanya sekaligus dengan mencantumkan tipe data dari variabel tersebut.

3.      Perintah (statement)
Perintah merupakan deretan program yang kita buat dalam sebuah project.
      
4.      Akses library
Digunakan untuk mengakses library apa saja yang kita perlukan dalam pembuatan sebuah program.
      
5.      Komentar
Komentar merupakan sebuah kalimat yang biasanya dicantumkan oleh seorang programer sebagai sebuah catatan kecil yang mana komentar ini tidak akan ikut di compile atau diproses.



Kelebihan dan Kekurangan Bahasa Pemrograman C


Bahasa C mempunyai beberapa kelebihan dibanding dengan bahasa pemrograman yang lain, yaitu:

KELEBIHAN

1. C mempunyai operator yang lengkap untuk memanipulasi data.
2. Berbagai struktur data dan pengendalian proses disediakan dalam C, sehingga memungkinkan dibuat program yang terstruktur, bahkan program yang berorientasi pada objek (OOP = Object Orientied Programming).
3. Dibanding dengan bahasa mesin atau rakitan (assembly), C jauh lebih mudah dipahami dan pemrogram tidak perlu tahu detail mesin komputer yang digunakan sehingga tidak menyita waktu dalam menyelesaikan masalah ke dalam bentuk program. C merupakan bahasa yang berorientasi pada permasalahan (objek), dan bukan berorientasi pada mesin.
4. Kecepatan eksekusi C mendekati kecepatan eksekusi program yang dibuat dengan bahasa tingkat rendah, namum kemudahan dalam memprogram setara dengan bahasa tingkat tinggi.
5. C memungkinkan memanipulasi data dalam bentuk bit maupun byte secara efisien. Disamping itu juga memungkinkan untuk melakukan manipulasi alamat dari suatu data yang dalam C dinamakan pointer.


KEKURANGAN

Adapun kelemahan --atau lebih tepatnya kesulitan bahasa pemrograman C terutama yang dirasakan oleh pemrogram pemula diantaranya adalah:
1. Banyaknya operator serta fleksibilitas penulisan program kadang-kadang membingungkan pemakai, yang jika belum familiar akan menimbulkan masalah.
2. Para pemrogram C tingkat pemula umumnya belum pernah mengenal pointer dan tidak terbiasa menggunakannya, padahal keampuhan bahasa C justru terletak pada pointer.
Read more ...

Pemrograman Bahasa Assembly

Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi  yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan kode “10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi mnemonik ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan oleh prosesor, sedangkan assembler adalah suatu program yang dapat menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh komputer. Program bahasa mesin sering disebut sebagai kode objek.
Baris-baris program yang mengandung instruksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51. Masing-masing baris atas beberapa field yang dipisahkan dengan spasi atau tabulasi adalah bagian label, bagian mnemonic, bagian operand yang bisa lebih dari satu bagian komentar dan diakhiri dengan END.
2.2.1    Bagian – Bagian Dari Program Assembler
Berikut ini adalah bagian – bagian dari rogram assembler yaitu:
  1. 1.      Label
            Label merupakan suatu simbol yang didefinisikan sendiri oleh pembuat program untuk menandai lokasi memori pada area program. Simbol dan label adalah dua hal yang berbeda. Simbol tidak menggunakan titik dua, sedangkan label harus diakhiri dengan titik dua.
                  Contoh :
                  PAR                      EQU 500        ; “PAR” Menunjukan suatu simbol
                                                                       ; dari nilai 500
                  MULAI:
                  MOV                      A, #0FFh       ; pada label; “Mulai” nilai 0FFh
                                                                        ; dipindahkan ke Akumulator
Dalam satu baris hanya ada satu label, pada umumnya Assembler membatasi jumlah karakter yang bisa digunakan hingga 31 karakter.
  1. 2.      Mnenonik
            Mnemonic instruksi atau pengarah Assembler dimasukan dalam “Mnemonic field” yang mengikuti “label mnemonic”. Mnemonic instruksi misalnya ADD, MOV, INC dan lain-lain.Sedangkan pengarah Assembler misalnya ORG, EQU, DB dan lain-lain.
  1. 3.      Operand
            Operand ditulis setelah mnemonic, bisa berupa alamat atau data yang digunakan instruksi yang bersangkutan.
          Contoh :
          MOV                      A, #20h         ; A dan #20h adalah operand
          LAGI:
          JNB                        LAGI            ; LAGI adalah operand
  1. 4.      Komentar
           Komentar harus diawali dengan titik koma. Sub rutin dari bagian besar program yang mengerjakan suatu operasi biasanya diawali dengan blok komentar yang menjelaskan fungsi sub rutin atau bagian besar program tersebut.
  1. 5.      End
            Petunjuk END merupakan kode perintah terakhir yang menunjukan batas akhir dari proses Assembly.
Instruksi yang sering digunakan dalam pembuatan program yaitu :
a.   Instruksi Aritmatik
               Instruksi aritmatik selalu melibatkan akumulator dan ada juga beberapa instruksi yang melibatkan register lain.
Berikut ini contoh instruksi–instruksi arimatika yaitu:
Tabel 2.4 Instruksi-instruksi Aritmatik
Instruksi
Keterangan
Contoh
ADD A,Rn Menambah isi register Rn dengan isi akumulator lalu disimpan di akumulator ADD A,R1
ADD A, direct Menambah isi direct dengan akumulator, hasilnya disimpan di akumulator ADD A, 30H
ADD A, #data Menambahkan immediate data ke akumulator ADD A, #20H
ADD A, @Rn Menambahkan isi dari alamat yang ditunjuk Rn dengan akumulator ADD A, @R1
ADDC A, #data Menambahkan immediate data ke akumulator dengan carry ADDC A, #20H
SUBB A, Rn Kurangkan isi register Rn dari akumulator SUBB A, R1
INC A Tambah isi akumulator dengan 1 INC A
DEC A Kurangkan isi akumulator denga 1 DEC A
MUL AB Kalikan isi A dengan isi B, low-byte disimpan pada akumulator, dan high byte pada B MUL AB
DIV AB Bagi isi A dengan isi B. Akumulator menerima hasil integer pembagian dan B menerima integer sisanya. DIV AB
  1. b.      Instruksi Logika
               Instruksi Logika ini dipakai untuk melakukan operasi logika, yaitu operasi AND (instruksi ANL), operasi OR (instruksi ORL), operasi Exclusive-OR (instruksi XRL), operasi clear (instruksi CLR), instruksi komplemen (instruksi CPL), operasi penggeseran kanan atau kiri (instruksi RR, RRC, RL dan RLC) serta operasi penukaran data (instruksi SWAP). Data yang dipakai dalam operasi  ini biasanya berupa data yang berada dalam akumulator atau data yang berada dalam memori data.
c.   Instruksi Pemindahan Data
Instruksi – instruksi pemindahan data adalah :
Tabel 2.5 Instruksi – instruksi Perpindahan Data
Instuksi
Keterangan
Contoh
MOV A, Rn Memindahkan isi register Rn ke akumulator MOV A, R0
MOV A,direct Memindahkan isi direct byte ke akumulator MOV A, 30h
MOV A , #data Mengisi akumulator dengan nilai data MOV A,#20h
MOV A, @Rn Mengisi akumulator dengan isi dari alamat yang ditunjuk oleh Rn MOV A, @R0
2.2.2    Mode – Mode Pengalamatan
  1. 1.      Mode Pengalamatan Langsung
            Dalam pengalamat langsung nilai yang akan disimpan dalam suatu memori diperoleh secara langsung dengan mengambil dari lokasi memori yang lain.
            Contoh :
     MOV A,30H         ; isi akumulator dengan bilangan 30 heksadesimal
  1. 2.      Mode Pengalamatan Tak Langsung
            Dalam pengalamatan tak langsung, instruksi menentukan  suatu register yang digunakan untuk menyimpan alamat operan
            Contoh :
ADD A,R         ; Tambahkan isi RAM yang lokasinya ditunjukan oleh register R1 ke akumulator.
DEC @R1        ; Kurangi satu isi RAM yang  alamatnya ditunjukan                  oleh register R1.
  1. 3.      Mode Pengalamatan Segera
            Cara ini menggunakan konstanta.
Contoh :
            MOV A,#20H        ; isi akumulator dengan bilangan 20 heksadesimal
Data konstanta merupakan data yang menyatu dengan instruksi, contoh intruksi diatas mempunyai arti bahwa data konstantanya, yaitu 20H, (sebagai data konstanta harus diawali dengan ’#’ dan tanda H untuk menyatakn format bilangan heksadesimal) disalin ke Akumulator (A).
  1. 4.      Mode Pengalamatan Data
            Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan alamat data yang akan diisi atau yang akan dipindahkan.
            Contoh :
MOV P1,A            ; isi P1 dari nilai akumulator.
  1. 5.      Mode Pengalamatan Bit
            Pengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk alamat lokasi bit, baik dalam RAM internal atau perangkat keras.
            Contoh :
            SETB P1.7            ; set bit port 1.7 high ( pot 1.7 diberi nilai logika 1)
Read more ...

Water Level Controller

Atau bisa juga disebut sebagai Alat Pengisi Tandon Air Otomatis.
Ada beberapa jenis alat pengindera air diantaranya:
  • Menggunakan sensor ultrasonik
  • Menggunakan probe untuk mendeteksi ketinggian air
Yang akan kita bahas disini adalah yang kedua yaitu memakai probe/ elektrode untuk mendeteksi ketinggian air. Prinsip kerja dari detektor ini adalah perubahan resistansi antara elektrode dengan air sebagai media penghantarnya. Ada 2 jenis rangkaian yang dipakai untuk mendeteksi ketinggian air yaitu:
  1. Memakai arus DC pada elektrode sebagai pengindera
 Jantung dari rangkaian ini adalah RS flip-flop yang dibentuk oleh IC1A dan IC1B CD4011 quad NAND Gate. Seperti terlihat pada gambar 1.

Gambar 1. Water Level Controller using DC current.
Tabel 1. Tabel Kebenaran
State
A
B
C
Q
1
1
1
0
1
2
0
1
1
1
3
0
0
1
0
4
0
1
1
0
1
1
1
0
1

Kondisi keadaan logika elektrode yang memungkinkan antara lain:
  • State 1, jika elektrode Low/High tidak tersentuh air maka titik A dan B akan tinggi (1). Dengan titik A tinggi maka titik C rendah sehingga RS flip-flop di set dan output Q akan tinggi, transistor T1 ON, relay ON yang menghidupkan pompa air. 
  • State 2 jjika elektrode Low tersentuh air maka titik A rendah, B tinggi, titik C tinggi, output Q tetap tinggi.
  • State 3, jjika elektrode High tersentuh air maka titik A rendah, B rendah, titik C tinggi, maka RS flip-flop akan reset sehingga output Q rendah, transistor T1 OFF, relay OFF yang mematikan pompa air.
  • State 4, jjika elektrode High tidak tersentuh air maka titik A rendah, B tinggi, titik C tinggi, output Q tetap rendah.
  • Kembali ke State 1, Jika kedua elektrode tidak tersentuh air maka titik A tinggi, titik B tinggi dan titik C rendah sehingga RS flip-flop set (tinggi) maka kembali seperti langkah 1 diatas.
 Kerugian dari memakai arus DC adalah adanya proses elektrolisa pada elektrode positif dan negatif, yang menyebabkan cepatnya terjadi korosi meskipun arusnya cukup kecil. Untuk memahami proses elektrolisa dapat dibaca disini.
Gambar 2. Alternatif Water Level Controller using DC current.
     2. Memakai arus AC pada elektrode sebagai pengindera.
Pada rangkaian menggunakan arus AC sebagai pengindera adalah modifikasi dari gambar 1, dimana input elektrode common memakai osilator dan elektrode High dan Low sebagai penerima gelombang yang dipancarkan elektrode common, dengan media air sebagai penghantar. Gambar 3 dibawah ini adalah rangkaiannya.
Gambar 3. Water Level Controller using AC current.
Rangkaian diatas adalah modifikasi dari gambar1, cara kerjanya sama, kecuali menggunakan arus AC sebagai pengindera kehadiran cairan/ air. Keunggulannya jelas, mengurangi terjadinya korosi akibat adanya proses elektrolisa yang terjadi diantara elektrodenya.
PEMBUATAN ELEKTRODE DAN PERAKITAN PCB
 Ini adalah Layout PCB Single side dari AC Water Level Controller yang berukuran 4x5cm. Garis merah adalah jumper.
Gambar 4. PCB dari AC Water Level Controller
Daftar komponen yang diperlukan antara lain:
Tabel 2. Parts List
Kalau kesulitan membeli relay 6V kita bisa pakai relay 12V dengan mengganti 78L06 menjadi 78L12 dan sekunder trafo 0 – 12VAC. Rangkaian ini bisa menggunakan tegangan 6V ~ 15V, tegantung dari IC CD4011 yang menurut datasheet tegangan supplynya sampai +18V.
 Agar rangkaian dan elektrode terlindung dari hujan atau panas kita pakai paralon 2,5 inch sebagai casing board dan paralon 1 inch sebagai tempat elektrode kita seperti tampak gambar 5 dibawah.
Gambar 5. Elektrode dan casing electronic board 
 Elektrode kita buat dari bahan stainles steel agar awet dan higienis meskipun aluminium juga bisa dengan diameter 3 atau 4mm. Elektrode perlu kita cor pakai larutan fiber dengan paralon 1 inch sebagai rumahnya, dan ujungnya kita bor 3mm untuk menyambung kabel ke rangkaian kita. Yang perlu diperhatikan disini adalah elektrode tidak boleh kena air kecuali bagian yang masuk ke tangki/ tandon, karena input rangkaian ini sangat sensitif sekali dengan adanya air.

Casing electronic board kita bisa pakai paralon 2,5 inch dengan shock 1,5 to 2,5 inch yang tersedia di toko bangunan. Trafo kita masukkan ke shock dan diatasnya kita pakai rubber tape yang agak tebal untuk menempelkan PCB kita. Dibawah shock kita lubangi untuk lubang kabel power dan output ke pompa. Yang paling atas adalah cover paralon 2,5 inch sebagai penutup, kita bisa pakai lem silicon yang biasa dipakai mengelem kaca akuarium sebagai perekat. Jangan memakai lem PVC karena akan sulit untuk membukanya. 

Setelah selesai kita pasang di atas tangki/ tandon air dengan mengebor 1,5 inch sesuai dengan besar shock yang kita pakai. Sesuaikan panjang elektrode dengan tinggi tandon yang kita pakai baik elektrode low maupun high. Pasang kabel merah ke phase dan kuning ke Netral sumber listrik 220V, dan kabel hijau dan kuning ke kabel motor pompa. Kalau jarak motor dan tandon jauh kita cukup menyambung kabel hijau ke motor pompa dan satunya kita sambung ke Netral dari instalasi listrik terdekat.
Read more ...
Designed By