Langsung ke konten utama

tipe data Byte dan Boolean dalam pemrograman arduino

Pengertian Byte dan Boolean, 1 Byte

Banyak contoh di internet, termasuk di website  arduino.cc yang membuat variabel untuk pin seperti ini: 

int LedPin = 2;

int SwitchPin = A0

Penulis kurang setuju dengan penggunaan tipe data seperti itu. Kenapa? Karena mengunakan tipe integer untuk diisi dengan pin Arduino itu kurang hemat. Jumlah kaki 

Arduino ada berapa? Tidak lebih dari 200. Sedangkan kapasistas untuk tipe data integer berapa? Kapasitas tipe integer adalah 65535 (jika mengabaikan tanda negatif).Sebenarnya, jika hanya untuk pin Arduino, penggunaan tipe data byte atau unsigned char sudah cukup. Lebih menghemat memori karena byte kapasitasnya 1 byte. sedangkan integer adalah 2 byte. Jika kita memprogram 

Arduino Mega dengan tipe data integer untuk 50 pin, berarti kita menghabis 100 byte hanya untuk nama pinnya saja, dan itu sudah 5% dari total SRAM-nya Uno. Belum variabel yang lain.

Penulis lebih senang menggunakan:

const byte LedPin = 2;

Kenapa pakai const (konstanta) dan byte? Sebab LedPin tidak pernah diubah-ubah dan jumlah pin Arduino PASTIpositif. Kita tidak butuh tipe data negatif. Apalagi tipe data byte sudah cukup untuk menampung 256 pin Arduino karena kapasitas untuk data byte adalah 0 – 255. Tipe data boolean, true, false, high, dan low sama-sama berkapasitas 1 byte. Jadi tidak ada masalah dengan tipe data ini. 

Komentar

Postingan populer dari blog ini

Project simulasi lampu lalu lintas (traffic light) 4 simpang menggunakan software proteus dan mikrokontroller atmega 16

Project kali ini membuat simulasi menggunakan software proteus untuk sistem lampu lalu lintas atau traffic light simpang 4 berbasis microcontroller Atmega 16. Pada sistem simulasi ini ditampilkan lcd 16x2 sebagai informasi tambahan bagi para pengendara mengenai nama simpang dan sebagainya. Terdapat pula seven segment sebagai penanda berapa lama lagi waktu atau detik yang tersisa baik itu merah atau hijau. Dan terdapat lampu LED sebagai penanda, untuk warna merah artinya berhenti, kuning untuk siap-siap/ hati hati dan hijau untuk jalan. Berikut desain simulasinya menggunakan software proteus

pengertian modul Relay dalam Arduino dan mikrokontroller

Relay adalah komponen yang dapat digunakan sebagai saklar elektronik. Secara singkat, cara kerja relay adalah memanfaatkan magnet buatan untuk memicu kontaktor dari keadaan off menjadi on, atau sebaliknya. Ibaratnya begini, jika ingin menghidupkan lampu, kita harus pencet saklar yang nempel di tembok. Tapi jika  menggunakan relay, kita bisa menghidupkan atau  mematikan lampu tanpa menyentuh saklar lagi. Relay disebut juga sebagai saklar elektronik, yaitu saklar dapat  dikontrol dengan alat elektronik lainnya seperti Arduino Relay umumnya punya 5 pin atau kaki., yang terdiri dari: Dua kaki untuk listrik + dan GND, jika arus dan tegangannya cukup, maka relay akan aktif yang ditandai dengan bunyi „tek‟. Satu kaki sumber C (common), kaki ini yang akan dihubungkan ke kaki NC atau NO. Jika relay akan  digunakan untuk mengontrol lampu rumah, maka  kaki C disambung ke salah satu jalur listrik dari PLN.  Kaki NC (Normally Close), sebelum relay aktif, kaki NC  nyambung ke kaki C (perhatikan ga

Project Running LED dengan IC Shift Register 74HC595 menggunakan arduino uno R3

project kali ini membuat Running LED atau biasa disebut lampu berjalan maksudnya adalah nyala led bergantian satu sama lain Peralatan yang disiapkan dan rangkaiannya adalah: 1. Arduino x 1 2. IC Shift Register 74HC595 x 1 3. LED x 8 4. Resistor dengan nilai seragam x 8 5. Project board x 1 6. Kabel jumper secukupnya  sambungan pin Arduino dengan IC 74HC595, dan komponen lainnya yaitu : Program LED Berjalan dengan Shift Register /* * Program LED Berjalan dengan Shift Register */ // konfigurasi pin Arduino const byte DataPin = 2; // DS data serial const byte LatchPin = 3; // ST_CP const byte ClockPin = 4; // SH_CP // menampung data byte data = 0; void setup() {  // konfigurasi pin sebagai ouput  pinMode(LatchPin, OUTPUT);  pinMode(ClockPin, OUTPUT);  pinMode(DataPin, OUTPUT); } void loop() {  // delay 200ms  if ( nonblocking_delay(200) ){  // geser kiri  data <<= 1;  // jika data == 0 (gesernya sudah habis)  // ulangi dari awal  if( data == 0 ) data = 1;  // mulai transfer  di