Hai sahabat Indobot, kali ini kita akan membahas tentang library arduino
Sedang ada project apa hari ini?
Eh kalian pernah tidak, copy program dari internet tapi kok masih ada error? Nah kenapa coba?
Pertama kali kita menggunakan program yang di website, kita perlu mengecek bagian library. Bagian ini sangat penting teman-teman. Terkadang, dalam suatu program ada library khusus yang digunakan untuk menyelesaikan program.
Library Arduino
Library Arduino dapat dimasukkan dengan 2 cara yaitu dengan extract file .zip / .rar agar menjadi folder, yang kemudian dapat kita copy paste ke document – arduino – library. Selain cara ini, ada cara yang lebih mudah, yaitu kita buka aplikasi arduino, kemudian masuk ke include library – manage libararies. Ketika library sudah dimasukkan, maka kita bisa menggunakannya dengan pemanggilan library. Caranya dengan #include pada program. Cara lainnya, teman-teman juga bisa menggunakan sketch – include library kemudian pilih library yang akan anda gunakan. Cara ini lebih simpel tapi akan menampilkan semua library nya. Walaupun tidak menghasilkan error, tapi akan tidak berguna. Tapi tidak masalah sih, daripada error ya kan?
Nah biasanya kita akan download library sesuai dengan program yang kita butuhkan. Khususnya ketika kalian mengcopy program dari website atau dapat dari teman atau dari manapun yang menjadikan kalian lebih praktis dalam menyelesaikan project. Jadi library ini, terkesan seperti syarat saja untuk menghasilkan compiling program. Padahal sebenarnya tidak seremeh itu hlo gaes.
Jika teman-teman perhatikan, setelah kita memasukkan library ke aplikasi arduino kita, maka pada bagian examples juga akan muncul examples baru. Iya kan? Coba dilihat di yang paling bawah examples, disitu ada examples for custom library. Coba cari hasil library yang kalian masukkan. Apakah ada di situ juga?
Harusnya ada. Kenapa?
Karena orang yang membuat library Arduino pastinya bermaksud untuk mempermudah pengguna. Jadi dengan munculnya examples ini, diharapkan mempermudah kita untuk menyelesaikan project sesuai dengan yang kita butuhkan.
baca juga: Cara Mudah Menambahkan Library Pada Arduino IDE
Bahkan sebelum teman-teman memasukkan library, examples ini sudah memiliki banyak project yang bisa kita pelajari hlo. Contoh yang paling sederhana, seperti pembuatan blink (lampu berkedip).
Contoh
Coba kalian buka file – examples – basic – blink. Maka akan dimunculkan program seperti berikut.
/* Blink Turns an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to the correct LED pin independent of which board is used. If you want to know what pin the on-board LED is connected to on your Arduino model, check the Technical Specs of your board at: https://www.arduino.cc/en/Main/Products modified 8 May 2014 by Scott Fitzgerald modified 2 Sep 2016 by Arturo Guadalupi modified 8 Sep 2016 by Colby Newman This example code is in the public domain. https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second } |
Banyak sekali ya? Iya. Tapi kalian tidak perlu bingung. Semua yang tertulis di situ adalah penjelasan terkait cara kerja program, siapa pembuatnya, dan hal – hal yang berkaitan dengan program utama.
Jika diuraikan, program utama hanya tertulis seperti ini.
void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } |
baca juga: Membuat Project Ardiono Sederhana #1 LED BLINK (Kedip)
Sedikit sekali ya. Ya memang seperti itulah cara kerjanya.
Lalu yang lainnya tidak mempengaruhi program ya?
Iya. Semua kata/kalimat yang diawali dengan tanda // atau berada di antara tanda /* dan */ di artikan sebagai commen saja. Commen dalam pemrograman artinya hanya keterangan yang tidak mempengaruhi program.
Konsultasikan project mu bersama Tutor Indobot Academy dengan cara registrasi melalui tombol di bawah!
Contoh lainnya ketika kita sudah memasukkan library DHT. Maka akan muncul DHT pada examples. Coba kalian gunakan pada bagian DHTtester. Maka akan muncul program seperti ini.
// Example testing sketch for various DHT humidity/temperature sensors // Written by ladyada, public domain // REQUIRES the following Arduino libraries: // - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library // - Adafruit Unified Sensor Lib: https://github.com/adafruit/Adafruit_Sensor #include "DHT.h" #define DHTPIN 2 // Digital pin connected to the DHT sensor // Feather HUZZAH ESP8266 note: use pins 3, 4, 5, 12, 13 or 14 -- // Pin 15 can work but DHT must be disconnected during program upload. // Uncomment whatever type you're using! //#define DHTTYPE DHT11 // DHT 11 #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 //#define DHTTYPE DHT21 // DHT 21 (AM2301) // Connect pin 1 (on the left) of the sensor to +5V // NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1 // to 3.3V instead of 5V! // Connect pin 2 of the sensor to whatever your DHTPIN is // Connect pin 4 (on the right) of the sensor to GROUND // Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor // Initialize DHT sensor. // Note that older versions of this library took an optional third parameter to // tweak the timings for faster processors. This parameter is no longer needed // as the current DHT reading algorithm adjusts itself to work on faster procs. DHT dht(DHTPIN, DHTTYPE); void setup() { Serial.begin(9600); Serial.println(F("DHTxx test!")); dht.begin(); } void loop() { // Wait a few seconds between measurements. delay(2000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println(F("Failed to read from DHT sensor!")); return; } // Compute heat index in Fahrenheit (the default) float hif = dht.computeHeatIndex(f, h); // Compute heat index in Celsius (isFahreheit = false) float hic = dht.computeHeatIndex(t, h, false); Serial.print(F("Humidity: ")); Serial.print(h); Serial.print(F("% Temperature: ")); Serial.print(t); Serial.print(F("°C ")); Serial.print(f); Serial.print(F("°F Heat index: ")); Serial.print(hic); Serial.print(F("°C ")); Serial.print(hif); Serial.println(F("°F")); } |
Ingat! Jangan panik. Ini hanya program dengan banyak commen. Santai dulu tarik nafas. Perhatikan programnya. Terutama pada bagian #define. Bagian ini berfungsi untuk menentukan pin mana dan jenis DHT apa yang anda gunakan.
#define DHTPIN 2 // Digital pin connected to the DHT sensor |
#define di bagian ini menjelaskan bahwa pin input untuk DHT kalian menggunakan pin 2 (untuk arduino) nah kalau kalian tidak menggunakan pin 2, ganti sesuai dengan pin yang kalian gunakan.
#define DHTTYPE DHT22 // DHT 22 (AM2302) |
#define bagian ini menjelaskan bahwa kalian menggunakan DHT11 untuk sensornya. Jika menggunakan DHT11 atau yang lainnya, sesuaikan saja.
Begitulah fungsi library gaes.
Salah satu kesalahan kenapa compiling error adalah library yang salah. Jadi biasanya kita menggunakan library A padahal dibutuhkannya yang B. Perlu diingat, pembuat library untuk satu device tidak hanya satu. Akhirnya tidak cocok ketika kalian menggunakan program lain untuk library yang kalian masukkan.
Mau belajar elektronika dasar? Arduino? atau Internet of Things? Ikuti kursus online Indobot Academy!