Showing posts with label elektronika. Show all posts
Showing posts with label elektronika. Show all posts

Modul Sensor Suhu LM35 Untuk Mikrokontroler AVR

1

Sensor suhu LM35 merupakan salah satu sensor yang paling populer dikalangan praktisi elektronik, baik pemula maupun profesional. Sensor ini cukup terjangkau harganya dan mudah didapatkan di toko-toko elektronik lokal.
Tak hanya murah, tegangan keluaran sensor yang linier dengan kenaikan 10mV/°C menjadikannya mudah diaplikasikan baik pada sistem analog maupun sistem digital. Lebih lengkap mengenai sensor LM35 dapat dilihatdi: Rangkaian Sensor Suhu LM35.
Foto disamping adalah modul sensor suhu LM35 untuk mikrokontroler ATMEL AVR. Selain untuk mikrokontroler AVR, modul ini dapat juga diaplikasikan dengan keluarga mikrokontroler yang lain, atau dengan rangkaian lain seperti rangkaian ADC untuk akuisisi data atau rangkaian komparator analog.
Modul ini dirancang untuk menskalakan tegangan keluaran sensor LM35DZ yang berkisar antara 0-1V menjadi 0-5V. Sehingga dengan demikian sangat cocok untuk diantarmukakan dengan mikrokontroler ATMEL AVR seperti ATmega8, ATmega8535, ATmega16, maupun ATtiny yang memiliki ADC internal. Dengan menggunakan modul ini, maka range ADC internal 10-bit yang dimiliki AVR akan optimal mengkonversikan suhu antara 0-100°C menjadi bilangan digital 0-0123.
Gambar disamping adalah blok sederhana untuk mengilustasikan koneksi antara modul LM35 dengan mikrokontroler AVR ATmega. GND keduanya harus dipastikan terhubung agar memiliki referensi tegangan yang sama. Jika keduanya menggunakan catu daya yang sama, maka hal ini tidak perlu dikhawatirkan lagi karena pasti GND-nya sudah menjadi satu.
Masalah sepele seperti ini seringkali membingungkan praktisi pemula yang seringkali belum memahami konsep referensi tegangan dengan baik. Namun demikian, tak jarang pula praktisi yang berpengalaman melewatkan atau melupakan hal ini.
Sulitkah program antarmuka modul sensor suhu LM35 dengan AVR? Berikut adalah cuplikan program antarmuka antara modul sensor suhu LM35 dengan board STARDUINO. Keluaran modul LM35 dihubungkan dengan ADC0.
Program membaca data sensor melalui kaki ADC0. Data hasil konversi ADC tersebut kemudian dikalkulasi untuk mendapatkan nilai suhu terukur. Selanjutnya, mikro mengirimkan data ADC dan SUHU ke port serial. Tidak sulit bukan? :D
Dengan menggunakan modul sensor suhu LM35, maka hasil pengukuran besaran suhu akan menjadi lebih akurat dan lebih presisi. Jauh lebih baik hasilnya jika dibandingkan dengan menghubungkan secara langsung kaki keluaran sensor LM35 ke kaki ADC0.

ATmega8

0

ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K Bytes In-System Programmable Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16 MIPS pada frekuensi 16MHz. Berikut adalah fitur selengkapnya dari AVR ATmega8.
+ High-Performance, Low-Power AVR 8-bit RISC Microcontroller
+ Advanced RISC Architecture
  • 130 Powerful Instructions – Most Single-clock Execution
  • 32 x 8 General Purpose Working Registers
  • Fully Static Operation
  • Up to 16 MIPS Throughput at 16MHz
  • On-chip 2-cycle Multiplier
+ High-Endurance Non-Volatile Memory segments
  • 8K Bytes In-System Self-programmable Flash Program Memory
  • 512 Bytes EEPROM
  • 1K Bytes of Internal SRAM
  • Write/Erase Cycles: 10,000 Flash / 100,000 EEPROM
  • Data Retention: 20 years at 85`C / 100 years at 25`C
  • Opitonal Boot Code Section with Independent Lock Bits
  • In-System Programming by On-chip Boot Program
  • True Read-While-Write Operation
  • Programming Lock for Software Security
+ Peripheral features
  • Two 8-bit Timers/Counters with Separate Prescaler, one Compare Mode
  • One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode
  • Real Time Counter with Separate Oscillator
  • Three PWM Channels
  • 6-channel ADC with 10-bit Accuracy
  • Byte-oriented Two-wire Serial Interface
  • Programmable Serial USART
  • Master/Slave SPI Serial Interface
  • Programmable Watchdog Timer with Separate On-Chip Oscillator
  • On-Chip Analog Comparator
+ Special Microcontroller features
  • Power-On Reset and Programmable Brown-out Detection
  • Internal Calibrated RC Oscillator
  • External and Internal Interrupt Sources
  • Five Sleep Modes: Idle, ADC Noise Reduction, Power-save, Power-down, and Standby
+ I/O and Packages
  • 23 Programmable I/O Lines
  • 28-lead PDIP, 32-lead TQFP, and 32-pad QFN/MLF
+ Operating Voltages
  • 2.7 – 5.5V (ATmega8L)
  • 4.5 – 5.5V (ATmega8)
+ Speed Grades
  • 0 – 8MHz (ATmega8L)
  • 0 – 16MHz (ATmega8)
+ Power Consumption at 4MHz, 3V, 25`C
  • Active: 3.6 mA
  • Idle Mode: 1.0 mA
  • Power-Down Mode: 0.5 uA
Pin Layout
atmega81
Selamat belajar!

Transistor Tester

1

The circuit shown below is a simple circuit transistor tester. In some digital and analog avometer now mostly been contained this feature, but it can not hurt us a little more creative. This circuit can also be used to detect whether a transistor is NPN / PNP.

Rangkaian Transistor TesterSkema Rangkaian Transistor Tester
Circuit operation is as follows. The 555 timer is set up as a multi-vibrator 12hz. The output on pin 3 drives the 4027 flip-flop. This flip-flop divides the input frequency by two and delivers complementary voltage outputs to pin 15 and 14. The outputs are connected to LED1 and LED2 through the current limiting resistor R3. The LED's are Arranged so Pls That the polarity across the circuit is one way only one LED will from light and Pls the polarity reverses the other LED light earnest, therefore Pls no transistor is connected to the tester the LED's will from alternately flash. Also The 4027 outputs are connected to resistors R4 and R5 with the junction of these two resistors connected to the base of the transistor being tested. With a good transistor connected to the tester, the transistor will of turn on and Produce a short across the LED pair. If a good NPN transistor is connected then LED1 will from flash by Itself and if a good PNP transistor is connected then LED2 will from flash by Itself. If the transistor is open both LED's will from flash and if the transistor is shorted then neither LED will from flash.

IC NE555 PinoutIC NE555 Pinout
IC 4027 Pinout

Crystal Tester

0

Kristal Tester

In the world of electronics using crystal oscilator almost always in use. In the circuit below is a series to test the crystal. (Not measuring frequensy). With this circuit we could find out whether the crystal is still good or not. Test Clip to attach electrodes on crystal (foot), S1 in the press (On) then LED1 will light up if the crystal is still good. if you mendapa difficulties 2N356U transistors can be used with the type of transistor NTE123AP / PN100 / 2N3904.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-Tm4BlV-sILQAqaO3CelXoMB4x-DMK1iT69Qkd6DWBZJUw-yMGl5bndJ5vNMQV7e21toUORGBSywYQemRSE0myDw-0NypmQOvLlRmQwwb9F-4mY11ey4YGfeypCDjLGSkAPWyslAY72k/s400/xtaltst1.gif 
Skema rangkaian kristal tester

The mechanism of this crystal tester is very simple. If a good crystal is connected to the test lead, the oscillator will work, and an AC signal will be generated at Q1 emitter. This AC signal will flow through capacitor C3 and trigger the Q2 to light the LED indicator. The diode 1N4148 provide the back path for the AC signal. If the crystal is bad, the oscillator won’t work, and there is only DC voltage level at Q1 emitter. This DC voltage level won’t trigger the Q2 transistor since the capacitor C3 block any DC signal. You can use any high gain high frequency transistor for this crystal tester circuit, in case you can’t find exact transistor series as shown in the schematic diagram.

Metal Detector Circuit

1

This is a metal detector circuit used IC CS209A . A 100uH coil is used to sense the presence of metal. The IC CS209A has a built in oscillator circuit and the coil L1 forms a part of its external LC circuit which determines the frequency of oscillation. The inductance of the coil change in the presence of metals and the resultant change in oscillation is demodulated to create an alarm. The LED gives a visual indication too. This circuit can sense metals up to a distance of few inches.

Pendeteksi Metal
Skema Rangkaian Pendeteksi Metal

Note:
The switch S1 can be a slide type ON/OFF switch.
The POT R1 can be used to adjust the sensitivity of the circuit.



IC CS209A Description

The CS209A is a bipolar monolithic integrated circuit for use in metal detection (Pendeteksi Metal)/ proximity sensing applications. The IC (see block diagram) contains two on-chip current regulators, oscillator and low-level feedback circuitry, peak detection/demodulation circuit, a comparator and two complementary output stages.

The oscillator, along with an external LC network, provides controlled oscillations
where amplitude is highly dependent on the Q of the LC tank. During low Q conditions, a variable low-level feedback circuit provides drive to maintain oscillation. The peak demodulator senses the negative portion of the oscillator envelop and provides a demodulated waveform as input to the comparator. The comparator sets the states of the complementary outputs by comparing the input from the demodulator to an internal reference. External loads are required for the output pins. A transient suppression circuit is included to absorb negative transients


Lay out IC CS209A and diagram blog IC CS209A


Absolute Maximum Ratings
Supply Voltage ................................................................................................24V
Power Dissipation (TA = 125¡C).............................................................200mW
Storage Temperature Range ....................................................Ð55¡C to +165¡C
Junction Temperature...............................................................Ð40¡C to +150¡C
Electrostatic Discharge (except TANK pin) ................................................2kV
Lead Temperature Soldering
Wave Solder(through hole styles only) ...........10 sec. max, 260¡C peak
Reflow (SMD styles only) ...........60 sec. max above 183¡C, 230¡C peak

Rangkaian Jam Digital berbasis Mikrokontroler AT89s51

0

Digital hours to make this not too difficult. This series is not my original project, I trace the series of files and program from the internet, there is no chance the program listing. After I download the file to its hex-hour direct way. This clock only displays hours and minutes, to seconds However you can install the led associated with a series of I Hz oscillator formed from IC 555 (which I do, because I do not know the program listing), 2 led in parallel and installed as a bookmark seconds. Led to two installed in the middle of the hours and minutes. Although with the way that seconds and minutes if observed (calculated) decline slightly but I'm not the problem, Moreover people will not know about it. Digital hours following scheme:

Circuit digital watch

To me its PCB design itself, of course are still using my favorite software, PCB designer. Next the PCB layout (look up) :


PCB layout of digital watch


  • PCB file can download it here.
  • Hex file. can be downloaded here.

Rangkaian Pengukur Jarak

0

This circuit Can be Used to Measure distance covered by bicycle using a reed switch as the sensor and use the magnet tied to a wheel. Detection of rolling is then made by a proximity effect, Pls the magnet close to the reed switch. This close / open reed switch contact Can use to make on-off signal. 68HC908QY4 microcontroller function for counting the pulse signal Produced by reed switches, and then Direct display in meter unit through lcd 16 x 1 line LCD

 Pengukur Jarak Prototipe Pengukur Jarak Prototipe

Rangkaian Pengukur JarakSkema rangkaian pengukur jarak

To Interface signals for LCD are D4-D7, RS and E. 4-bit It was interfacing, no busy checking. D0-D3 and R / W # is not Used, so We must tie to GND. Since We Can not check Busy bit, so the delay routine must be ready LCD Used to wait for command and writing data. The sensor inputs are PTA2 for reed switch contact and PTA0 for 0 / +5 V analog input can use a small phone jack for both sensors. in the image below shows a sample sensor and cable making. Later shrinkage tube We need to protect the sensor. The position sensor Pls Pls fix to the bicycle wheel Also Important. We need the magnetic flux perpendicular to the contact.

sensor and cable making

Software/program

Software for write to68HC908QY4 microcontroller is s-record.hex ,which was written by C-language ,the source code is firmware source code.

source http://chaokhun.kmitl.ac.th

ATmega8535 Minimum System

1

hai gan. do you now about Minimum System ATmega8535 microcontroller? Minimum System ATmega8535 microcontroller, is the minimum necessary circuits for the operation of the microcontroller IC, then this minimum circuit can be connected with other circuits to perform certain functions. In the AVR microcontroller family, Atmega8535 series is one series that is very widely used.

 Rangkaian Sistem Minimum Mikrokontroler ATmega8535 Skema Rangkaian Sistem Minimum
Mikrokontroler ATmega8535

To make this ATmega8535 microcontroller minimum system required several components, namely:
  • ATmega8535 microcontroller IC
  • 1 XTAL 4 MHz or 8 MHz (XTAL1)
  • 3 paper capacitors, two 22 pF (C2 and C3) and 100 nF (C4)
  • a 4.7 UF electrolytic capacitors (C12) 2 is 100 ohm resistor (R1) and 10 Kohm (R3)
  • 1 reset button pushbutton (PB1
  • DC 5V voltage regulator
Briefly, ATMega8535 has several capabilities:
  • Microcontroller based 8-bit RISC with a maximum speed of 16 MHz.
  • Has 8 KB of flash memory, SRAM and 512 bytes of EEPROM (Electrically Erasable Programmable Read Only Memory) of 512 bytes.
  • Having the ADC (analog converter-to-digital) 10 bit internal precision of 8 channel.
  • Has a PWM (Pulse Wide Modulation) as much as four internal channels.
  • Serial communication port (USART), with maximum speed of 2.5 Mbps.
  • Six options sleep mode, to save the use of electric power.
ATmega8535ATmega8535ATmega8535 Pinning

ATMega8535 microcontroller has 40 pins for the model PDIP. The names of the pins on the microcontroller are
  • VCC for the positive power supply voltage.
  • GND to the negative power supply voltage.
  • Porta (PA0 - PA7) as a port Input / Output and has other capabilities as an input to the ADC is
  • PortB (PB0 - PB7) as a port input / output and also has other capabilities.
  • PortC (PC0 - PC7) as a port Input / Output to ATMega8535.
  • PortD (PD0 - PD7) as a port input / output and also has other capabilities.
  • RESET for resetting the program in the microcontroller.
  • XTAL1 and XTAL2 to input clock signal generator.
  • AVCC for the power supply voltage input pin for the ADC.
  • Aref for ADC reference voltage pin.

Pengenalan bahasa C

0

http://mustarif.files.wordpress.com/2010/09/c.pngbahasa yang sering menjadi dasar dari bahasa pemrograman lain adalah bahasa C.Bahasa C sebenarnya berasal dari bahasa B yang dikembangkan lebih lanjut oleh Dennis Ritchie sekitar tahun 1970-an. Semakin lama bahasa C semakin populer dalam ilmu elektronika digital dan mikrokontroler sehingga banyak pihak yang membuat berbagai versi dari bahasa ini untuk komputer mikro mereka masing-masing. Pada tahun 1983, ANSI (American National Standards Institute) menetapkan standar ANSI untuk bahasa C.
Fungsi dalam bahasa C
Seperti bahasa pemrograman lainnya, program yang ditulis dengan bahasa C mempunyai struktur. Secara umum program dengan bahasa C terdiri dari satu fungsi atau lebih.
Fungsi yang dijalankan terlebih dahulu adalah fungsi main()”.
Fungsi main()harus ada dalam sebuah program C. Kemudian dari fungsi ini kita bisa memanggil fungsi-fungsi lain yang diperlukan sesuai dengan tujuannya. Setiap fungsi dalam bahasa C ditandai dengan penulisan nama fungsi diikuti dengan definisi fungsi di dalam tanda kurung kurawal ({ dan }).
main()
{
// definisi fungsi
}
fungsi_lain
()
{
//definisi fungsi
}
Fungsi-fungsi lain (selain fungsi utama) dapat diletakkan pada satu file yang sama dengan fungsi utama atau dituliskan di dalam file library. Jika fungsi tersebut dimasukkan ke dalam file library, maka nama file tersebut harus dilibatkan ke dalam program yang menggunakannya dengan preprocessot directive #include.
Kode dalam bahasa C harus terlebih dahulu di-compile. Kode bahasa C yang berekstensi *.c (* berarti apapun, misal hello.c, apakabar.c, dll) di-compile oleh suatu compiler untuk menjadi sebuah file yang bisa dieksekusi. File yang bisa dieksekusi ini berekstensi *.exe (dalam Windows
Compiler adalah sebuah program yang menerjemahkan kode ke dalam bahasa mesin sehingga dapat dieksekusi”.Compiler untuk bahasa C yang bebas untuk digunakan salah satunya adalah GCC (GNU C Compiler).IDE atau Integrated Development Environment adalah suatu lingkungan terpadu yang berfungsi membantu mempercepat pembuatan program. Di dalam IDE ini biasanya sudah terdapat editor dan compiler yang dibutuhkan. \IDE untuk bahasa C yang bebas untuk digunakan adalah Dev C.
//hello.c
#include

void main()

{

printf(“Hello World\n”);

System(“PAUSE”);

}


// hello.c
Baris ini adalah baris komentar, tidak akan di-compile oleh compiler. Tanda // menandakan komentar satu baris. Artinya kata-kata yang berada pada baris yang sama dengan tanda // dianggap sebagai komentar, sehingga tidak di-compile.
Selain tanda //, ada juga tanda /* … */. Ini berarti kata-kata yang berada di antara tanda /* dan */ akan dianggap sebagai komentar.
Misal:
/*
Di sini adalah komentar
Di sini masih komentar
*/
Dua baris yang berada di antara tanda /* dan */ akan dianggap sebagai komentar.
#include
Seperti yang telah dijelaskan di atas, program hello.c ini mengambil referensi library ke file header stdio.h. Di dalam file header ini terdapat berbagai macam fungsi input dan output standar dari bahasa C.void main()Baris di atas adalah deklarasi dari fungsi. Baris tersebut mengatakan kepada komputer bahwa kita akan membuat fungsi dengan tipe kembali void bernama main tanpa menggunakan parameter.Tipe kembali adalah tipe data yang akan dikembalikan oleh sebuah fungsi.
Di dalam dunia komputer, setiap data memiliki tipe. Misalkan int (bilangan bulat), float (bilangan pecahan), char (karakter), dan sebagainya. Penjelasan mengenai tipe data akan dijelaskan lebih lanjut nanti pada bagian tipe data.Sekarang mengenai tipe kembali. Misalkan kita memiliki sebuah fungsi, katakanlah fungsi sinus. Fungsi ini akan kita simpan ke sebuah variabel, misalkan y. Kalau kita notasikan sebagai berikut:y = x +5Maka x+5 akan memberikan suatu nilai atau dengan kata lain mengembalikan suatu nilai. Misalkan kita anggap bahwa nilai yang akan kita masukkan adalah bilangan bulat, maka kita akan menggunakan tipe data integer. Nilai x pada x+5 adalah nilai yang dimasukkan oleh pengguna dan nilainya dapat berubah-ubah. Inilah yang kita sebut sebagai parameter.Sehingga jika kita menuliskan fungsi tersebut dalam bahasa C, kira-kira beginiint fungsi(int x){// penjelasan fungsi }Hal ini akan dijelaskan lebih detail pada bagian fungsi.Jadi void main() berarti fungsi main ini tidak akan mengembalikan suatu nilai (void).Lanjut ke dalam baris program:pritnf(“Hello world\n”);Baris ini berarti program memanggil suatu fungsi printf yang berada dalam library stdio.h. Fungsi printf ini berfungsi menampilkan parameter yang diterimanya di layar. Dalam hal ini, parameternya adalah sebuah kalimat “Hello world\n”.
Tanda \n itu adalah escape character untuk new line atau ganti baris. Kursor nanti akan berada satu baris di bawah tulisan tersebut berada.
System(“PAUSE”);
Baris ini memanggil fungsi untuk menahan tampilan sementara sebelum program menutup dirinya setelah di-eksekusi. Sehingga kita masih sempat melihat hasil dari program kita sebelum program tersebut selesai dieksekusi.Hal yang perlu diperhatikan dalam membuat program dengan bahasa C adalah bahwa bahasa ini bersifat case sensitive dan untuk setiap statementnya diakhiri dengan tanda titik koma (;). Case sensitive berarti bahwa setiap karakter kapital berbeda dengan karakter biasanya. Artinya printf dan Printf adalah dua buah entitas yang berbeda.

KECERDASAN BUATAN DALAM ROBOTIK

0


KECERDASAN BUATAN DALAM ROBOTIK


Kecerdasan Buatan (Artificial Intelligence) dalam robotik adalah suatu algorithma (yang dipandang) cerdas yang diprogramkan ke dalam kontroler robot. Pengertian cerdas di sini sangat relatif, karena tergantung dari sisi mana sesorang memandang.
Para filsuf diketahui telah mulai ribuan tahun yang lalu mencoba untuk memahami dua pertanyaan mendasar: bagaimanakah pikiran manusia itu bekerja, dan, dapatkah yang bukan-manusia itu berpikir? (Negnevitsky, 2004). Hingga sekarang, tak satupun mampu menjawab dengan tepat dua pertanyaan ini. Pernyataan cerdas yang pada dasarnya digunakan untuk mengukur kemampuan berpikir manusia selalu menjadi perbincangan menarik karena yang melakukan penilaian cerdas atau tidak adalah juga manusia. Sementara itu, manusia tetap bercita-cita untuk menularkan �kecerdasan manusia� kepada mesin.
Dalam literatur, orang pertama yang dianggap sebagai pionir dalam mengembangkan mesin cerdas (intelligence machine) adalah Alan Turing, sorang matematikawan asal Inggris yang memulai karir saintifiknya di awal tahun 1930-an. Di tahun 1937 ia menulis paper tentang konsep mesin universal (universal machine). Kemudian, selama perang dunia ke-2 ia dikenal sebagai pemain kunci dalam penciptaan Enigma, sebuah mesin encoding milik militer Jerman. Setelah perang, Turing membuat �automatic computing engine�. Ia dikenal juga sebagai pencipta pertama program komputer untuk bermain catur, yang kemudian program ini dikembangkan dan dimainkan di komputer milik Manchester University. Karya-karyanya ini, yang kemudian dikenal sebagai Turing Machine, dewasa ini masih dapat ditemukan aplikasi-aplikasinya. Beberapa tulisannya yang berkaitan dengan prediksi perkembangan komputer di masa datang akhirnya juga ada yang terbukti. Misalnya tentang ramalannya bahwa di tahun 2000-an komputer akan mampu melakukan percakapan dengan manusia. Meski tidak ditemukan dalam paper-papernya tentang istilah �resmi�: artificial intelligence, namun para peneliti di bidang ini sepakat untuk menobatkan Turing sebagai orang pertama yang mengembangkan kecerdasan buatan.
Secara saintifik, istilah kecerdasan buatan � untuk selanjutnya disebut sebagai AI (artificial intelligence) � pertama kali diperkenalkan oleh Warren McCulloch, seorang filsuf dan ahli perobatan dari Columbia University, dan Walter Pitts, seorang matematikawan muda pada tahun 1943, (Negnevitsky, 2004). Mereka mengajukan suatu teori tentang jaringan saraf tiruan (artificial neural network, ANN) � untuk selanjutnya disebut sebagai ANN � bahwa setiap neuron dapat dipostulasikan dalam dua keadaan biner, yaitu ON dan OFF. Mereka mencoba menstimulasi model neuron ini secara teori dan eksperimen di laboratorium. Dari percobaan, telah didemonstrasikan bahwa model jaringan saraf yang mereka ajukan mempunyai kemiripan dengan mesin Turing, dan setiap fungsi perhitungan dapat dapat diselesaikan melalui jaringan neuron yang mereka modelkan.
Kendati mereka meraih sukses dalam pembuktian aplikasinya, pada akhirnya melalui eksperimen lanjut diketahui bahwa model ON-OFF pada ANN yang mereka ajukan adalah kurang tepat. Kenyataannya, neuron memiliki karakteristik yang sangat nonlinear yang tidak hanya memiliki keadaan ON-OFF saja dalam aktifitasnya. Walau demikian, McCulloch akhirnya dikenal sebagai orang kedua setelah Turing yang gigih mendalami bidang kecerdasan buatan dan rekayasa mesin cerdas. Perkembangan ANN sempat mengalami masa redup pada tahun 1970-an. Baru kemudian pada pertengahan 1980-an ide ini kembali banyak dikaji oleh para peneliti.
Sementara itu, metoda lain dalam AI yang sama terkenalnya dengan ANN adalah Fuzzy Logic (FL) � untuk selanjutnya ditulis sebagai FL. Kalau ANN didisain berdasarkan kajian cara otak biologis manusia bekerja (dari dalam), maka FL justru merupakan representasi dari cara berfikir manusia yang nampak dari sisi luar. Jika ANN dibuat berdasarkan model biologis teoritis, maka FL dibuat berdasarkan model pragmatis praktis. FL adalah representasi logika berpikir manusia yang tertuang dalam bentuk kata-kata.
Kajian saintifik pertama tentang logika berfikir manusia ini dipublikasikan oleh Lukazewicz, seorang filsuf, sekitar tahun 1930-an. Ia mengajukan beberapa representasi matematik tentang �kekaburan� (fuzziness) logika ketika manusia mengungkapkan atau menyatakan penilaian terhadap tinggi, tua dan panas (tall, old, & hot). Jika logika klasik hanya menyatakan 1 atau 0, ya atau tidak, maka ia mencoba mengembangkan pernyataan ini dengan menambahkan faktor kepercayaan (truth value) di antara 0 dan 1.
Di tahun 1965, Lotfi Zadeh, seorang profesor di University of California, Berkeley US, mempublikasikan papernya yang terkenal, �Fuzzy Sets�. Penelitian-penelitian tentang FL dan fuzzy system dalam AI yang berkembang dewasa ini hampir selalu menyebutkan paper Zadeh itulah sebagai basis pijakannya. Ia mampu menjabarkan FL dengan pernyataan matematik dan visual yang relatif mudah untuk dipahami. Karena basis kajian FL ini kental berkaitan dengan sistem kontrol (Zadeh adalah profesor di bidang teknik elektro) maka pernyataan matematiknya banyak dikembangkan dalam konteks pemrograman komputer.
Metoda AI lain yang juga berkembang adalah algorithma genetik (genetic algorithm, GA) � untuk selanjutnya disebut sebagai GA. Dalam pemrograman komputer, aplikasi GA ini dikenal sebagai pemrograman berbasis teori evolusi (evolutionary computation, EC) � untuk selanjutnya disebut sebagai EC. Konsep EC ini dipublikasikan pertama kali oleh Holland (1975). Ia mengajukan konsep pemrograman berbasis GA yang diilhami oleh teori Darwin. Intinya, alam (nature), seperti manusia, memiliki kemampuan adaptasi dan pembelajaran alami �tanpa perlu dinyatakan: apa yang harus dilakukan�. Dengan kata lain, alam memilih �kromosom yang baik� secara �buta�/alami. Seperti pada ANN, kajian GA juga pernah mengalami masa vakum sebelum akhirnya banyak peneliti memfokuskan kembali perhatiannya pada teori EC.
GA pada dasarnya terdiri dari dua macam mekanisme, yaitu encoding dan evaluation. Davis (1991) mempublikasikan papernya yang berisi tentang beberapa metoda encoding. Dari berbagai literatur diketahui bahwa tidak ada metoda encoding yang mampu menyelesaikan semua permasalahan dengan sama baiknya. Namun demikian, banyak peneliti yang menggunakan metoda bit string dalam kajian-kajian EC dewasa ini.
Aplikasi AI dalam kontrol robotik dapat diilustrasikan sebagai berikut,


Gambar 4.1: Kontrol robot loop tertutup berbasis AI
Penggunaan AI dalam kontroler dilakukan untuk mendapatkan sifat dinamik kontroler �secara cerdas�. Seperti telah dijelaskan di muka, secara klasik, kontrol P, I, D atau kombinasi, tidak dapat melakukan adaptasi terhadap perubahan dinamik sistem selama operasi karena parameter P, I dan D itu secara teoritis hanya mampu memberikan efek kontrol terbaik pada kondisi sistem yang sama ketika parameter tersebut di-tune. Di sinilah kemudian dikatakan bahwa kontrol klasik ini �belum cerdas� karena belum mampu mengakomodasi sifat-sifat nonlinieritas atau perubahan-perubahan dinamik, baik pada sistem robot itu sendiri maupun terhadap perubahan beban atau gangguan lingkungan.
Banyak kajian tentang bagaimana membuat P, I dan D menjadi dinamis, seperti misalnya kontrol adaptif, namun di sini hanya akan dibahas tentang rekayasa bagaimana membuat sistem kontrol bersifat �cerdas� melalui pendekatan-pendekatan AI yang populer, seperti ANN, FL dan EC atau GA.
Gambar 4.1 mengilustrasikan tentang skema AI yang digunakan secara langsung sebagai kontroler sistem robot. Dalam aplikasi lain, AI juga dapat digunakan untuk membantu proses identifikasi model dari sistem robot, model lingkungan atau gangguan, model dari tugas robot (task) seperti membuat rencana trajektori, dan sebagainya. Dalam hal ini konsep AI tidak digunakan secara langsung (direct) ke dalam kontroler, namun lebih bersifat tak langsung (indirect).
Kecerdasan Buatan





Istilah kecerdasan buatan sebenarnya berasal dari bahasa Inggris: “Artificial Intelligence”. Jika diartikan tiap kata, artificial artinya buatan, sedangkan intelligence adalah kata sifat yang berarti cerdas. Jadi artificial intelligence maksudnya adalah sesuatu buatan atau suatu tiruan yang cerdas. Cerdas di sini kemungkinan maksudnya adalah kepandaian atau ketajaman dalam berpikir, seperti halnya otak manusia dalam menyelesaikan suatu masalah.
Secara awam kecerdasan buatan diterjemahkan sebagai sebuah sistem saraf, atau sensor atau otak yang diciptakan oleh sebuah mesin. Sebenarnya kecerdasan buatan merujuk kepada mesin yang mampu untuk berpikir, menimbang tindakan yang akan diambil, dan mampu mengambil keputusan seperti yang dilakukan oleh manusia.
Alan Turing, ahli matematika berkebangsaan Inggris yang dijuluki bapak komputer modern dan pembongkar sandi Nazi dalam era Perang Dunia II tahun 1950, dia menetapkan definisi Artificial Intelligent : Jika komputer tidak dapat dibedakan dengan manusia saat berbincang melalui terminal komputer, maka bisa dikatakan komputer itu cerdas, mempunyai intelegensi.
Kecerdasan buatan itu sesuatu yang diciptakan oleh manusia, untuk menggantikan manusia. Jadi bisa jadi kecerdasan buatan itu merupakan suatu ancaman.

Walau pun menyadari bahwa kecerdasan buatan bisa jadi adalah suatu ancaman untuk manusia, tapi manusia masih saja mengembangkan apa yang disebut dengan kecerdasan buatan. Manusia masih saja mencoba mengembangkan / mendapatkan sesuatu (teknologi) yang baru, yang dapat berpikir seperti manusia. Hal ini terjadi karena adanya ketidakpuasan dalam diri manusia, manusia ingin mendapatkan sesuatu dengan cara yang lebih mudah. Lagipula memang ada keterbatasan-keterbatasan dalam diri manusia, seperti otak manusia yang hanya mampu berpikir dengan frekuensi kira-kira 100 Hz dan karena manusia mempunyai rasa capai. Bandingkan dengan komputer sekarang yang mampu mengolah data dengan frekuensi 4 GHz. Komputer juga tidak mempunyai rasa capai walau pun harus mengolah data yang sama berulang-ulang.

Walaupun terasa sangat futuristik dan terlihat berbahaya, karena mesin nantinya akan memiliki kecerdasan dan emosi, para pakar AI menganggap pengembangan disiplin ilmu ini penting karena bisa diterapkan di Internet nantinya. Misalnya saja, di masa mendatang ketika Anda mengunjungi sebuah situs agen perjalanan, maka di layar komputer akan muncul wajah seorang wanita yang sangat sempurna karena semuanya berupa ciptaan komputer. Uniknya, Anda akan mampu bercakap-cakap dengan wanita artifisial ini, seperti layaknya Anda berbicara dengan staff wanita beneran di counter biro perjalanan. Kalau ini tercapai, maka pelayanan dapat diberikan 100% online, dengan akurasi yang sangat tinggi. Terutama dari konsistensi, keramahan, kecepatan dan akurasi pelayanan. Lain kalau kita menggunakan staff manusia asli yang konsistensinya tidak bisa akurat karena terpengaruh kepada kondisi fisik dan emosi saat itu.
Saat ini sudah banyak teknologi kecerdasan buatan yang dihasilkan dan dipakai oleh manusia. Misalnya saja pada robot Asimo yang bisa menari dan berjalan, atau pada permainan komputer yang dirancang untuk membuat manusia berpikir keras untuk mengalahkannya. Contoh lain ada di industri otomotif. Adanya teknologi komputer yang mampu mengolah data dengan cepat dipakai untuk memberikan peringatan pada pengemudi mobil untuk menghindari terjadinya tabrakan.Yak… begitulah sedikit cerita tentang Kecerdasan Buatan.
PENERAPAN kecerdasan buatan menggunakan algoritma minimax pada permainan tik-tak





Kecerdasan buatan dapat diterapkan atau dimplementasikan kedalamberbagai bentuk aplikasi. Bentuk implementasi yang paling mudah untuk diukurtingkat keberhasilan dan cukup digemari oleh sebagain besar publik yaitu padagames atau permainan. Permainan yang digunakan sebagai mediapengimplementasian pada kasus ini adalah permaian Tik-tak atau dalam bahasaInggris dikenal dengan nama Tic-tac-toe. Tik-tak adalah salah satu permainanlogika yang cukup populer dimasyarakat kita juga masyarakat internasional.Meskipun dimasing-masing daerah permainan ini memiliki nama yang berbedabeda,namun pola dan aturan permainan tetap sama.Algoritma yang digunakan pada kecerdasan buatan tersebut menggunakanalgoritma Minimax. Minimax menurut beberapa pakar kecerdasan buatanmerupakan salah satu algoritma yang sering digunakan dalam penerapankecerdasan buatan pada permainan, khususnya permainan logika, antara lainCatur, Go, Othello, dan sebagainya.Proses utama algoritma Minimax yaitu pencarian nilai terbaik berdasarkannilai-nilai yang telah diberikan pada tiap-tiap langkah. Nilai-nilai tersebutdibangkitkan berdasarkan basis pengetahuan yang dimiliki oleh algoritmatersebut. Dengan penerapan algoritma Minimax sebagai pondasi suatu kecerdasanbuatan pada permainan Tik-tak, maka diharapkan akan dihasilkan suatupermainan yang interaktif. Dalam permainan ini, dua pemain dapat salingbertanding menggunakan dua unit komputer yang dihubungkan oleh jaringanlokal.Alat bantu pada implementasi kasus ini menggunakan jaringan lokal danpemrograman Visual Basic 6.0.
PENGEMBANGAN PERANGKAT LUNAK KECERDASAN BUATAN DENGAN MENGGUNAKAN METODE FORWARD CHAINING (Studi Kasus Mendiagnosa Keadaan Bayi Dalam Kandungan)





Kecerdasan buatan adalah kemampuan komputer untuk berpikir dengan intelegensia. Ini tercapai dengan mempelajari bagaimana manusia mengingat dan berpikir ketika sedang mengambil keputusan dan memecahkan masalah.
Kecerdasan buatan yang dibangun mempunyai beberapa komponen yang saling berhubungan untuk membangun sistem yaitu basis pengetahuan, mesin inferensi, antarmuka pemakai. Persoalan yang dipecahkan dalam sistem ini adalah bagaimana cara menyusun aturan yang terdiri atas beberapa premis dan konklusi dari fakta-fakta yang tersedia, sehingga dihasilkan suatu solusi, dengan menggunakan mesin inferensi yaitu forward chaining, selain itu sistem ini juga menggunakan suatu penalaran knowledge base yaitu penalaran rule-based reasoning.
Penelitian ini membahas tentang pendiagnosaan keadaaan bayi dalam kandungan yang menggunakan teknik inferensi forward chaining, yang memulai penalarannya mulai dari sekumpulan fakta-fakta menuju sebuah hipotesa (solusi). Sistem yang dikembangkan memberikan keleluasaan pada perekayasa pengetahuan untuk memasukkan himpunan aturan pada basis pengetahuan dan diperolehnya suatu solusi berdasarkan basis pengetahuan yang ada.
Apa Itu AI





Istilah AI (Artificial Intelegent) atau bahasa kitanya adalah kecerdasan buatan merupakn bidang ilmu yang memang baru berkembang th 90-an dan aplikasinya dah banyak diterapkan orang mulai dari games komputer, sistem kontrol cerdas, robotik, malah sampai ke pemecahan masalah bidang ekonomi dll.
Kita di lab Komputasi dan Otomasi Industri (LAB CIA) jurusan pend. teknik elektro upi sudah membangun suatu suatu research group khusus mengkaji bidang ini. Tentunya saat ini butuh orang-orang terutama mahasiswa yang ingin memperdalam ilmu ini kita terbuka buat siapapun yang merasa tertantang. terutama mhs dari mipa dan teknik.
Untuk tutorial kita akan adakan sesuai permintaan anda kapan siapnya mudah-mudahan cocok dengan jadwal aktifitas kita. Sebagai langkah awal kita akan perkenalkan tentang Expert system (sistem Pakar), Jaringan Syaraf Tiruan (JST/ Neural Network), Logika Fuzzy (Fuzzy Logic) dan Algoritma Genetika (Genetic Algorithm).
Selanjutnya kita arahkan anda minatnya ke mana. karena ngak mungkin dalam waktu singkat akan menguasai semuanya. Sebagai langkah praktis kita perkenalkan juga beberapa toolbox yang ada di MATLAB.Dasar ilmu untuk mendalaminya hanya matematika dan computer programming.
Berkomunikasi dengan Teknologi






Mendengarkan robot atau komputer berbicara, sudah bukan hal yang asing lagi untuk zaman ini. Namun, berbicara dengan komputer atau robot seperti layaknya dengan manusia? Belum tentu! Bukan berarti tidak mungkin.
Perangkat yang Dibutuhkan
Perangkat utama yang dibutuhkan dalam menunjang aplikasi berkomunikasi ini tentu saja perangkat multimedia, terutama audio.Kemampuan mendengarkan akan banyak diperoleh dari mikrofon yang digunakan sebagai media input. Dan kemampuan menyampaikan informasi akan dibantu dengan speaker sebagai media output.
Untuk fitur Text to speech atau voice command yang diberikan Windows XP, sebenarnya persyaratan yang diminta sangat minim, artinya dengan perangkat audio yang paling sederhana Anda sudah dapat menikmati fasilitas ini. Namun, memilih mikrofon dan speaker yang baik tidak akan ada salahnya. Dengan speaker yang bersih dan baik, Anda dapat mendengar pesan yang disampaikan oleh komputer dengan lebih jelas. Sebaliknya dnegan mikrofon yang bersih dan tidak terlalu banyak noise, pesan yang diterima komputer juga akan lebih jelas.
Pada sebuah komputer yang sederhana, pengolahan audio ini akan banyak dibantu perangkat yang dinamakan sound card. Namun biar bagaimanapun, tergantung pada sistem dan aplikasi yang digunakan. Artinya, kemampuan berkomunikasi sebuah komputer atau robot memiliki banyak keterkaitan dnegan keseluruhan sistem dari komputer atau robot itu sendiri.
Contohnya saja sebuah komputer ber-operating system Windows XP mengaktifkan fitur Text to Speech-nya. Maka karena kemampuan sistem hanya mampu mengakomodasi bahasa Inggris, biar pun perangkat yang digunakan sudah sangat canggih atau keluaran terbaru, tetap saja komputer tidak akan dapat menyampaikan atau membaca tulisan yang diketik dalam bahasa Indonesia.
Di Masa yang akan Datang
Perkembangan teknologi yang memungkinkan sebuah komputer dapat dengan lancar berkomunikasi dengan manusia telah berkembang sangat jauh. Meskipun tidak sehebat perkembangan motorik yang dapat dilakukan oleh robot. Namun setidaknya, mengalami perkembangan yang sangat positif. Misalnya saja, saat ini bila Anda membeli sebuah robot Aibo keluaran Sony. Maka Anda dapat memberikan 100 lebih macam perintah pada anjing elektrik tersebut dengan suara Anda. Meskipun kemungkinan si anjing pintar tersebut menuruti perintah Anda sangat tipis. Tapi, ia dapat mengerti apa yang Anda katakan.
Lain Aibo lain pula dengan Asimo, robot berbentuk menyerupai astronot buatan Honda. Robot yang merupakan kepanjangan dari Advanced Step in Innovative Mobility ini memiliki kemampuan kominikasi yanglebih canggih. Ia tidak hanya dapat bereaksi ketika
namanya dipanggil, namun ia juga dapat mengerti jenis suara lain selain suara manusia, serta bereaksi terhadapnya. Misalnya ketika mendengar ada sesuatu yang jatuh atau tertabrak ia tidak hanya dapat mengerti apa yang sedang terjadi, namun dapat langsung bereaksi dengan menengok ke arah suara tersebut.
Kemampuan komunikasi tersebut sering disebut juga dengan sebutan danya Artificial Intelegent (kepintaran buatan). Tidak menutup kemungkinan kemampuan kedua robot ini akan terus berkembang menjadi lebih baik lagi.
Sebenarnya apa manfaat yang dapat diperoleh dari kemampuan komunikasi ini? Banyak sekali! Salah satu di antaranya yang paling sederhana adalah dengan adanya kemampuan komunikasi ini sebuah robot atau komputer akan lebih mudah dioperasikan. Sebab mayoritas manusia tidak memiliki kendala dalam mengungkapkan sesuatu secara verbal.
Tenaga yang dibutuhkan untuk berkomunikasi secara verbal juga akan lebih sedikit. Misalnya saja, bila Anda akan mendikte sebuah surat bisnis. Anda tidak perlu lagi membutuhkan seorang sekretaris, komputer akan langsung mengerjakannya untuk Anda. Begitu pula dalam hal membuat notulen rapat.
Atau mungkin dalam pengoperasian perangkat pabrik yang sangat rumit. Bila semua kerumitan itu dapat diterjemahkan ke dalam bentuk verbal tentu akan sangat mudah dilakukan, bukan? Masalah keamanan bukan lagi menjadi kendala. Dengan otorisasi suara serta password seperti layaknya komputer biasa, maka keberadaan teknologi ini akan membuat sistem lebih unggul.
Sebagai salah satu contoh adalah penerapan voice command pada salah satu mobil produksi Audi, yaitu Audi A8 yang menjadikan voice command sebagai fitur optional. Dengan adanya fitur ini, seorang pengendara tidak akan direpotkan lagi dalam mengoperasikan perangkat audio atau hanya sekadar mencari nomor telepon seseorang dalam phonebook ponselnya yang terhubung ke kendaraan. Bahkan dengan adanya voice command akses pada GPS juga dapat dipermudah.
Fungsi lain yang tidak kalah menarik adalah kemungkinan besar untuk menjadi robot atau komputer sebagai teman yang paling logis. Kemampuan mengolah informasi dan komunikasi verbal dapat disatukan sehingga dapat membantu membuat keputusan-keputusan yang logis dan mudah dimengerti manusia. seperti halnya sebuah robot yang berlari mengambil obat, hanya karena mendengar asma majikannya kambuh.
Namun rasanya, untuk semua ini kita masih harus menunggu agak sedikit lama. Mengingat untuk sampai ke sana masih diperlukan proses yang panjang.
Setidaknya untuk waktu yang cepat ini komputer Anda dapat mengerti bahasa yang Anda pergunakan. Hal ini tentu akan sangat berarti besar untuk sebagian kalangan masyarakat. Salah satu contohnya adalah mereka yang memang memiliki kendala melihat atau kendala bergerak sehingga sulit untuk menggunakan keyboard komputer.

Multiplekser

0

Multiplekser atau disingkat MUX adalah alat atau komponen elektronika yang bisa memilih input (masukan) yang akan diteruskan ke bagian output (keluaran). Pemilihan input mana yang dipilih akan ditentukan oleh signal yang ada di bagian kontrol (kendali) Select.
Skema Multiplexer 2 input-ke-1 output
Komponen yang berfungsi kebalikan dari MUX ini disebut Demultiplekser (DEMUX). Pada DEMUX, jumlah masukannya hanya satu, tetapi bagian keluarannya banyak. Signal pada bagian input ini akan disalurkan ke bagian output (channel) yang mana tergantung dari kendali pada bagian SELECTnya.

Aplikasi ADC Mikrokontroler Atmega8535

0


Dalam dunia komputer, semua nilai tegangan dijadikan dalam bentuk digital, dan menggunakan sistem bilangan biner. ADC (Analog to Digital Converter) adalah suatu piranti yang digunakan untuk mengubah isyarat analog ke isyarat digital. Kita bisa juga buat rangkaian ADC pake komparator, tapi kenapa harus buat lawong beli ja dah banyak. Apalagi klo dah punya ATMega8535, tinggal maen bascom sejenak dah bisa maen ADC. ADC ATMega8535 bisa diaktipkan dengan menyetting beberapa regiser dalam micro, tapi kalo bascom ga seribet yang dibayangkan.
Ni rangkaiannya, karena ADC micro ini terletak di portA maka inputnya di tempatkan di portA dan data ADC dikirim secara serial.
‘———————————————
‘Program ADC Atmega8535
‘———————————————
‘———————————————
‘DEKLARASI CRISTAL 12MHz
‘———————————————
$crystal = 12000000
‘———————————————
‘DEKLARASI HEADER
‘———————————————
$regfile=”m8535.dat
‘———————————————
‘DEKLARASI BAUDRATE
‘———————————————
$baud = 9600
‘———————————————
‘DEKLARASI LCD
‘———————————————
Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0
Config Lcd = 16 * 2
‘———————————————
‘KONFIGURASI ADC
‘———————————————
Config Adc = Single , Prescaler = Auto
‘———————————————
‘ADC DI AKTIFKAN
‘———————————————
Start Adc
‘———————————————
‘DEKLARASI VARIABEL
‘———————————————
Dim W As Word , Channel As Byte
‘———————————————
‘RUTIN UTAMA
‘———————————————
Do
Channel = 0
W = Getadc(channel)
Print “Channel ” ; Channel ; ” value ” ; W
LCD Channel
Incr Channel
If Channel > 7 Then Channel = 0
Loop
End
Penjelasan Program:
1. ‘Program ADC ATmega8535
Ungkapan ini menyatakan judul program yang akan dibuat.
2. $crystal = 12000000
Ungkapan ini menyatakan mikrokontroller Atmega8535 menggunakan crytal sebesar 12 MHz
3. $regfile=”m8535.dat”
Ungkapan ini menyisipkan header m8535.dat yang berisi deklarasi register mikrokontroller Atmega8535.
4. $baud = 9600
Ungkapan ini menyatakan konfigurasi serial dengan baudrate 9600 bps.
5. Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , Rs = Portc.0
Config Lcd = 16 * 2
Ungkapan ini menyatakan LCD tersebut terhubung ke portc mikrokontoler ATmega8535
6. Config Adc = Single , Prescaler = Auto
Ungkapan ini menyatakan konfigurasi ADC Atmega8535 dengan prescaler auto.
7. Start Adc
Ungkapan ini menyatakan adc mulai diaktifkan.
8. Dim W As byte, channel as byte
Ungkapan di atas merupakan deklarasi variabel W dan channel
9. Do
Channel = 0
W = Getadc(channel)
Print “Channel “;Channel ; ” value ” ; W
LCD Channel
Incr Channel
Loop
End
Ini merupakan program utama. Program ini akan membaca ADC pada saluran Channel = 0 dan datanya akan ditampilkan melalui port serial komputer dan LCD. W = Getadc (channel) merupakan ungkapan untuk membaca data dari ADC kemudian di masukan ke dalam variabel W. Print “Channel ” ; Channel ; ” value ” ; W merupakan ungkapan untuk mengeluarkan data ADC melalui port serial dan LCD Channel merupakan ungkapan untuk mengeluarkan data ADC melalui LCD.

Mengenal pemrograman mikrokontroler pada Robot

0


SmartAVR RRobotics ver 4


Konsep Sensor Robotika
  • Sensor Sharp GP2D12
GP12D12 dan keluarganya merupakan sensor deteksi jarak Infra Red pada aplikasi robot dengan rentang 10-80cm, selain itu juga ukurannya yang kecil menghemat tempat dan daya Karena outputnya analog, maka sangat tepat jika dipasangkan dengan mikrokontroler AVR. Output sensor ini tidak linear, jadi Anda harus membuat look up table pada program untuk memperoleh hasil bacaan yang linear.

Gambar 1 Sharp GP2D12 dan kabel JST 3 pin

Percobaan 1. Membaca data Sharp GP2D12
Langkah-langkahnya;
1. Siapkan SmartAVR Robotics Ver 4.0, dan hubungkan dengan kabel AVR ISP Programmer ke PC. Hubungkan kabel serial dari mikrokontroler ke port serial PC
2. Hubungkan sensor Sharp GP2D12 di port A.0, motor DC 5-12V di output L298D pin OUT1 dan OUT2.
3. Buat program di bawah ini :
SharpGP2D12.c:

// Percobaan baca data sensor GP2D12
#include
#include
#include
#define ADC_VREF_TYPE 0x60
flash unsigned char string1[]={"data adc: %d; "};
// Baca 8 bit terpenting
unsigned char read_adc(unsigned char adc_input) {
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
// Delay needed for the stabilization of the ADC input voltage
delay_us(10);
// Mulai konversi ADC
ADCSRA|=0x40;
// Tunggu konversi ADC selesai
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}
void main(void) {
// Inisialisasi Port B
PORTB=0xFF;
DDRB=0xFF;
// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud Rate: 9600
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;
// ADC initialization
// ADC Clock frequency: 31,250 kHz
// ADC Voltage Reference: AVCC pin
// ADC Auto Trigger Source: Free Running
// Menggunakan 8 bit data
ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0xA7;
SFIOR&=0x1F;
while (1)
{
PORTB=read_adc(0); // Baca data sensor di PA.0
printf(string1,PORTB);
if (PORTB>100)
{
...; //Putar motor DC ke kanan
}
else
{
...; //Putar motor DC ke kiri
}
};
}
4. Kompilasi dan jalankan, berikan halangan pada sensor jarak tersebut, lihat perubahan arah gerak motor DC. Buat grafik hasi pengukuran sensor tersebut.
Percobaan 2. Pengatur putaran Motor DC dengan PWM
Langkah-langkahnya;
5. Siapkan SmartAVR Robotics, dan hubungkan dengan kabel AVR ISP Programmer ke PC.
6. Hubungkan motor DC ke keluaran OUT3 dan OUT4 pada IC L298.
7. Buat program di bawah ini :

PWM.c:
// Percoban kontrol kecepatan motor dengan PWM
#include
#include
bit i;
void main(void) {
unsigned int temp;
PORTC=0x00;
DDRC=0x00;
PORTD=0x00;
DDRD=0x30; //PD4 dan PD5 sebagai output
// Inisialisasi Timer/Counter 1
// Clock source: System Clock/8
// Clock value: 500 kHz
// Mode: Phase correct PWM, TOP value = ICR1 value
//Jika TCCR1A=0x82 (Non-inverted PWM mode) maka:
// OC1A output: Clear OC1A on compare match when up-counting.
// Set OC1A on compare match when down-counting.
//Jika TCCR1A=0x22 (Non-inverted PWM mode) maka:
// OC1B output: Clear OC1B on compare match when up-counting.
// Set OC1B on compare match when down-counting.
// OC1A output: Disconected (Normal)
TCCR1A=0x82;
TCCR1B=0x12;
TCNT1=0x0000;
ICR1H=0xFF; //Resolusi phase correct PWM 16-bit
ICR1L=0xFF;
OCR1A=0x0000;
OCR1B=0x0000;
i=0;
temp=0x0FF0; //Nilai awal PWM
while (1)
{
if (PINC.0==0) //Jika tombol yang terhubung dengan PC0 ditekan,
{ // maka motor semakin lambat
delay_ms(100); // dan berputar sampai berhenti
temp-=0xFF;
if (temp==0xFF01) temp=0x0000;
}
else //Jika tombol yang terhubung dengan PC0 tidak ditekan,
{ // maka motor semakin cepat
delay_ms(100); // berputar sampai berputar terus
temp+=0xFF;
if (temp==0x00FE) temp=0xFFFF;
}
OCR1A=temp;
OCR1B=temp;
}
8. Kompilasi dan jalankan program, tekan saklar pada Port C.0 dan lihat efeknya pada putaran motor DC.

Sejarah Mikroprosesor

0


http://www.teknik-informatika.com/images/pti/hardware/mikroprosesor.jpgMikroprosesor adalah sebuah chip (IC) yang bekerja dengan program. Fungsi Mikroprosesor adalah sebagai pengontrol atau pengolah utama dalam suatu rangkaian elektronik. Mikroprosesor biasa disebut juga CPU (Central Processing Unit).

Cara kerja sebuah Mikroprosesor diarahkan oleh suatu program dalam kode-kode bahasa mesin yang telah dimasukkan terlebih dahulu ke dalam sebuah memori. Di dalam Mikroprosesor minimal terdiri dari rangkaian digital, register, pengolah logika aritmatika, rangkaian sekuensial.

Sejarah Mikroprosesor.

  • Th. 1946 : Komputer modern pertama dibuat di University of Pennsylvania USA yang disebut ENIAC (Electronics Numerical Integrator and Calculator.
  • ENIAC terdiri dari 17.000 tabung hampa, 500 mil kabel, berat > 30 ton, dapat menjalankan 100.000 operasi per detik, diprogram dengan mengatur jalur kabel pada rangkaiannya.
  • Th. 1948 : Transistor pertama dibuat di Bell Labs, USA.
  • Th. 1958 : IC (Integrated Circuit) pertama dibuat oleh Jack Kilby dari Texas Instrument, USA.
  • Penemuan IC ini mendorong pengembangan IC Digital (1960), dan mikroprosesor pertama oleh Intel (1971).
  • Mikroprosesor pertama di dunia adalah Intel 4004 merupakan prosesor 4-bit, Kebanyakan Kalkulator masih berbasis mikroprosesor 4-bit.
  • Th. 1971 : Intel mengeluarkan mikroprosesor 8-bit yaitu Intel 8008.
  • Th. 1973 : Intel memperkenalkan mikroprosesor 8-bit modern pertama Intel 8080 (10x lebih cepat dari 8008), dan diikuti Motorola MC6800.
  • Th. 1977 : Intel memperkenalkan 8085 yang merupakan mikroprosesor 8-bit terakhir yang dibuat Intel dengan frek.clock dan kecepatan lebih tinggi.
  • Perusahaan lain yang mampu menyaingi Intel 8085 adalah Zilog Corporation dengan Z80.
  • Th. 1978 : Intel mengeluarkan mikroprosesor 16-bit yaitu 8086, setahun kemudian mengeluarkan 8088 dengan kecepatan eksekusi dan memori lebih besar dari 8085, serta mulai digunakannya cache memori (sistem antrian yang mengatur pemberian instruksi sebelum menjalankannya).
  • Intel 8086/8088 disebut juga CISC (Complex Instruction Set Computer) karena jumlah dan kompleksitas instruksinya.
  • Th. 1981 : IBM membuat PC menggunakan mikroprosesor 8088 untuk menjalankan aplikasi seperti spreadsheet dan pengolah kata.
  • Th. 1983 : Intel mengeluarkan mikroprosesor 16-bit 80286, dengan kemampuan memori 16 MB.
  • Th. 1986 : Intel mengeluarkan mikroprosesor 32-bit pertama 80386, dengan kemampuan memori 4 GB.
  • Th. 1989 : Intel mengeluarkan mikroprosesor 32-bit 80486, dengan kemampuan memori 4 GB + 8K Cache.
  • Th. 1993 : Intel memperkenalkan mikroprosesor 32-bit Pentium I, Th. 1997 Pentium II,kemudian berturut-turut Pentium III dan Pentium 4 pada Th. 2000, dimana mulai digunakan teknologi memori RAMBUS menggantikan teknologi SDRAM.

Rangkaian Sensor Suhu LM35

0

LM35DZ adalah komponen sensor suhu berukuran kecil seperti transistor (TO-92). Komponen yang sangat mudah digunakan ini mampu mengukur suhu hingga 100 derajad Celcius. Dengan tegangan keluaran yang terskala linear dengan suhu terukur, yakni 10 milivolt per 1 derajad Celcius, maka komponen ini sangat cocok untuk digunakan sebagai teman eksperimen kita, atau bahkan untuk aplikasi-aplikasi seperti termometer ruang digital, mesin pasteurisasi, atau termometer badan digital.
LM35 dapat disuplai dengan tegangan mulai 4V-30V DC dengan arus pengurasan 60 mikroampere, memiliki tingkat efek self-heating yang rendah (0,08 derajad Celcius), dan termasuk kerabat dekat dompet kita-kita, hahaha:D
Btw, self-heating adalah efek pemanasan oleh komponen itu sendiri akibat adanya arus yang bekerja melewatinya. Untuk komponen sensor suhu, parameter ini harus dipertimbangkan dan diupakara atau di-handle dengan baik karena hal ini dapat menyebabkan kesalahan pengukuran. Seperti sensor suhu jenis RTD PT100 atau PT1000 misalnya, komponen ini tidak boleh dieksitasi oleh arus melebihi 1 miliampere, jika melebihi, maka sensor akan mengalami self-heating yang menyebabkan hasil pengukuran senantiasa lebih tinggi dibandingkan suhu yang sebenarnya.


Gambar disamping kanan adalah gambar skematik rangkaian dasar sensor suhu LM35-DZ. Rangkaian ini sangat sederhana dan praktis. Vout adalah tegangan keluaran sensor yang terskala linear terhadap suhu terukur, yakni 10 milivolt per 1 derajad celcius. Jadi jika Vout = 530mV, maka suhu terukur adalah 53 derajad Celcius.Dan jika Vout = 320mV, maka suhu terukur adalah 32 derajad Celcius. Tegangan keluaran ini bisa langsung diumpankan sebagai masukan ke rangkaian pengkondisi sinyal seperti rangkaian penguat operasional dan rangkaian filter, atau rangkaian lain seperti rangkaian pembanding tegangan dan rangkaian Analog-to-Digital Converter.
Rangkaian dasar tersebut cukup untuk sekedar bereksperimen atau untuk aplikasi yang tidak memerlukan akurasi pengukuran yang sempurna. Akan tetapi tidak untuk aplikasi yang sesungguhnya. Terbukti dari eksperimen yang telah saya lakukan, tegangan keluaran sensor belumlah stabil. Pada kondisi suhu yang relatif sama, jika tegangan suplai saya ubah-ubah (saya naikkan atau turunkan), maka Vout juga ikut berubah. Memang secara logika hal ini sepertinya benar, tapi untuk instrumentasi hal ini tidaklah diperkenankan. Dibandingkan dengan tingkat kepresisian, maka tingkat akurasi alat ukur lebih utama karena alat ukur seyogyanya dapat dijadikan patokan bagi penggunanya. Jika nilainya berubah-ubah untuk kondisi yang relatif tidak ada perubahan, maka alat ukur yang demikian ini tidak dapat digunakan.
Untuk memperbaiki kinerja rangkaian dasar di atas, maka ditambahkan beberapa komponen pasif seperti yang ditunjukkan pada gambar berikut ini.
Dua buah resistor 150K yang diparalel membentuk resistor 75K yang diseri dengan kapasitor 1uF. Rangkaian RC-Seri ini merupakan rekomendasi dari pabrik pembuat LM35. Sedangkan resistor 1K5 dan kapasitor 1nF membentuk rangkaian passive low-pass filter dengan frekuensi 1 kHz. Tegangan keluaran filter kemudian diumpankan ke penguat tegangan tak-membalik dengan faktor penguatan yang dapat diatur menggunakan resistor variabel.
Dengan rangkaian ini, terbukti tegangan keluaran rangkaian ini jauh lebih stabil dibandingkan tegangan keluaran rangkaian dasar di atas. Dengan demikian akurasi pengukuran telah dapat ditingkatkan. Tegangan keluaran opamp dapat langsung diumpankan ke rangkaian ADC untuk kemudian datanya diolah lebih lanjut oleh mikrokontroler.
Rangkaian tersebut telah saya aplikasikan pada Sistem Monitoring Suhu Air Pendingin Mesin Open-Mill di Pabrik Rol Karet USTEGRA Malang dengan performa yang baik dengan mikrokontroler AT89S52 dan ADC0809 serta Audible Warning System berbasis ISD1420.
It was a very cool project!
Resep Spesial
Untuk lebih meningkatkan keakurasian dan kepresisian pengukur suhu, maka perlu dilakukan pengesetan yang optimal pada tegangan referensi ADC yang digunakan sehingga jika menggunakan ADC 8-bit misalnya, maka jangkauan 0-255 haruslah merepresentasikan nilai minimum dan maksimum suhu yang dapat diukur oleh rangkaian sensor suhu. Jangan sampai memberikan tegangan referensi yang salah pada rangkaian ADC, sehingga jangkauan ADC melebihi atau kurang dari jangkauan tegangan masukannya.
Langkah selanjutnya, lakukan pensamplingan minimal sepuluh data dan hitung nilai rata-ratanya. Nilai rerata inilah yang dijadikan sebagai hasil pengukuran. Jika diperlukan, maka dapat pula diterapkan algoritma filter digital untuk mendapatkan hasil akhir pengukuran yang benar-benar akurat.