Belajar Cepat Dan Pemrograman Arduino Download Pdf

Full text of “TUTORIAL Pangkal ARDUINO.pdf (PDFy mirror)”

See other formats


Tuntunan Sumber  akar  Takhlik PROJECT ARDUINO UNO     GO   ARDUINO     Pendahuluan     Arduino adalah satu perangkat yang dirancang dengan kemampuan komputasi nan  dapat berinteraksi secara lebih dempet dengan dunia konkret dibandingkan komputer jinjing biasa. Satu  situasi yang mesti dicatat yakni Arduino bersifat open source, baik microcontroller board yang  bisa dimodifikasi, begitu juga dengan development environment untuk menuliskan source  code programa yang disebut dengan istilah sketch.      ARDUINO     Sejarah Singkat   Arduino pecah pada tahun 2005, sebagai sebuah project untuk para pelajar di Interaction  Design Institute Ivrea di Ivrea, Italia. Sreg saat itu para murid menggubakan BASIC Stamp  yang cukup mahal lakukan siswa. Ialah Massimo Banzi, salah satu pembina Arduino, nan  sekaligus mengajar di Ivrea, mengepas mengamankan persoalan tersebut. Asal mula nama  Arduino berasal pecah segel sebuah kedai kopi yang ada di Ivrea, dimana para pendiri Arduino biasa  berkumpul disana. Lakukan hardware wiring awal dirancang maka dari itu Hernando Barragan. Bersama  dengan David Cuartielles, mulai memperkenalkan Arduino.   Feature Kelebihan   Arduino bisa digunakan untuk mengembangkan suatu sistem interaktif, yang menerima  input semenjak bermacam switch ataupun sensor, dan mengendalikan bermacam kejadian semisal bohlam,  tokoh, dan output lainnya.   Ada beragam jenis spesies microcontroller dan platform yang tersuguh untuk keperluan  komputasi fisik. Arduino dirancang secara keteter dan mudah dipelajari, dikembangkan  cak bagi keperluan project tugas sekolah, khotbah, ataupun tugas pengunci. Tentang kelebihan yang  coba ditawarkan Arduino antara lain.   • Relatif murah   • Bersifat cross-tribune boleh dijalankan di bervariasi operating system seperti  Windows, Macintosh OSX, dan Linux   • Sederhana, dengan programming environment turunan berpokok bahasa pemrograman C  nan mudah dimengerti   • Baik hardware maupun software bertabiat open source   Untuk pangkal latihan pemrograman Arduino berikut ini beberapa function yang biasa  digunakan.   setup()   Digunakan untuk inisialisasi variable, pin mode, eksploitasi library, dan tidak sebagainya.  Tetapi dijalankan sekali, pron bila Arduino pertama kali dinyalakan, maupun setelah reset.   loop()   Pasca- function setupQ, digunakan function loop() yang sesuai dengan namanya, buat     menjalankan program utama dalam Arduino secara repetitif terus-menerus, hingga Arduino  dimatikan atau reset.   pinMode()   Digunakan untuk melakukan konfigurasi secara khusus guna semenjak sebuah pin, apakah  digunakan umpama input atau umpama output. Contoh pemakaian function pinMode() ialah  sebagai berikut.   • pinMode(0, INPUT) konfigurasi pin 0 Arduino umpama pin input   • pinMode(13, OUTPUT) konfigurasi pin 13 Arduino sebagai pin output   digitalReadO   Digunakan cak bagi mengaji angka pin digital yang partikular, apakah bernilai HIGH atau LOW.  Contoh penggunaan function digitalRead() ialah sebagai berikut.   • digitalRead(Udara murni) membaca skor digital terbit pin 0 Arduino  digitalWriteO   Selain membaca nilai, ada juga function bikin menuliskan maupun memberikan nilai plong suatu  pin digital secara spesifik. Dengan function digitalWrite() menerimakan nilai pin digital yang  spesifik apakah bernilai HIGH ataupun LOW, dapat dilakukan. Contoh pengusahaan function  digitalWriteO ialah sebagai berikut.   • digitalWrite(13, HIGH) memberikan nilai digital HIGH plong pin 13 Arduino     delay()   Sesuai dengan namanya, function delay() digunakan buat memberikan masa tundaan  (n domestik rincih millisecond) kerjakan melakukan suatu deret program ke larik selanjutnya.  Contoh penggunaan function delay() ialah ibarat berikut.   • delay(lOOO) mengasihkan musim tundaan 1000 millisecond, atau sepadan dengan 1 momen  sebelum melanjutkan mengerjakan perintah saf acara lebih jauh     analogRead()   Selain membaca ponten digital, Arduino lagi boleh digunakan kerjakan membaca ponten analog.  Dengan menggunakan function analogRead(), bikin mendaras nilai analog melangkaui pin  analog. Bikin board Arduino UNO punya 6 channel analog, Arduino Mini dan Nano 8  channel, padahal Arduino Awan 10 channel, dengan resolusi 10 bit analog to digital  converter. Dengan resolusi 10 bit memungkinkan pemetaan tegangan antara 0 volt hingga 5  volt dalam nilai integer dari 0 hingga 1023. Sehingga resolusi pembacaan poin analog ialah 5  volt dibagi 1024 unit, atau sekeliling 4,9 mV per unit. Dibutuhkan sekitar 100 microsecond  bakal membaca satu input analog, dengan kata enggak tingkat pembacaan maximum kredit  analog ialah 10000 kali intern satu detik.     analogReference(type)   Digunakan lakukan mengasihkan angka tekanan listrik referensi kerjakan input analog, dengan pilihan  type nan cak  semau antara lain.   • DEFAULT, nilai tegangan default bikin board Arduino ialah 5 volt maupun 3,3 volt   • Internal, sebuah teks built-in, setara voltase 1,1 volt pada ATmegal68  ataupun ATMega 328, dan 2,56 volt buat ATMega8   • INTERNAL1V1, sebuah referensi built-in, tegangan 1,1 volt, untuk Arduino Peledak   • INTERNAL2V56, sebuah referensi built-in, tegangan 2,56 volt, untuk Arduino Mega   • EXTERNAL, sebuah referensi referensi dari pin AREF, skor voltase berkisar  anatar 0 volt hingga 5 volt     Untuk manifesto kian lanjut silahkan kunjungi situs halaman Arduino .     Arduino Operasi Bitwise   Bahasa C yang digunakan pada Arduino, menjadikannya mudah lakukan dipelajari oleh siswa,  mahasiswa, dari mulai untuk project tersisa hingga tugas akhir kuliah. Bahasa C  menawarkan gerakan penggelapan bit, yang mana pada Arduino dapat dahulu berharga buat  menafsirkan suatu nilai bit dalam data yang maujud byte. Implementasi nyata pada Arduino  adalah pada manipulasi kredit pin-pin Arduino berubah dari kondisi high menjadi low, atau  sebaliknya. N domestik keadaan ini operasi manipulasi bit dimungkinkan dengan penerapan gerbang  logika atau aksi keistimewaan logika nan disebut bitwise. Bakal operasi bitwise alam nan  biasa digunakan yakni & (AND), I (OR), « (Left Shift) memarginalkan poin bit ke kiri, dan »  (Right Shift) menggeser nilai bit ke kanan.   AND   Fungsi operasi logika AND dari dua buah operand akan menghasilkan output dengan ilmu mantik  1, high, hanya pada saat kedua bit plong tingkat yang sejajar juga bernilai logika 1, high. Selain  itu akan menghasilkan output dengan logika 0, low. Berikut ini ialah sempurna potongan  sktech Arduino.   byte operandi = B00001 111;  byte operand2 = B01010101;  byte result = operandi & operand2;     Penjelasannya sebagai berikut.     • Biji operandi dengan jenis data byte adalah 00001 111   • Poin operand2 dengan tipe data byte yaitu 01010101   • Nilai result dengan tipe data byte yakni hasil usaha AND byte berpunca operandi dengan  operand2     AND   operandi = 00001111  operand2 = 01010101   result = 00000101     OR   Keefektifan operasi logika OR berpokok dua buah operand akan menghasilkan output dengan ilmu mantik 1,  high, semata-mata pada saat salah satu alias kedua bit pada tingkat nan sama bernilai logika 1,  high. Selain bila kedua bit pada tingkat nan sama bernilai logika 0, low maka akan  menghasilkan output dengan akal sehat 0, low. Berikut ini merupakan contoh potongan sktech  Arduino.   byte operandi = B00001 111;  byte operand2 = B01010101;  byte result = operandi I operand2;   Penjelasannya perumpamaan berikut.   • Nilai operandi dengan tipe data byte ialah 00001 111   • Nilai operand2 dengan varietas data byte yakni 01010101   • Nilai result dengan tipe data byte ialah hasil operasi OR byte dari operandi dengan  operand2     OR   operandi = 00001111  operand2 = 01010101   result = 01011111     « Left Shift   Fungsi semenjak bitwise « ialah meminggirkan nilai-nilai bit ke kiri. Menggeser nilai-poin bit ke kiri,  akan menghasilkan output yang bernilai dua mana tahu lipat semenjak operand awalnya. Berikut ini  adalah konseptual potongan sktech Arduino.   int i = 2;   byte operand = B00001 111;  byte result = operand « i;   Penjelasannya laksana berikut.   • Poin operand dengan varietas data byte ialah 00001 111   • Nilai result dengan tipe data byte ialah hasil pergeseran bit dari operand ke kiri  sebanyak i, adalah 2 kelihatannya   Left shift  operand = 00001111  result = 00111100     » Right Shift   Fungsi berpunca bitwise » yakni menggeser ponten-nilai bit ke kanan. Memarginalkan nilai-nilai bit ke  kanan, akan menghasilkan output yang bernilai separuh berbunga operand awalnya. Berikut ini  yaitu contoh rincihan sktech Arduino.   int i = 2;   byte operand = B01 100000;  byte result = operand » i;   Penjelasannya sebagai berikut.   • Nilai operand dengan keberagaman data byte merupakan 01 100000   • Nilai result dengan keberagaman data byte ialah hasil pergeseran bit semenjak operand ke kanan  sebanyak i, yakni 2 kali   Right shift  operand = 01100000  result = 00011000     Tatap juga mengenai implementasinya dalam program Arduino LED bitwise operation .     Arduino Serial     Setiap board Arduino setidaknya telah n kepunyaan suatu biji pelir serial port, yang memungkinkannya buat  melakukan proses pertukaran data dengan komputer atau perangkat tak melalui jalur komunikasi  serial. Pada Arduino Uno, dengan menggunakan RX (pin 0) dan TX (pin 1) memungkinkan proses  komunikasi serial tersebut. Makanya karena itu, pin 0 dan pin 1, yang medium digunakan cak bagi proses  perubahan data komunikasi serial, tersebut tidak boleh digunakan sebagai pin input alias juga  output.   Arduino IDE sendiri mutakadim mencakup feature serial monitor cak bagi berkomunikasi dengan board  Arduino. Satu hal yang perlu dicatat ialah mengimbangkan baud rate antara Arduino dengan  komputer, hendaknya proses perubahan data antara keduanya dapat bepergian dengan baik. Agar lebih jelas  akan halnya baud rate, berikut penjelasannya.   Pada telekomunikasi dan elektronika, baud (dalam Bd) merupakan unit lakukan merepresentasikan  banyaknya modulasi atau pulse setiap satuan waktu. Dalam sistem digital, (yang menggunakan nilai  discrete) dengan binary code, 1 Bd sebabat dengan 1 bit per second. Untuk nama unit baud ini sendiri,  berpangkal semenjak Emile Baud, yang merupakan penemu dari Baudot code untuk telegrapy.  N domestik proses transisi data antara microcontroller dengan komputer, biasa melangkahi komunikasi  serial. Disini kaitannya dengan baud rate, seberapa cepat data dikirimkan melalui kempang komunikasi  serial tersebut. Moga dua biji kemaluan perkakas, microcontroller dengan komputer boleh bertukar data  dengan baik, maka baud rate antara keduanya harus setara. Biasa baud rate nan digunakan ialah  9600 bits sendirisendiri second. Adapun baud rate lainnya bisa bernilai 1200, 2400, 4800, 19200, 38400,  57600, dan 115200. Setiap kredit baud rate tersebut memiliki ratio perbandingan kelipatan dari baud  rate standard 9600 yang seremonial digunakan.   Semakin tataran baud rate, maka semakin cepat data dikirimkan, demikian lagi sebaliknya. Meski  begitu tetap ada batasan poin baud rate, bila melebihi poin batasan tersebut maka akan terjadi error.  Lihat juga tentang interface komunikasi serial .     Arduino LCD   Salah satu jenis penampil yang sering digunakan ialah LCD (Liquid Crystal Display), yang  memiliki banyak kelebihan dibandingkan seven segment display . Riuk suatu kelebihan LCD  ialah menampilkan wanti-wanti text. Diversifikasi LCD yang banyak digunakan cak bagi project  microcontroller tertinggal adalah LCD 16x2, 16 rubrik dengan 2 baris.  Untuk memulai belajar menggunakan penampil LCD, apalagi dahulu dilakukan pemetaan  konfigurasi wiring grafik. Hal ini ditujukan mudahmudahan pin yang digunakan pada source code dan  wiring tabulasi sesuai. Berikut ini ialah wiring diagram nan digunakan antara Arduino  dengan LCD sreg uji coba awal.      Berdasarkan tulangtulangan wiring tabulasi 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-kurat  tampilan LCD tersebut, berdasarkan fungsi pembagi voltase. Berikut ini adalah source code  (sketch) keteter lakukan menampilkan wanti-wanti text.   /*   Program LCD sederhana  dengan mencakup 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");   }     Dalam source code tersebut digunakan macro #include preprocessed directive yang memuat  file header LiquidCrystal.h bagi library LCD, buat penampil LCD.   Proses inisialisasi pin Arduino yang terhubung ke pin LCD RS, Enable, D4, D5, D6, dan D7,  dilakukan dalam baris LiquidCrystal lang(12, 1 1, 5, 4, 3, 2); dimana lang adalah variable  yang dipanggil saban-saban instruksi terkait LCD akan digunakan. Garitan, lakukan cap  variable lang dapat diubah dengan led alias segel lainnya, selama dalam pemanggilan  namanya sesuai.   begin()   Untuk begin() digunakan dalam inisialisasi interface ke LCD dan mendefinisikan ukuran  kolomdan saf LCD. Pemanggilan begin() harus dilakukan terlebih dahulu sebelum  memanggil instruksi lain privat library LCD. Cak bagi syntax penulisan instruksi begin() ialah  umpama berikut.  lang.begin(cols, rows)   Dengan lang ialah segel variable, cols jumlah kolom LCD, dan rows total baris LCD.  clear()   Instruksi clear() digunakan bikin membersihkan pesan text. Sehingga lain cak  semau tulisan yang  ditapilkan lega LCD.   setCursor()   Instruksi ini digunakan cak bagi memposisikan cursor awal pesan text di LCD. Penulisan syntax  setCursor() yakni sebagai berikut.  lang.setCursor(col, row)   Dengan lang adalah nama variable, col kolom LCD, dan row jejer LCD.  print()   Sesuai dengan namanya, instruksi print() ini digunakan kerjakan mencetak, menyampaikan wanti-wanti   text diLCD. Penulisan syntax print() ialah misal berikut.   lang.print(data)   Dengan lang ialah merek variable, data merupakan pesan yang ingin ditampilkan.   Lihat juga akan halnya tuntunan dan penjelasan mengenai project Arduino Uno LED blinking  dan Arduino Uno LED animation.     Arduino Timer     Lega ulasan sparing Arduino boleh jadi ini ceratai adapun timer dan interrupt. Banyak function  dalam Arduino menggunakan timer semisal delay(), delayMicroseconds(), millis(), dan  micros() lakukan penggunaannya masing-masing akan dijelaskan sebagai berikut.   • delay(), digunakan bakal tundaan eksekusi saf programa lebih lanjut internal  millisecond   • delayMicroseconds(), digunakan bikin tundaan eksekusi leret program selanjutnya  dalam microseconds   • millis(), digunakan sebagai pewaktu internal yang (bila minus terminate bersyarat)  akan terus berjalan hingga terjadi overflow (juga ke poin 0) dengan unit intern  millisecond, untuk board Arduino Uno nilai millis() akan terus berjalan hingga sekeliling  50 hari   • micro s(), digunakan sebagai pewaktu privat yang (bila tanpa terminate bersyarat)  akan terus berjalan hingga terjadi overflow (pun ke skor 0) dengan unit dalam  microsecond, bagi board Arduino Uno nilai millis() akan terus berjalan hingga  sekeliling 70 jam   Sebuah pewaktu, timer, adalah putaran dari microcontroller nan berperan sebagai clock  internal bikin menimbang waktu suatu event. Cak bagi timer dapat diatur dengan menggunakan  bilang register tersendiri. Pada firmware Arduino semua timer memiliki konfigurasi  frekuensi 1 kHz dengan enable interrupt. Berikut ini timer khusus bakal Arduino.   • TimerO, 8 bit, digunakan cak bagi function begitu juga delay(), millis(), dan micros(), dengan  mengubah konfigurasi TimerO akan mempengaruhi function lainnya   • Timer 1, 16 bit, baku digunakan untuk aplikasi tersapu biang kerok servo   • Timer2, 8 bit, function tone() menggunakan Timer2     Timer Register   Buat dapat berbuat manipulasi timer pada Arduino terlebih sangat harus mengarifi  guna dari tiap-tiap register yang tercalit timer. Salah satu register timer nan paling  penting ialah TCCRx (Timer/Conter Control Register), dengan x yakni nomor, berikut ini  adalah register apa saja yang digunakan lakukan timer.   • TCCRx (Timer/Conter Control Register), dimana prescaler dapat dikonfigurasi disini  sekaligus tren operasi timer   • TCNTx (Timer/Counter Register), dimana kredit timer disimpan, yakni register  pencacah berangkat berbunga 0 hingga nilai maximum   • OCRx (Output Compare Register), kerjakan membandingkan OCR yag diberikan dengan  nilai TCNT   • ICRx (Input Capture Register), tetapi tersaji untuk timer 16 bit, menerima data  timer   • TIMSKx (Timer/Counter Interrupt Mask Register), digunakan lakukan menjalankan  maupun mematikan timer interrupt   • TIFRx (Timer/Counter Interrupt Flag Register), menandakan timer interrupt hasil  manuver timer
      

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