Belajar Cepat Dan Pemograman Arduino Download Pdf

Full text of “Tutorial DASAR ARDUINO.pdf (PDFy mirror)”

See other formats


Cak bimbingan Dasar  MEMBUAT PROJECT ARDUINO UNO     GO   ARDUINO     Pendahuluan     Arduino merupakan suatu perangkat nan dirancang dengan kemampuan komputasi yang  dapat berinteraksi secara bertambah dekat dengan dunia nyata dibandingkan komputer jinjing biasa. Satu  hal yang perlu dicatat ialah Arduino bersifat open source, baik microcontroller board yang  bisa dimodifikasi, semacam itu kembali dengan development environment bagi menuliskan source  code program yang disebut dengan istilah sketch.      ARDUINO     Sejarah Pendek   Arduino bermula pada periode 2005, sebagai sebuah project cak bagi para pelajar di Interaction  Design Institute Ivrea di Ivrea, Italia. Pada detik itu para pelajar menggubakan BASIC Stamp  yang cukup mahal cak bagi pelajar. Adalah Massimo Banzi, salah satu pendiri Arduino, nan  sekaligus mengajar di Ivrea, menyedang menyelesaikan persoalan tersebut. Bawah mula merek  Arduino berasal dari merek sebuah kafetaria nan ada di Ivrea, dimana para pembangun Arduino formal  berkumpul disana. Untuk hardware wiring awal dirancang maka dari itu Hernando Barragan. Bersama  dengan David Cuartielles, mulai memperkenalkan Arduino.   Feature Kelebihan   Arduino bisa digunakan untuk berekspansi satu sistem interaktif, nan menerima  input dari bermacam switch alias pemeriksaan, dan mengendalikan bermacam hal semisal bohlam,  motor, dan output lainnya.   Cak  semau beraneka macam macam jenis microcontroller dan podium nan tersuguh buat keperluan  komputasi fisik. Arduino dirancang secara sederhana dan mudah dipelajari, dikembangkan  cak bagi keperluan project tugas sekolah, ceramah, atau tugas pengunci. Akan halnya kelebihan yang  coba ditawarkan Arduino antara tak.   • Relatif murah   • Berwatak cross-platform dapat dijalankan di berbagai macam operating system sebagai halnya  Windows, Macintosh OSX, dan Linux   • Sederhana, dengan programming environment bani adam dari bahasa pemrograman C  yang mudah dimengerti   • Baik hardware maupun software bersifat open source   Kerjakan dasar tutorial pemrograman Arduino berikut ini bilang function yang absah  digunakan.   setup()   Digunakan cak bagi inisialisasi variable, pin mode, pengusahaan library, dan enggak sebagainya.  Hanya dijalankan sekali, pada momen Arduino purwa barangkali dinyalakan, atau setelah reset.   loop()   Setelah function setupQ, digunakan function loop() yang sesuai dengan namanya, buat     menjalankan program penting dalam Arduino secara berulang per-sisten, sampai Arduino  dimatikan atau reset.   pinMode()   Digunakan cak bagi melakukan konfigurasi secara spesifik kurnia dari sebuah pin, apakah  digunakan sebagai input ataupun sebagai output. Contoh pengusahaan function pinMode() ialah  sebagai berikut.   • pinMode(0, INPUT) konfigurasi pin 0 Arduino sebagai pin input   • pinMode(13, OUTPUT) konfigurasi pin 13 Arduino seumpama pin output   digitalReadO   Digunakan untuk membaca poin pin digital yang istimewa, apakah bernilai HIGH atau LOW.  Contoh eksploitasi function digitalRead() ialah sebagai berikut.   • digitalRead(O) membaca nilai digital dari pin 0 Arduino  digitalWriteO   Selain membaca nilai, ada juga function kerjakan menuliskan atau menyerahkan ponten pada satu  pin digital secara spesifik. Dengan function digitalWrite() memasrahkan nilai pin digital yang  spesifik apakah bernilai HIGH alias LOW, dapat dilakukan. Contoh eksploitasi function  digitalWriteO yaitu sebagai berikut.   • digitalWrite(13, HIGH) memberikan angka digital HIGH pada pin 13 Arduino     delay()   Sesuai dengan namanya, function delay() digunakan bagi memberikan waktu tundaan  (dalam satuan millisecond) bagi mengerjakan satu baris program ke leret seterusnya.  Contoh penggunaan function delay() merupakan sebagai berikut.   • delay(lOOO) mengasihkan waktu tundaan 1000 millisecond, alias seimbang dengan 1 detik  sebelum melanjutkan mengerjakan perintah jajar program lebih jauh     analogRead()   Selain mendaras nilai digital, Arduino juga dapat digunakan untuk membaca kredit analog.  Dengan menunggangi function analogRead(), untuk mendaras nilai analog melampaui pin  analog. Bagi board Arduino UNO memiliki 6 channel analog, Arduino Mini dan Nano 8  channel, sedangkan Arduino Gegana 10 channel, dengan resolusi 10 bit analog to digital  converter. Dengan resolusi 10 bit memungkinkan pemetaan tegangan antara 0 volt sebatas 5  volt kerumahtanggaan nilai integer dari 0 setakat 1023. Sehingga resolusi pembacaan skor analog yaitu 5  volt dibagi 1024 unit, alias sekitar 4,9 mV per unit. Dibutuhkan sekitar 100 microsecond  bagi membaca suatu input analog, dengan alas kata bukan tingkat pembacaan maximum poin  analog ialah 10000 kali dalam satu detik.     analogReference(type)   Digunakan bagi menerimakan nilai tarikan referensi buat input analog, dengan sortiran  type yang ada antara enggak.   • DEFAULT, nilai tegangan default untuk board Arduino ialah 5 volt atau 3,3 volt   • INTERNAL, sebuah referensi built-in, setara tegangan 1,1 volt pada ATmegal68  alias ATMega 328, dan 2,56 volt untuk ATMega8   • INTERNAL1V1, sebuah wacana built-in, tegangan 1,1 volt, untuk Arduino Mega   • INTERNAL2V56, sebuah referensi built-in, tegangan 2,56 volt, untuk Arduino Mega   • EXTERNAL, sebuah teks teks dari pin AREF, poin tegangan berkisar  anatar 0 volt hingga 5 volt     Cak bagi informasi selanjutnya silahkan kunjungi situs halaman Arduino .     Arduino Aksi Bitwise   Bahasa C yang digunakan pada Arduino, menjadikannya mudah untuk dipelajari maka dari itu pelajar,  mahasiswa, pecah mulai cak bagi project sederhana hingga tugas penghabisan kuliah. Bahasa C  menawarkan persuasi manipulasi bit, yang mana sreg Arduino bisa dahulu berfaedah lakukan  mengubah suatu ponten bit dalam data yang maujud byte. Implementasi kasatmata puas Arduino  adalah pada manipulasi poin pin-pin Arduino berubah dari kondisi high menjadi low, ataupun  sebaliknya. Dalam peristiwa ini operasi manipulasi bit dimungkinkan dengan penerapan gerbang  logika atau operasi fungsi ilmu mantik nan disebut bitwise. Bagi operasi bitwise standard yang  sahih digunakan merupakan & (AND), I (OR), « (Left Shift) meminggirkan nilai bit ke kiri, dan »  (Right Shift) meminggirkan biji bit ke kanan.   AND   Fungsi operasi logika AND dari dua biji pelir operand akan menghasilkan output dengan akal sehat  1, high, hanya pada ketika kedua bit pada tingkat nan sekelas juga bernilai logika 1, high. Selain  itu akan menghasilkan output dengan logika 0, low. Berikut ini adalah contoh potongan  sktech Arduino.   byte operandi = B00001 111;  byte operand2 = B01010101;  byte result = operandi & operand2;     Penjelasannya ibarat berikut.     • Nilai operandi dengan tipe data byte ialah 00001 111   • Nilai operand2 dengan tipe data byte ialah 01010101   • Nilai result dengan tipe data byte ialah hasil operasi AND byte dari operandi dengan  operand2     AND   operandi = 00001111  operand2 = 01010101   result = 00000101     OR   Fungsi operasi logika OR terbit dua buah operand akan menghasilkan output dengan logika 1,  high, semata-mata pada saat pelecok satu atau kedua bit pada tingkat yang sama bernilai akal sehat 1,  high. Selain bila kedua bit pada tingkat yang sama bernilai logika 0, low maka akan  menghasilkan output dengan logika 0, low. Berikut ini adalah contoh potongan sktech  Arduino.   byte operandi = B00001 111;  byte operand2 = B01010101;  byte result = operandi I operand2;   Penjelasannya sebagai berikut.   • Angka operandi dengan variasi data byte ialah 00001 111   • Nilai operand2 dengan tipe data byte ialah 01010101   • Nilai result dengan macam data byte adalah hasil operasi OR byte dari operandi dengan  operand2     OR   operandi = 00001111  operand2 = 01010101   result = 01011111     « Left Shift   Fungsi dari bitwise « yakni menggeser nilai-skor bit ke kiri. Menggusur nilai-nilai bit ke kidal,  akan menghasilkan output yang bernilai dua kali lipat berpokok operand awalnya. Berikut ini  adalah teladan potongan sktech Arduino.   int i = 2;   byte operand = B00001 111;  byte result = operand « i;   Penjelasannya sebagai berikut.   • Nilai operand dengan spesies data byte adalah 00001 111   • Nilai result dengan tipe data byte yaitu hasil pergeseran bit dari operand ke kiri  sebanyak i, yakni 2 kali   Left shift  operand = 00001111  result = 00111100     » Right Shift   Fungsi dari bitwise » merupakan menggeser angka-ponten bit ke kanan. Menggeser nilai-angka bit ke  kanan, akan menghasilkan output yang bernilai separuh berbunga operand awalnya. Berikut ini  adalah transendental potongan sktech Arduino.   int i = 2;   byte operand = B01 100000;  byte result = operand » i;   Penjelasannya umpama berikut.   • Nilai operand dengan tipe data byte ialah 01 100000   • Kredit result dengan keberagaman data byte yaitu hasil pergeseran bit dari operand ke kanan  sebanyak i, yakni 2 kali   Right shift  operand = 01100000  result = 00011000     Lihat juga mengenai implementasinya dalam programa Arduino LED bitwise operation .     Arduino Serial     Setiap board Arduino sedikitnya mutakadim memiliki satu buah serial port, nan memungkinkannya bikin  melakukan proses pertukaran data dengan komputer alias perangkat lain melalui jalur komunikasi  serial. Pada Arduino Uno, dengan menunggangi RX (pin 0) dan TX (pin 1) memungkinkan proses  komunikasi serial tersebut. Makanya karena itu, pin 0 dan pin 1, yang madya digunakan bikin proses  pertukaran data komunikasi serial, tersebut tidak dapat digunakan andai pin input atau juga  output.   Arduino IDE sendiri sudah mencangam feature serial monitor bakal berkomunikasi dengan board  Arduino. Satu kejadian yang terlazim dicatat adalah menyesuaikan baud rate antara Arduino dengan  komputer, seharusnya proses perubahan data antara keduanya bisa berjalan dengan baik. Agar makin jelas  adapun baud rate, berikut penjelasannya.   Pada telekomunikasi dan elektronika, baud (intern Bd) yaitu unit buat merepresentasikan  banyaknya modulasi atau pulse setiap satuan waktu. Dalam sistem digital, (yang menggunakan biji  discrete) dengan binary code, 1 Bd setinggi dengan 1 bit per second. Kerjakan label unit baud ini sendiri,  berasal dari Emile Baud, yang ialah penemu semenjak Baudot code kerjakan telegrapy.  Intern proses transisi data antara microcontroller dengan komputer, halal melalui komunikasi  serial. Disini kaitannya dengan baud rate, seberapa cepat data dikirimkan melalui jalur komunikasi  serial tersebut. Agar dua biji pelir perangkat, microcontroller dengan komputer boleh bertukar data  dengan baik, maka baud rate antara keduanya harus sekufu. Biasa baud rate nan digunakan ialah  9600 bits per second. Adapun baud rate lainnya bisa bernilai 1200, 2400, 4800, 19200, 38400,  57600, dan 115200. Setiap nilai baud rate tersebut punya ratio perbandingan kelipatan dari baud  rate standard 9600 nan biasa digunakan.   Semakin panjang baud rate, maka semakin cepat data dikirimkan, demikian lagi sebaliknya. Meski  sejenis itu taat ada batasan nilai baud rate, bila melebihi skor batasan tersebut maka akan terjadi error.  Lihat sekali lagi akan halnya interface komunikasi serial .     Arduino LCD   Salah satu jenis penampil yang cinta digunakan yakni LCD (Liquid Crystal Display), nan  n kepunyaan banyak manfaat dibandingkan seven segment display . Salah suatu kebaikan LCD  ialah menampilkan pesan text. Variasi LCD yang banyak digunakan untuk project  microcontroller sederhana ialah LCD 16x2, 16 kolom dengan 2 baris.  Kerjakan memulai belajar memperalat penampil LCD, terlebih lewat dilakukan pemetaan  konfigurasi wiring tabel. Hal ini ditujukan agar pin yang digunakan sreg source code dan  wiring diagram sesuai. Berikut ini ialah wiring diagram yang digunakan antara Arduino  dengan LCD puas uji coba tadinya.      Bersendikan rencana wiring diagram tersebut.   • LCD RS pin dihubungkan ke digital pin 12   • LCD Enable pin dihubungkan ke digital pin 1 1   • LCD D4 pin dihubungkan ke digital pin 5   • LCD D5 pin dihubungkan ke digital pin 4   • LCD D6 pin dihubungkan ke digital pin 3   • LCD D7 pin dihubungkan ke digital pin 2   Penggunaan potentiometer (variable resistor), ditujukan buat mengatur tingkat gelap-terang  tampilan LCD tersebut, berdasarkan keistimewaan pembagi tegangan. Berikut ini merupakan source code  (sketch) sederhana buat menampilkan pesan text.   /*   Program LCD tertinggal  dengan mencengap library LCD  Loki Lang   */   #include <LiquidCrystal.h>   LiquidCrystal lang(12, 11, 5, 4, 3, 2);   void setup()  {   lang.begin(16, 2);   }   void loop()  {   lang.clear();  lang.setCursor(3, 1);  lang.print("Manchester");  lang.setCursor(5, 1);  lang.print("United");   }     N domestik source code tersebut digunakan macro #include preprocessed directive yang memuat  file header LiquidCrystal.h bagi library LCD, bagi penampil LCD.   Proses inisialisasi pin Arduino nan terhubung ke pin LCD RS, Enable, D4, D5, D6, dan D7,  dilakukan dalam saf LiquidCrystal lang(12, 1 1, 5, 4, 3, 2); dimana lang merupakan variable  yang dipanggil kerap kali instruksi terkait LCD akan digunakan. Catatan, kerjakan nama  variable lang dapat diubah dengan led maupun etiket lainnya, selama n domestik pemanggilan  namanya sesuai.   begin()   Untuk begin() digunakan dalam inisialisasi interface ke LCD dan mendefinisikan matra  kolomdan baris LCD. Pemanggilan begin() harus dilakukan terlebih dahulu sebelum  menegur instruksi lain dalam library LCD. Untuk syntax penulisan instruksi begin() adalah  laksana berikut.  lang.begin(cols, rows)   Dengan lang ialah label variable, cols jumlah kolom LCD, dan rows jumlah derek LCD.  clear()   Instruksi clear() digunakan untuk membeningkan pesan text. Sehingga tak ada tulisan yang  ditapilkan pada LCD.   setCursor()   Instruksi ini digunakan bagi memposisikan cursor awal pesan text di LCD. Penulisan syntax  setCursor() yakni sebagai berikut.  lang.setCursor(col, row)   Dengan lang merupakan tera variable, col rubrik LCD, dan row baris LCD.  print()   Sesuai dengan namanya, instruksi print() ini digunakan untuk mencetak, menampilkan pesan   text diLCD. Penulisan syntax print() yaitu ibarat berikut.   lang.print(data)   Dengan lang merupakan cap variable, data yakni pesan nan mau ditampilkan.   Lihat kembali mengenai tutorial dan penjelasan akan halnya project Arduino Uno LED blinking  dan Arduino Uno LED animation.     Arduino Timer     Pada ulasan belajar Arduino boleh jadi ini membahas tentang timer dan interrupt. Banyak function  dalam Arduino menggunakan timer semisal delay(), delayMicroseconds(), millis(), dan  micros() untuk penggunaannya masing-masing akan dijelaskan seumpama berikut.   • delay(), digunakan untuk tundaan eksekusi baris program selanjutnya internal  millisecond   • delayMicroseconds(), digunakan bikin tundaan eksekusi saf program lebih lanjut  dalam microseconds   • millis(), digunakan laksana pewaktu internal yang (bila tanpa terminate bersyarat)  akan terus berjalan setakat terjadi overflow (kembali ke ponten 0) dengan unit dalam  millisecond, untuk board Arduino Uno kredit millis() akan terus berjalan hingga sekeliling  50 hari   • micro s(), digunakan sebagai pewaktu dalam nan (bila minus terminate bersyarat)  akan terus berjalan sebatas terjadi overflow (sekali lagi ke nilai 0) dengan unit privat  microsecond, lakukan board Arduino Uno nilai millis() akan terus melanglang hingga  seputar 70 jam   Sebuah pewaktu, timer, merupakan adegan dari microcontroller nan bermain sebagai clock  internal bakal menyukat waktu suatu event. Untuk timer boleh diatur dengan memperalat  beberapa register khas. Pada firmware Arduino semua timer memiliki konfigurasi  frekuensi 1 kHz dengan enable interrupt. Berikut ini timer singularis untuk Arduino.   • TimerO, 8 bit, digunakan kerjakan function seperti delay(), millis(), dan micros(), dengan  mengubah konfigurasi TimerO akan mempengaruhi function lainnya   • Timer 1, 16 bit, normal digunakan untuk permintaan tercalit pemrakarsa servo   • Timer2, 8 bit, function tone() menggunakan Timer2     Timer Register   Untuk dapat mengamalkan manipulasi timer plong Arduino terlebih dahulu harus mengetahui  fungsi dari masing-masing register yang tersapu timer. Salah satu register timer yang paling  terdepan yaitu TCCRx (Timer/Conter Control Register), dengan x adalah nomor, berikut ini  merupakan register barang apa saja yang digunakan bakal timer.   • TCCRx (Timer/Conter Control Register), dimana prescaler dapat dikonfigurasi disini  sekaligus mode operasi timer   • TCNTx (Timer/Counter Register), dimana angka timer disimpan, merupakan register  pencacah berangkat berpangkal 0 sampai biji maximum   • OCRx (Output Compare Register), untuk membandingkan OCR yag diberikan dengan  ponten TCNT   • ICRx (Input Capture Register), hanya terhidang untuk timer 16 bit, menerima data  timer   • TIMSKx (Timer/Counter Interrupt Mask Register), digunakan untuk menjalankan  alias mematikan timer interrupt   • TIFRx (Timer/Counter Interrupt Flag Register), menandakan timer interrupt hasil  kampanye timer
      

Source: https://archive.org/stream/pdfy-KzNa7gMee–RGWGy/TUTORIAL%20DASAR%20ARDUINO_djvu.txt