line follower ii -addsensorprox

Upload: xhiko-tanaka

Post on 27-Feb-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/25/2019 Line Follower II -AddSensorProx

    1/18

    Membuat Robot Line Follower Menggunakan Arduino, Motor

    Driver L293D, Sensor Infrared dan Sensor Proximity

    Laporan Praktikum II

    Untuk memenuhi tugas mata kuliah Interfacing System I

    Di Program Studi Teknik Informatika

    Disusun Oleh :

    0610U020 - Adi Ahmad Muhibin

    0612U043 - Alfin Riyadi

    0612U032 - Ahmad Yunus

    0612U020 - Ari Nugroho

    0611P005 - Boby Arnold Samuelson .G.M

    0612U045 - Muhammad Hilman

    0610U057 - Yogi Nur Zakaria

    Fakultas Teknik

    Teknik Informatika - Universitas Widyatama

    Bandung

    2014

    Instruktur Savitri Galih, DR., S.Si., M.T.

    Asisten Adi Purnama, S.T

  • 7/25/2019 Line Follower II -AddSensorProx

    2/18

    i

    KATA PENGANTAR

    Segala puji dan syukur kepada Tuhan YME, karena kami dapat menyelesaikan

    penyusunan laporan praktikum PembuatanRobot Line FollowerMenggunakanMotor DriverL293D dan Sensor Infrared. Laporan ini ditulis untuk memenuhi tugas praktikum

    Interfacing System I serta sebagai kelengkapan standar kelulusan mata kuliah interfacing I.

    Dalam laporan ini kami memperlajari cara bagaimana membuat Robot Line

    Follower menggunakan Motor Driver, serta penambahan fungsi sensor proximity selain,

    sensor infrared, tujuanya yaitu untuk mengetahui struktur rangkaian fungsi pin dari Motor

    Driver dan mengukur jarak antara objek dengan robot agar tidak bertabrakan dengan wall,

    dan juga mengimplementasikan program di MicrocontrollerArduinoyang digunakan untuk

    Robot Line Follower.

    Kami mengharapkan bahwa laporan ini dapat bermanfaat khususnya untuk

    mahasiswa interfacing dan umumnya komunitas robotika. Agar ilmu yang didapatkan dari

    pembelajaran dapat lebih banyak lagi dan menambah wawasan di bidang robotik.

    Akhir kata, kami sampaikan terima kasih kepada Instruktur selaku Dosen

    Pembimbing, serta kepada pihak terkait yang telah membantu penyusunan laporan praktikumPembuatan Robot Line Follower. Kritik dan saran kami harapkan dari semua pihak, agar

    proses penyusunan laporan menjadi lebih baik lagi dimasa yang akan datang.

    Bandung, 23 Desember 2014

    Penyusun

  • 7/25/2019 Line Follower II -AddSensorProx

    3/18

    ii

    DAFTAR ISI

    KATA PENGANTAR........................................................................................................ i

    DAFTAR ISI .................................................................................................................... ii

    A.

    JUDUL ...................................................................................................................1

    B.

    LATAR BELAKANG ............................................................................................1

    C.

    TUJUAN ................................................................................................................2

    D.

    LANDASAN TEORI .............................................................................................2

    1.

    Robot line follower ...........................................................................................2

    2.

    Arduino ............................................................................................................2

    3.

    Motor driver .....................................................................................................3

    4.

    Sensor ...............................................................................................................5a. Sensor Infra Merah .....................................................................................5

    5. Motor DC .........................................................................................................6

    E. ALAT DAN BAHAN .............................................................................................6

    F. LANGKAH KERJA ...............................................................................................7

    1. Konsep rancangan dan rangkaian ......................................................................9

    2. Desain antarmuka .............................................................................................9

    3. Skectch Code Program .............................................................................. 11-12

    G. HASIL PRAKTIKUM .......................................................................................... 13

    H.

    KESIMPULAN .................................................................................................... 14

    DAFTAR PUSTAKA

  • 7/25/2019 Line Follower II -AddSensorProx

    4/18

    1

    A.JUDUL

    Membuat Robot Line Follower Menggunakan Arduino, Motor Driver L293D, Sensor

    Infrared dan Sensor Proximity

    B.LATAR BELAKANG

    Robot line followermerupakan robot yang bertujuan

    untuk menelusuri jejak (garis) secara otomatis, dimana jejak

    atau garis tersebut berupa garis yang dibentuk dari warna

    hitam. Meskipun demikian robot ini dapat dikatakan robot

    cukup cerdas karena robot line followerini mampu melakukan

    penelusuran garis dengan sendirinya. Sebenarnya prinsip dari

    robot line follower dapat dikatakan project sederhana, yaitu kinerja dari robot ini

    ditentukan oleh komponen elektronikanya yang terdiri dari sensor dan motor driver.

    Sensor pada robot line follower ini tersusun dari tiga buah komparator (pembanding

    tegangan), dimana tiga buah komparator ini nantinya dibagi dalam tiga bagian yaitu satu

    buah komparator untuk melakukan sensor pada bagian kanan, tengah dan kiri garis. Tiga

    bagian tadi diibaratkan sebagai mata dari robot agar tetap berada pada garis hitam.

    Selain itu juga diperlukan beberapa komponen lain untuk menunjang kebutuhan

    robot line followertersebut. Misalnya untuk pergerakan dari robot sebagai kakinya bisa

    menggunakan motor (motor dc). Namun motor tersebut harus menggunakan rangkaian

    lain seperti menggunakan rangkaian IC (motor driver), agar bisa memperlambat ataupun

    mempercepat perputaran motor bahkan motor tersebut bisa bergerak maju ataupun

    mundur. Lalu dibutuhkan juga rangkaian regulator untuk menghambat pemberian daya

    pada IC ataupun motor. Selain itu pergerakan motor juga akan di kontrol menggunakanmicrocontroller.

    Namun jika kita membuat rangkaian-rangkaian penunjang di atas tentunya bisa

    memakan waktu yang cukup lama, bahkan ada kemungkinan kesalahan dalam

    pembuatannya sehingga memungkinkan terjadinya kerusakan pada suatu komponen

    tertentu. Lalu apa solusinya? Jika kita menggunakan Arduino sebagai microcontroller,

    maka ada alat penunjang lain untuk mengatur pergerakan motor. Alat tersebut disebut

    dengan motor driver. Motor driver ini merupakan sebuah komponen elektronika yang

    biasa dihubungkan dengan Arduino untuk mengatur pergerakan motor dcdengan mudah

    Gambar 1.0:

    Robot Line Follower

  • 7/25/2019 Line Follower II -AddSensorProx

    5/18

    2

    dan juga bisa mengukur penyerapan arus antara motor dcdengan komponen lain yang

    terpasang.Motor driverini juga kompetibel, yang artinya lebih cepat dalam pembuatan

    robot dikarenakan kita hanya perlu menyambungkannya ke dalam pin-pin arduino.

    Dalam laporan ini kami mencoba untuk membahas tentang pembuatan robot line

    followermenggunakan arduino ditambah dengan motor driver.

    C.TUJUAN

    Adapun tujuan dari praktikum ini:

    1. Untuk mengetahui cara pembuatan robot line follower

    2. Untuk mengetahui kebutuhan dan konsep atau proses kerja dari robot line follower

    3.

    Untuk mengetahui rangkaian dan memprogram keseluruhan dari robot line follower

    4.

    Untuk mengetahui bagaimana robot tersebut bisa membaca garis hitam dan juga bisa

    mengikuti garis tersebut menggunakan sensor infrared

    5. Mengetahui bagaimana cara sensor proximity bekerja dalam mengukur jarak objek,

    untuk menghindari objek robot bertabrakan dengan objek lain seperti dinding.

    D. LANDASAN TEORI

    1.

    Robot Line follower

    Robot li ne foll ower, adalah sebuah robot yang bisa bergerak mengikuti garis

    tebal berwarna hitam. Bagaimana bisa robot ini mengikuti garis hitam, maka robot

    memerlukan sebuah sensor pembaca garis, yaitu sensor proximity dari infrared.

    Sensor ini bisa kita buat sendiri. Prinsip kerjanya sederhana, hanya memanfaatkan

    sifat cahaya yang akan dipantulkan jika mengenai benda berwarna terang dan akan

    diserap jika mengenai benda berwarna gelap. Sebagai sumber cahaya kita gunakan

    LED (Light Emiting Diode) yang akan memancarkan cahaya merah dan untuk

    menangkap pantulan cahaya LED kita gunakan photodiode. Jika sensor beradadiatas garis hitam maka photodioda akan menerima sedikit sekali cahaya pantulan.

    Tetapi jika sensor berada diatas garis putih maka photodioda akan menerima banyak

    cahaya pantulan.

    2. Arduino

    Arduino adalah pengendali mikro single-board yang bersifat open-source, di-

    turunkan dari Wiring platform, dirancang untuk memudahkan penggunaan

    elektronik dalam berbagai bidang. Hardwarenya memiliki prosesor Atmel AVR dansoftwarenya memiliki bahasa pemrograman sendiri.

  • 7/25/2019 Line Follower II -AddSensorProx

    6/18

    3

    3. Motor Driver

    IC L293D adlah IC yang didesain khusus sebagai driver motor DC dan dapat

    dikendalikan dengan rangkaian TTL maupun mikrokontroler. Motor DC yang

    dikontrol dengan driver IC L293D dapat dihubungkan ke ground maupun ke sumber

    tegangan positif karena di dalam driver L293D sistem driver yang digunakan adalah

    totem pool. Dalam 1 unit chip IC L293D terdiri dari 4 buah driver motor DC yang

    berdiri sendiri sendiri dengan kemampuan mengalirkan arus 1 Ampere tiap

    drivernya. Sehingga dapat digunakan untuk membuat driver H-bridge untuk 2 buah

    motor DC. Konstruksi pin driver motor DC IC l293D adalah sebagai berikut.

    Fungsi Pin Driver Motor DC IC L293D sebagai berikut :

    1.Pin EN (Enable, EN1.2, EN3.4) berfungsi untuk mengijinkan driver menerima

    perintah untuk menggerakan motor DC.

    2.Pin In (Input, 1A, 2A, 3A, 4A) adalah pin input sinyal kendali motor DC

    3.Pin Out (Output, 1Y, 2Y, 3Y, 4Y) adalah jalur output masing-masing driver yang

    dihubungkan ke motor DC

    4.Pin VCC (VCC1, VCC2) adalah jalur input tegangan sumber driver motor DC,

    dimana VCC1 adalah jalur input sumber tegangan rangkaian kontrol dirver dan

    VCC2 adalah jalur input sumber tegangan untuk motor DC yang dikendalikan.

    5.Pin GND (Ground) adalah jalu yang harus dihubungkan ke ground, pin GND ini

    ada 4 buah yang berdekatan dan dapat dihubungkan ke sebuah pendingin kecil.

    Gambar 1.1

    Datasheet pin motor driver L293D

  • 7/25/2019 Line Follower II -AddSensorProx

    7/18

    4

    Feature Driver Motor DC IC L293D Driver motor DC IC L293D memiliki feature yang

    lengkap untuk sebuah driver motor DC sehingga dapat diaplikasikan dalam beberapa teknik

    driver motor DC dan dapat digunakan untuk mengendalikan beberapa jenis motor DC.

    Feature yang dimiliki driver motor DC IC L293D sesuai dengan datasheet adlah sebagai

    berikut :

    Wide Supply-Voltage Range: 4.5 V to 36 V

    Separate Input-Logic Supply

    Internal ESD Protection

    Thermal Shutdown

    High-Noise-Immunity Inputs

    Functionally Similar to SGS L293 and SGS L293D

    Output Current 1 A Per Channel (600 mA for L293D)Peak Output Current 2 A Per Channel (1.2 A for L293D)

    Output Clamp Diodes for Inductive Transient Suppression (L293D)

    Block Diagram dari Chip Motor Driver L293D

    Gamabar 1.2

    Block diagram motor driver L293D

  • 7/25/2019 Line Follower II -AddSensorProx

    8/18

    5

    4. Sensor

    Sensor adalah sesuatu yang digunakan untuk mendeteksi adanya perubahan

    lingkungan fisik atau kimia. Variabel keluaran dari sensor yang diubah menjadi

    besaran listrik disebut Transduser.

    Pada saat ini, sensor tersebut telah dibuat dengan ukuran sangat kecil dengan

    orde nanometer. Ukuran yang sangat kecil ini sangat memudahkan pemakaian dan

    menghemat energi.

    a. Sensor Infra Merah

    InfraRed merupakan sebuah sensor yang masuk

    dalam kategori sensor optik. Secara umum seluruh infra

    red di dunia bekerja optimal pada frekuensi 38,5 KHz.

    Kurva karakteristik infra red membandingkan antara

    frekuensi dengan jarak yang dicapainya. kalau frekuensi

    di bawah puncak kurva atau lebih dari puncak kurva,

    maka jarak yang dapat dicapai akan pendek.

    Rangkaian sensor infra merah menggunakan foto transistor dan led infra

    merah yang dihubungkan secara optik. Foto transistor akan aktif apabila terkena

    cahaya dari led infra merah. Antara Led dan foto transistor dipisahkan oleh jarak.

    Jauh dekatnya jarak memengaruhi besar intensitas cahaya yang diterima oleh

    foto transistor. Apabila antara Led dan foto transistor tidak terhalang oleh benda,

    maka foto transistor akan aktif. Transistor BC 547 akan tidak aktif karena tidak

    ada arus yang mengalir ke basis transistor BC 547. Karena transistor tersebut

    tidak aktif, maka tidak ada arus yang mengalir dari kolektor ke emitor sehingga

    menyebabkan transistor BD 139 tidak aktif dan outputnya berlogik 1 dan Le d

    padam. Apabila antara Led dan foto transistor terhalang oleh benda, foto

    transistor akan tidak aktif, sehingga transistor BC 547 akan aktif karena ada arus

    mengalir ke basis transistor BC 547. Dengan transistor dalam keadaan on, maka

    arus mengalir dari kolektor ke emitor sehingga menyebabkan transistor BD 139

    on dan outputnya berlogik 0 serta Led menyala.

    Gambar 1.3

    Sensor Infrared

  • 7/25/2019 Line Follower II -AddSensorProx

    9/18

    6

    5. Motor DC

    Motor DC merupakan sebuah perangkat elektromagnetis yang mengubah

    energi listrik menjadi energi mekanik. Energi mekanik ini digunakan untuk,

    misalnya, memutar impeller pompa, fan atau blower, menggerakan kompresor,

    mengangkat bahan, dll. Motor listrik digunakan juga di rumah (mixer, bor listrik,

    fan angin) dan di industri. Motor listrik kadangkala disebut kuda kerja nya

    industri sebab diperkirakan bahwa motor-motor menggunakan sekitar 70%

    beban listrik total di industri.

    Keuntungan utama motor DC adalah sebagai pengendali kecepatan, yang

    tidak mempengaruhi kualitas pasokan daya. Motor ini dapat dikendalikan dengan

    mengatur:

    Tegangan dinamo meningkatkan tegangan dinamo akan meningkatkan

    kecepatan motor

    Arus medanmenurunkan arus medan akan meningkatkan kecepatan.

    6.ALAT DAN BAHAN

    1. Alat

    a.

    Obeng mekanik

    b.

    Tang kecil (capit buaya)

    c. Bor

    d. Amplas

    e. Gergaji

    f.

    Multi tester

    g. Solder (jika dibutuhkan)

    2.

    Bahan

    a.

    Akrilik

    Akrilik dipotong menjadi ukuran kecil. Bahan ini digunakan sebagai body

    dan tempat dari sensor serta komponen elektronika lain.

  • 7/25/2019 Line Follower II -AddSensorProx

    10/18

    7

    b. Arduino (Microcontroller)

    Arduino yang digunakan yaitu Arduino Duemilanove ATMega 328.

    c.

    Motor Driver

    Motor shield untuk arduino 1 buah dengan arus listrik 2 Ampere.

    d. Motor DC

    Motor sebagai penggerak roda menggunakan motor DC dengan tegangan5V. Banyaknya sebanyak 2 buah untuk roda kanan dan roda kiri.

    e. DFR Line Follower Gear Box (packed)

    DFR Line Follower adalah seperangkat paket chasis robot yang sudah

    disertai gearbox motor DC

    Gambar 1.4

    Microcontroller Arduino Duemilanove Atmega328

    Gambar 1.5

    Motor driver L293D

    Gambar 1.6

    DFR line follower

  • 7/25/2019 Line Follower II -AddSensorProx

    11/18

    8

    f. Roller

    Kegunaan roller ini sebagai pengganti roda depan. Cukup 1 buah sebagai

    penyeimbang.

    g.

    Sensor

    Sensor yang digunakan sensor infra merah yang memiliki 3 buah LED dan

    3 buah receiver (photodiode) sebanyak 3 pasang.

    h. Socket batre dan batre

    Tegangan yang di butuhkan 6V12V.

    i. Kabel penghubung

    Kabel yang digunakan yaitu kabel pelangi.

    j. Lain-lain

    Mur, baud, dan spacer secukupnya.

    Gambar 1.7

    Roller

    Gambar 1.8

    Sensor infrared

    Gambar 1.9

    Socker Battre & Battre

    Gambar 1.10

    Kabel

    Gambar 1.11

    Baud

  • 7/25/2019 Line Follower II -AddSensorProx

    12/18

    9

    7. LANGKAH KERJA

    Dalam pembuatan robot line follower terdiri dari beberapa tahap yaitu tahap

    konsep perancangan dan rangkaian, pembuatan desain antarmuka, harus mengetahui

    prinsip kerja robot line follower, serta pembuatan algoritma dan program. Berikut

    penjelasannya:

    1. Konsep rancangan dan rangkaian

    Rangkaian yang akan dibuat akan terlihat lebih sederhana dikarenakan

    pembuatan robot line follower ini untuk memfasilitasi kinerja motornya meng-

    gunakan motor driver. Pertama kita hubungkan pin-pin motor driver pada arduino

    sesuai kebutuhan dan skema, setelah itu lalu hubungkan pin motor driver ke motor

    DC. Dan hubungkan pin sensor ke pin digital Arduino.

    2. Setelah kabel terhubung semua, langkah berikutnya adalah persiapan membuat

    Algoritma dan Programnya.

    Untuk lebih detail, lihat gambar rangkaian awal sebagai penguhubung antar

    komponen yang terdiri dari:

    1.Arduino Atmega328

    2.Papan Breadboard

    3.Motor Driver L293D

    4.Kabel

    5.Pin header (Male dan Female)

    6.Motor DC

    7.Batterai

    3. Desain antarmuka

    Desain robot line follower sendiri panjang dan lebarnya berukuran 20 x 20 cm

    sedangkan tingginya sekitar 11,5 cm. Desain di bagi menjadi 2 tingkat, tingkat

    pertama sebagai tempat untuk arduino, sedangkan tingkat ke dua yaitu tempat utuk

    menyimpan baterai. Lalu untuk sensor, roller, serta motor dan gearbox sendiri

    ditempatkan dibawah sebagai kaki dan mata dari si robot. Berikut tampilan desain

    dari samping dan dari atas

  • 7/25/2019 Line Follower II -AddSensorProx

    13/18

    10

    Gambar 1.13

    Rangkaian Arduino, Motor Driver, Motor DC dan Sensor Infrared

    Gambar 1.12:

    Desain robot tampak samping

  • 7/25/2019 Line Follower II -AddSensorProx

    14/18

    11

    SKETCH PROGRAM ARDUINO

    (Penambahan Sensor Proximity)

    //inisialisasi nomer pin pada arduino

    //Penambahan Library SharpIR.h utk baca

    //Sensor Proximity (jarak)

    #include

    //def sensor jarak

    int input = 0;

    int distance =0;

    //def sensor infrared

    //motor kanan

    int MR1 = 3;

    int MR2 = 4;

    //motor kiri

    int ML1 = 5;

    int ML2 = 6;

    //pwm

    int PWM1 = 10;

    int PWM2 = 11;

    //sensor

    int SR = A1;//sensor kanan

    int SC = A2;//sensor tengah

    int SL = A3;//sensor kiri

    //nilai pwm

    int pwm_l = 150;//untuk kecepatan motor

    kiri

    int pwn_r = 150;//untuk kecepatan motor

    kanan

    //nilai sensor

    int sensor = 750;//batas perbandingan

    hitam atau putih

    //program

    void setup(){

    // put your setup code here, to run once:

    //set mode pin pada arduino

    pinMode (MR1, OUTPUT);

    pinMode (MR2, OUTPUT);

    pinMode (ML1, OUTPUT);

    pinMode (ML2, OUTPUT);

    pinMode (PWM1, OUTPUT);

    pinMode (PWM2, OUTPUT);

    }

    void loop(){

    // put your main code here, to run

    repeatedly:

    analogRead(SR) > sensor ?

    belok_kanan() : analogRead(SL) > sensor

    ? belok_kiri() : analogRead(SC) > sensor ?

    lurus() : berhenti();

    //jika sensor kanan mendeteksi garis,

    maka akan belok kanan

    //jika sensor kiri mendeteksi garis, maka

    akan belok kiri

  • 7/25/2019 Line Follower II -AddSensorProx

    15/18

    12

    //jika sensor tengah mendeteksi garis,

    maka akan jalan lurus

    //jika semua sensor tidak mendeteksi

    garis, maka akan berhenti

    //Cek Sensor jarak

    input = analogRead(Pin di Sensor?);

    distance = map(input,512,0,15,150);

    //max range 150cm

    Serial.println(distance);

    delay(200);

    }

    void belok_kiri(){

    //motor kanan jalan

    //motor kiri mati

    jalan(1,0,0,0,pwm_r,pwm_l);

    }

    void belok_kanan(){

    //motor kanan mati

    //motor kiri jalan

    jalan(0,0,1,0,pwm_r,pwm_l);

    }

    void lurus(){

    //motor kanan jalan

    //motor kiri jalan

    jalan(1,0,1,0,pwm_r,pwm_l);

    }

    void berhenti(){

    //motor kanan mati

    //motor kiri mati

    jalan(0,0,0,0,0,0);

    }

    void jalan(int a, int b, int c, int d, int e, int

    f){

    digitalWrite(MR1, a);

    digitalWrite(MR2, b);

    digitalWrite(ML1, c);

    digitalWrite(ML2, d);

    analogWrite(PWM1, e);

    analogWrite(PWM2, f);

    }

  • 7/25/2019 Line Follower II -AddSensorProx

    16/18

    13

    HASIL PRAKTIKUM

    Gambar 1.15

    Produk Robot Line Follower

    Gambar 1.16

    Testing Robot Line Follower

  • 7/25/2019 Line Follower II -AddSensorProx

    17/18

    14

    KESIMPULAN

    Pengembangan robot line follower tahap ini, yaitu proses penambahan algoritma dan

    komponen yang digunakan untuk robot berupa sensor proximity. Sensor proximity berfungsi

    untuk mengukur jarak objek, agar jarak antara robot dengan objek di sekitarnya dapat

    diketahui, sehingga tidak akan menyebabkan tabrakan antara robot dengan objek disekitarnya

    (dinding).

    Pembuatan robot masih bersifat sederhana, karena masih menggunakan komponenIC

    motor driveryang berdiri sendiri atau terpisah dari shieldlainnya. Robot juga didukung oleh

    motor DCsebagai pendorong putaran roda yang kecepatannya dikontrol oleh motor driver &

    Arduino, sensor infrared sederhana sebagai pembaca garis yang di kontrol oleh Atmega328dari Arduino. Manfaat dari pengerjaan tugas ini, diharapkan dapat membantu mahasiswa

    dalam memahami bagaimana cara membangun robot line follower dengan menggunakan

    microcontroller Atmega328dariArduino, motordriver, dan juga menggunakan sensor-sensor

    yang diperlukan dalam bentuk komunikasiserialanalog dan/atau digital.

  • 7/25/2019 Line Follower II -AddSensorProx

    18/18

    DAFTAR PUSTAKA

    [1] Basic Line Follower with Arduino, www.instructables.com/id/Line-following-Robot-

    with-Arduino/ Tanggal akses 10 Desember 2014.

    [2] Arduino Getting Started.www.arduino.ccTanggal akses 16 Desember 2014.

    [3] Line Follower Arduino. www.circuitstoday.com/line-follower-robot-using-arduino

    Tanggal akses 16 September 2014

    [4] MCRoberts Michael,Beginning Arduino. Paul Manning, Inc.Tahun 2010

    [5] Wikipedia.PenelitianKualitatif, en.wikipedia.org/wiki/Arduino Tanggal akses 23

    Desember 2014

    http://www.arduino.cc/http://www.arduino.cc/http://www.arduino.cc/http://www.circuitstoday.com/line-follower-robot-using-arduinohttp://www.circuitstoday.com/line-follower-robot-using-arduinohttp://www.circuitstoday.com/line-follower-robot-using-arduinohttp://www.arduino.cc/