Chapter #2 Intro Arduino

Chapter #2 Intro Arduino

Apa itu?

Sebelum mengetahui apa itu arduino, kita akan membahas tentang perbedaan mikcocontroller & microprocessor

Microcontroller

Mikrokontroler adalah chip yang dioptimalkan untuk mengontrol perangkat elektronik. kontrol fungsi tersebut disimpan dalam sirkuit terpadu tunggal yang didedikasikan untuk melakukan tugas tertentu dan menjalankan suatu aplikasi tertentu. contohnya, biasanya mikrokontroller memiliki satu fungsi saja, seperti, mikrokontroller untuk line follower, mikrokontroller untuk drone, dan mikrokontroller untuk kontrol relay. masing masing program memiliki mikrokontroller terpisah. Contoh dari mikrokontroller yaitu Atmega, Atmel, PIC, STM, 8085, AVR dan sejenisnya...

Microprocessor

Mikroprosesor adalah unit kontrol dalam sebuah komputer yang dibungkus di dalam chip kecil. Ia melakukan operasi Arithmetic Logical Unit (ALU) dan berkomunikasi dengan perangkat lain yang terhubung dengannya. Ini adalah Sirkuit Terpadu tunggal di mana beberapa fungsi digabungkan. microprocessor biasanya dipakai dalam sebuah komputer dengan menjalankan banyak sekali proses proses dan fungsi agar komputer dapat bekerja dengan baik.

Single Board Computer (SBC)

Akhir akhir ini mulai populer dengan istilah baru ini, single board computer adalah microprocessor unit yang dibangun dalam sistem papan tunggal, artinya, semua proses dari driver display, suara, memori, i/o, dibangun dalam satu board saja. Contoh aplikasi dari SBC adalah Raspberry pi, Bananna Pi, Nvidia Jetson nano. SBC ini dapat diinstal OS sama seperti komputer pada umumnya.

Arduino Spesifikasi

arduino.jpg

Specifications of Arduino UNO:

  • Microcontroller: ATmega328p
  • Operating Voltage: 5V
  • Input Voltage (recommended): 7-12V
  • Input Voltage (limits): 6-20V
  • Digital I/O Pins: 14 pins (of which 6 are PWM output pins)
  • Analog Input Pins: 6
  • DC Current per I/O Pin: 40 mA
  • DC Current for 3.3V Pin: 50 mA
  • Flash Memory: 32 KB (of which 0.5 KB is taken by bootloader)
  • SRAM: 2 KB (ATmega328)
  • EEPROM: 1 KB (ATmega328)
  • Clock Speed: 16 MHz
  • Length:6 mm
  • Width:4 mm
  • Weight: 25 g

arduinoreset.jpg Voltage regulator :

  • Arduino memiliki voltage regulator step down kedalam tegangan sistem yaitu 5V, apabila sumber tegangan 9V maka regulator akan menurunkan tegangan agar dapat bekerja dengan baik.
  • Oscillator pada arduino berfungsi sebagai timing dan proses kontrol. Tanpa adanya oscillator kontrol waktu akan menjadi berantakan, dan bisa jadi tidak bekerja dengan baik.
  • Reset button berfungsi untuk mereset program menjadi program terakhir kali berjalan.

powersupply.jpg Power supply pada arduino:

  • USB port, yaitu 5V source biasanya jarang sekali ada sumber usb lebih dari 5V.
  • Power jack, yaitu socket umum pada power supply DC, dan walaupun arduino dapat menerima tegangan 5-20V, tetapi manufaktur dari arduino menyarankan untuk menggunakan 7-12V atau 9V lebih baik bagi saya.

Arduino memiliki sisterm serial komunikasi two-wire atau I2C (inter integrated circuit)

  • SCL (Serial Clock), berguna sebagai transfer waktu untuk syncronize antara waktu master dan slave
  • SDA (Serial Data), berguna sebagai pengirim dan penerima data, biasanya SDA disebut juga Data line, dan SCL adalah Clock line.

Selain I2C protokol, adapula protokol komunikasi lain yaitu SPI (Serial Peripheral Interface)

  • SCK (Serial Clock) sama seperti SCL yang berguna sebagai transfer clock
  • MISO (Master input/Slave output), pada data line miso berfungsi sebagai penerima data dari slave device
  • MOSI (Master output/Slave input), pada data line mosi berfungsi sebagai pengirim data dari master ke slave device.
  • SS (Slave Select / chip select), line ini digunakan oleh master untuk memilih line data slave yang akan digunakan sebagai slave yang akan difungsikan

Serial pin yang berguna untuk serial komunikasi arduino dengan komputer atau interface device lain seperti bluetooth, wifi, dan radio

  • RX atau Receiver sebagai penerima data
  • TX atau transmitter sebagai pengirim data

Analog pin (A0 - A5), pin analog ini berfungsi sebagai kontrol sinyal analog, nilai analog akan linier dengan nilai suatu tegangan, dan besarnya nilai akan menjadi 1024 atau 10bit, karena arduino memiliki sistem 10bit. contoh dari aplikasi sensor analog : IR sensor, thermistor, sensor cahaya, dan sensor tegangan sensoranalog.jpg

sinyal.jpg

Digital Pin (D1 - D13), pin digital ini berfungsi sebagai GPIO atau general purpose input output, sebenarnya, banyak dari sensor yang tersebar memiliki bentuk sinyal analog atau bernilai tegangan, tetapi untuk memproses sensor menjadi nilai yang sesuai maka dibuat rangkaian conver analog ke digital, sehingga banyak sensor yang tersebar berbentuk digital. contoh dari sensor digital adalah, sensor suhu DHT11, sensor cuaca BMP280, sensor gerak, sensor ultrasonic, dll sensordigital.jpg

DO & DON'T

  • Mengukur sensor diatas 5V langsung ke arduino (contoh, proximity sensor, motor dc dll)

  • Menyambung 5V dan GND

  • Hati hati dengan polarity, perhatikan kutub positif dan negatif sesuai

  • Hati hati dengan external power source

Arduino IDE

Untuk membuat program arduino, kita butuh sebuah IDE atau integrated development environment artinya kita membutuhkan framework arduino untuk menjalankan program arduino. dan framework arduino arduino berjalan pada bahasa pemrograman CPP, yang selanjutkan akan kita bahas lebih advance dan terstruktur pada chapter-chapter selanjutnya. untuk download ide bisa kunjungi link berikut (arduino.cc/en/software#experimental-software)

dan ikuti gambar berikut : arduino.jpg sangat disarankan mendownload versi 1.8. karena versi 2..* masih beta dan masih banyak bug.

Arduino IDE

arduinoide.jpg pada struktur aplikasi Arduino Ide terdapat beberapa tab:

  • File, tab file memiliki sub seperti save untuk menyimpan, open untuk buka file, sketchbook untuk melihat workfile kita, lalu ada example yang berisi contoh-contoh program yang berasal dari library yang telah kita download atau install.
  • Edit, tab edit jarang digunakan untuk development proses karena sifatnya dapat menggunakan short cut, seperti copy, paste, lalu comment/uncomment, dan mengatur ukuran font.
  • Sketch, tab sketch biasa digunakan untuk import library dari external maupun melalui library manager, pada arduino ide, fitur pada sketch ini seperti upload, verify/compile telah disematkan diluar jendela tab, jadi tidak perlu buka sketch untuk upload sketch.
  • Tools, tab tools biasa digunakan untuk memilih board atau papan development yang akan digunakan seperti mengganti papan arduino uno, mega, nano, serta terdapat juga serial monitor untuk menampilkan data serial, lalu serial plotter untuk menampilkan data dalam bentuk grafik, dan juga mengatur port yang akan digunakan.
  • Helps, ya tidak banyak digunakan, saya abaikan saja.

Lalu untuk tanda nomor yang ada pada gambar adalah tools atau fitur yang akan sering kita gunakan,

  1. untuk verify atau compile program kita sebelum upload ke board, hal ini dilakukan untuk debugging atau memverifikasi apakah program kita sudah sesuai atau belum.
  2. Upload, setelah verifikasi berhasil kita bisa langsung mengupload program kita ke board.
  3. New, membuat file baru
  4. Open, membuka file
  5. Save, untuk menyimpan file, kita juga bisa pakai CTRL + S
  6. Serial Monitor untuk menampilkan data serial