nikoduino
nikoduino
Arduino with Dummy
8 posts
Seorang mahasiswa berusaha memahami Arduino dan teman-temannya
Don't wanna be here? Send us removal request.
nikoduino · 8 years ago
Text
Final Report: Smart Restock Notifier
youtube
Proyek ini dilatar belakangi oleh kesadaran akan kelemahan manusia. Manusia dalam kehidupannya dan keterbatasannya sering kali lupa untuk melakukan pemenuhan kebutuhannya dalam bentuk berbagai bahan makanan yang biasanya disimpan di dalam lemari atau toples. Manusia baru menyadari akan kebutuhan bahan-bahan tersebut ketika bahan tersebut telah habis. Manusia juga memiliki keterbatasan sehingga tidak memiliki kemampuan untuk senantiasa melihat jumlah bahan yang tersedia itu.
Sektor industri telah mendatangkan sebuah solusi yang dapat dipandang sebagai salah satu langkah menuju masa depan. Produsen elektronik ternama Korea Selatan, Samsung, telah merilis sebuah kulkas yang mampu memantau keadaan isinya, melihat jumlahnya, kondisi kelayakan konsumsi, bahkan dilengkapi dengan pemutar YouTube. Mengingat harganya yang mencapai USD 3000, sangat sulit untuk merekomendasikan produk ini bagi masyarakat luas. Fitur-fitur yang disediakan pada akhirnya akan menjadi gimmick, ada namun jarang digunakan.
Tumblr media
Sumber dan informasi lebih lanjut: http://www.bestbuy.com/site/promo/samsung-family-hub-refrigerators-151710
Solusi lain yang lebih ramah di kantong dipertimbangkan untuk mendeteksi jumlah ketersediaan bahan makanan (atau minuman). Alternatif yang dipertimbangkan adalah penggunaan push button yang mampu mendeteksi barang yang dapat dihitung per satuan (seperti kotak susu UHT) dan penggunaan sensor ultrasonik untuk mendeteksi jumlah produk tersisa yang tidak dapat dihitung per satuan (seperti beras). Penggunaan push button dipertimbangkan untuk tidak digunakan untuk keseluruhan sistem karena keterbatasan untuk melakukan perangkaian pada modul mikroprosesor Arduino, sehingga digunakan solusi perpaduan kedua alternatif tersebut. Sensor ultrasonik digunakan untuk mendeteksi jumlah barang non satuan, sedangkan push button digunakan untuk menghitung produk satuan namun hanya untuk satu jenis barang.
Sistem yang dibangun ini diberi nama Smart Restock Notifier, yaitu sebuah sistem yang merupakan perwujudan dari konsep internet of things yang mampu mendeteksi jumlah produk dalam rumah yang tersedia, baik berupa beras, gula, maupun susu UHT dan mengirimkan informasi tersebut kepada pengguna melalui jaringan internet pada komputer pengguna. Sistem akan berfungsi di bawah platform Arduino Uno yang memanfaatkan USB Serial dan Blynk untuk transmisi data. Komponen deteksi produk menggunakan sensor ultrasonik HCSR-04 dan beberapa push button. Ilustrasi perangkat keras yang digunakan dalam sistem ini digambarkan dalam block diagram berikut ini.
Tumblr media
Smart Restock Notifier ini memiliki fungsi untuk memberikan informasi mengenai ketersediaan produk di rumah pengguna. Berikut ini adalah diagram alur yang menggambarkan fungsi Smart Restock Notifier
Tumblr media
Sebuah halaman web dirancang untuk memberikan informasi mengenai ketersediaan dari masing-masing produk. Hasil yang ditampilkan dalam halaman web ini merupakan pengolahan dari hasil bacaan sensor ultrasonik dan state pada masing-masing push button . Halaman web sebagai interaksi antara sistem dan pengguna tertampil di bawah ini.
Tumblr media Tumblr media Tumblr media Tumblr media
Sensor ultrasonik dipasangkan pada masing-masing toples yang akan memuat produk non satuan, seperti beras dan tepung terigu. Sensor kemudian akan membaca kedalaman toples dan menentukan besaran produk yang tersedia di dalam setiap toples. Push button juga akan dipasangkan pada rak yang berfungsi untuk menyimpan barang satuan. Berikut ini merupakan purwarupa dari perangkat keras Smart Restock Notifier.
Tumblr media Tumblr media
Bahasa pemrograman yang digunakan untuk sistem ini adalah bahasa C. Dalam program yang dibuat, terdapat proses pembacaan dan penghitungan hasil bacaan sensor dan push button untuk menentukan jumlah produk yang tersedia. Berikut ini adalah kode program utama sistem.
#define BLYNK_PRINT DebugSerial// Pin Sensor Ultrasonik #define trigPin1 13 #define echoPin1 12#define trigPin2 9 #define echoPin2 8// Variabel Sensor Ultra float volumeBeras; float volumeGula;// Pin PushButton const int buttonPin1 = 7; const int buttonPin2 = 6; const int buttonPin3 = 5;// Variabel PushButton int isOnButt1 = 0; int isOnButt2 = 0; int isOnButt3 = 0; int push1, push2, push3; int buttCount;// You could use a spare Hardware Serial on boards that have it (like Mega) #include <SoftwareSerial.h> SoftwareSerial DebugSerial(2, 3); // RX, TX#include <BlynkSimpleStream.h>char auth[] = "d6b4e5319c504919b452d5303dcdfaf8";void setup() {  // Debug console  DebugSerial.begin(9600);  // Blynk will work through Serial  // Do not read or write this serial manually in your sketch  Serial.begin(9600);  Blynk.begin(Serial, auth);  // Initialize Ultrasonik Sensor  pinMode(trigPin1, OUTPUT);  pinMode(echoPin1, INPUT);  pinMode(trigPin2, OUTPUT);  pinMode(echoPin2, INPUT);  volumeBeras = 0;  volumeGula = 0;  // Initialize PushButton  pinMode(buttonPin1, INPUT);  pinMode(buttonPin2, INPUT);  pinMode(buttonPin3, INPUT);  push1 = 0;  push2 = 0;  push3 = 0;  buttCount = 0; }void loop() {  Blynk.run();  // ---------------------------------------  //   Push Button  // ---------------------------------------  isOnButt1 = digitalRead(buttonPin1);  isOnButt2 = digitalRead(buttonPin2);  isOnButt3 = digitalRead(buttonPin3);  if (isOnButt1 == HIGH)  { push1 = 1; } else { push1 = 0; }  if (isOnButt2 == HIGH)  { push2 = 1; } else { push2 = 0; }  if (isOnButt3 == HIGH)  { push3 = 1; } else { push3 = 0; }  buttCount = push1 + push2 + push3;  // ---------------------------------------  //   Ultrasonik  // ---------------------------------------  long duration1, duration2;  long distance1, distance2;  digitalWrite(trigPin1, LOW);    digitalWrite(trigPin2, LOW);    digitalWrite(trigPin1, HIGH);  digitalWrite(trigPin2, HIGH);  delayMicroseconds(10);   digitalWrite(trigPin1, LOW);  duration1 = pulseIn(echoPin1, HIGH);  distance1 = (duration1 /2) / 29.1;  volumeBeras = (0.1 * (20 - distance1));  delayMicroseconds(50);  digitalWrite(trigPin2, LOW);  duration2 = pulseIn(echoPin2, HIGH);  distance2 = (duration2 /2) / 29.1;  volumeGula = (0.1 * (18 - distance2));   delayMicroseconds(50);    Blynk.virtualWrite(V0, buttCount, volumeBeras, volumeGula);    delay(10000); }
Program lain digunakan untuk melakukan koneksi antara Blynk dengan basis data yang tersimpan secara online. Berikut ini adalah kode program tersebut.
<?php // id1489591_theo, ((password)), id1489591_srn include("dbconf.php"); if(getenv('REQUEST_METHOD') == 'POST') { $data = json_decode(file_get_contents("php://input"), true); print_r($data); $dataSusu = $data["susu"]; $dataBeras = $data["beras"]; $dataGula = $data["gula"]; $sql = "INSERT INTO Stok (susu, beras, gula) VALUES ('$dataSusu', '$dataBeras', '$dataGula')"; if ($conn->query($sql) === TRUE) { echo "Success"; } else { echo "Failed: " . $sql . "<br>" . $conn->error; } }   $conn->close(); ?>
Beberapa pengujian dilakukan untuk memastikan bahwa sistem Smart Restock Notifier berfungsi sebagaimana mestinya dan untuk mengukur performa sistem. Pengujian dilakukan dengan metode black box, yakni membandingkan keluaran sistem dengan masukan sistem (pembacaan sensor dan push button). Berikut ini adalah langkah pengujian secara lengkap.
1. Pengujian Komponen
Tumblr media
2. Pengujian Integrasi
Tumblr media
Melalui hasil pengujian dapat disimpulkan bahwa Smart Restock Notifier yang dibuat telah berjalan sebagaimana mestinya. Namun demikian, terdapat beberapa pengembangan dan perbaikan yang dapat dilakukan sebagai evaluasi hasil pengujian, yakni sebagai berikut.
Penambahan fitur akun pengguna
Penambahan timestamp pada kolom History pada antarmuka pengguna sehingga terlihat waktu pencatatan
Penggunaan push button yang lebih lunak dan sensitif untuk mendeteksi barang satuan
Perbaikan penghitungan jarak dan volume toples sehingga hasil pengukuran semakin akurat.
Demikian yang dapat kami laporkan mengenai proyek Smart Restock Notifier. Besar harapan kami bahwa proyek ini mampu membangkitkan semangat perkembangan IoT di Indonesia.
Salam,
Leo, Theo, dan Niko
0 notes
nikoduino · 8 years ago
Text
Update: Smart Restock Notifier
Pembaruan terkini: 22 April 2017, 22:22
Dalam tulisan sebelumnya saya telah membocorkan mengenai proyek yang akan saya dan tim buat, yakni Smart Restock Notifier. Alat ini akan mampu memberikan pemberitahuan kepada pengguna apabila stok produk makanan atau minuman yang dimilikinya menuju habis melalui aplikasi telepon seluler.
So far, kami telah merangkai beberapa sensor ultrasonik untuk melakukan pembacaan jarak. Sensor yang digunakan sejumlah dua buah, namun sensor ini belum diimplementasikan langsung pada toples-toples yang akan berisi bahan makanan sehingga akan diperlukan tahap kalibrasi.
Hal tersulit yang kami rasakan dalam pembangunan Smart Restock Notifier adalah melakukan koneksi modul Wi-Fi dengan aplikasi Blynk. Terdapat dua komponen yang perlu dikonfigurasi dengan lebih rajin, yaitu modul Wi-Fi dan aplikasi Blynk itu sendiri. Konsultasi akhirnya dilakukan bersama dengan kelompok penyusun sistem Smart NoDed, yaitu Theo Tanadi yang dengan gamblang menunjukkan adanya kabel yang tertukar.
Tumblr media
Catatan: TIDAK terdapat afiliasi antara kami dengan PT Siantar Top (French Fries 2000) dan PT Sinar Kencana Agung (Happy Tos)
Lima belas menit bersama sang ahli, dan kami memiliki koneksi Wi-Fi modul ESP8266 dan Blynk!
Tumblr media
Pekerjaan yang perlu dilakukan adalah membuat model toples penyimpanan bahan makanan (duplex telah dibeli), kalibrasi sensor, dan menyusun aplikasi.
Begitulah update yang dapat disampaikan. Tunggu kehadiran Smart Restock Notifier ya!
1 note · View note
nikoduino · 8 years ago
Text
Stok Makanan x IoT x Arduino
Sedang ramainya orang membicarakan tiga huruf di atas, mengenai bagaimana setiap alat dapat berkomunikasi dan berbagi informasi yang bertujuan untuk memudahkan hidup manusia.
Salah satu kebutuhan pokok manusia adalah pangan. Tiga kali sehari manusia menyantap makanan untuk memenuhi kebutuhan energi dan gizi harian menggunakan bahan-bahan yang diolah dari lemari dan kulkas masing-masing. Akan tetapi, manusia memiliki kehidupan yang sibuk, saking sibuknya sehingga kadang kala manusia lupa untuk melihat kulkas atau lemarinya dan melihat stok bahan makanan yang dimilikinya. Ketika manusia hendak mengambil susu, misalnya, barulah dirinya tersadar bahwa susu yang biasa dinikmatinya… habis.
Inilah masalah yang sedang dihadapi. Lemari dan kulkas yang saat ini beredar tidak cukup pintar untuk mampu memberitahu kita bahwa makanan atau minuman yang tersedia masih mencukupi atau sudah akan habis. Manusia yang sibuk pun juga akan kesulitan untuk berbelanja karena sistem belanja yang dilakukan masih konvensional. Andai saja ada suatu alat yang mampu memberitahu kita saat persediaan makanan dan minuman kita sedang menipis. Andai saja alat itu bisa terhubung dengan komputer untuk memberikan pemberitahuan bahwa makanan yang kita sukai sudah habis sehingga kita dapat membelinya dalam perjalanan pulang kantor (atau membelinya melalui situs belanja online)…
SMART RESTOCK NOTIFIER
adalah ide brilian buah pemikiran Leo Harisma, Theo Adhitya, dan satu pemikir brilian lainnya yang bertujuan untuk menjawab masalah tersebut. Dilengkapi dengan lampu LED penanda stok makanan, manusia dapat melihat stok makanan secara fisik dalam sekali lirik. Tetapi yang membuatnya canggih adalah kemampuannya untuk mengirimkan informasi pada komputer penggunanya untuk memberitahukan daftar barang belanjanya, wow!
Inilah konsep proyek Arduino IoT yang berhasil kami rumuskan. Bagaimana pendapat kalian? Cheers!
0 notes
nikoduino · 8 years ago
Text
Hitung-Hitung Pakai Arduino
Hai! Kali ini kami akan mengabarkan mengenai proyek kami, yakni kalkulator menggunakan Arduino. Karena akan panjang, mari kita langsung mulai tanpa basa-basi.
Alat dan bahan yang kamu butuhkan adalah:
Tumblr media
Arduino dan kabel USBnya
Kabel jumper. Banyak.
Sebuah LCD 16x2
Potensiometer 1k Ohm
Keypad 4x4
Pada percobaan pertama, kami mencoba menghubungkan Arduino seperti pada gambar berikut menggunakan kode yang berasal dari http://www.microcontroller-project.com/calculator-using-arduino.html. Semuanya berjalan baik sampai kode program dijalankan.
Tumblr media
Jika kamu mengikuti tautan di atas dengan keypad yang kami gunakan, maka kamu perlu penutup keypad seperti di atas. Sebenarnya tidak ada gangguan fungsionalitas, namun rasanya ‘gimana gitu’.
Setelah dilakukan penjelajahan lebih lanjut, kami mempelajari kemungkinan lain yang ditawarkan oleh blog Arduino Fania, yang bisa juga kamu temukan di http://arduinofania.tumblr.com/post/80681582379/5th-project-calculator. Kodenya bisa kamu lihat di bawah ini.
#include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); const int inPin = 0;const int numRows = 4; const int numCols = 4; const int debounceTime = 15;const char keymap[numRows][numCols] = {  {'1','2','3','A'},  {'4','5','6','B'},  {'7','8','9','C'},  {'*','0','#','D'} };const int rowPins[numRows] = { 0, 1, 6, 7 }; // Rows 0 through 3 const int colPins[numCols] = { 8, 9, 10, 13 };void setup() {  lcd.begin(16,2); for (int row = 0; row < numRows; row++) { pinMode(rowPins[row],INPUT); // Set row pins as input digitalWrite(rowPins[row],HIGH); // turn on Pull-ups } for (int column = 0; column < numCols; column++) { pinMode(colPins[column],OUTPUT); // Set column pins as outputs // for writing digitalWrite(colPins[column],HIGH); // Make all columns inactive } lcd.setCursor(1,0); lcd.print("A+ B- Cx D:"); }void loop() {  char key1=0;  key1 = getKey();  if( key1 != 0) { // if the character is not 0 then  //it’s a valid key press  if (key1 == '*'){    lcd.clear();    lcd.setCursor(1,0);    lcd.print("A+ B- Cx D:");  }  else{ char key2 = 0; char key3 = 0; lcd.setCursor(0,1); int a = key1 - '0'; lcd.print(a); while (key3 == 0){ key3 = getKey(); if (key3 != 0 ){ char op = convert(key3); lcd.print(op); } } while (key2 == 0){ key2 = getKey(); if (key2 != 0 ){ int b = key2 - '0'; lcd.print(b); double c = calculate(key3,a,b); lcd.print('='); delay(1000); lcd.print(c); } } } }}int calculate (char key3, int a, int b) { if (key3=='A'){ return(a+b); } else if (key3=='B'){ return(a-b); } else if (key3=='C'){ return(a*b); } if (key3=='D'){ return(a/b); } }char convert (char key3) { if (key3=='A'){ return('+'); } else if (key3=='B'){ return('-'); } else if (key3=='C'){ return('x'); } if (key3=='D'){ return(':'); } }char getKey() { char key = 0; // 0 indicates no key pressed for(int column = 0; column < numCols; column++) { digitalWrite(colPins[column],LOW); // Activate the current column. for(int row = 0; row < numRows; row++) // Scan all rows for // a key press. { if(digitalRead(rowPins[row]) == LOW) // Is a key pressed? { delay(debounceTime); // debounce while(digitalRead(rowPins[row]) == LOW); // wait for key to be released key = keymap[row][column]; // Remember which key // was pressed} } digitalWrite(colPins[column],HIGH); // De-activate the current column. } return key; // returns the key pressed or 0 if none }  
Bagaimana rangkaiannya? Rasa penasaran kamu akan terjawab di bawah ini.
Tumblr media
Dan hasilnya bisa kamu lihat di video ini
youtube
Voila! Selamat mencoba juga!
0 notes
nikoduino · 8 years ago
Text
Sekarang Ada Sensornya
Hello, viewers! Sekarang saatnya untuk menambahkan hal-hal baru pada Arduino kita. Kali ini, kita akan mulai dengan menambahkan sebuah sensor yakni sensor suhu LM35. Sensor suhu akan memberikan nilai temperatur lingkungan yang akan ditampilkan pada serial monitor. Mari kita intip.
Hal-hal yang kamu butuhkan adalah:
Arduino Uno dan kabel USB
Breadboard
Sensor suhu LM35
Beberapa kabel jumper
Program yang digunakan dalam percobaan kali ini dapat dilihat di bawah ini:
float suhuC;                      //Deklarasi variabel int suhuPin = 0;void setup() { Serial.begin(9600);               //Membuka port serial dengan data rate 9600 bps }void loop() { suhuC = analogRead(suhuPin);      //Membaca nilai sensor LM35 suhuC = (suhuC / 1024.0)* 5000;   //Konversi data analog menjadi milivolt suhuC = suhuC/10;                 //Konversi kedalam derajat celsius dengan persamaan 1 derajat/10mv Serial.println((byte)suhuC);      //Mengirimkan data ke serial komputer delay(1000);                      //Waktu tunggu 1 detik }
Atau bisa juga kamu lihat di tautan ini: http://roboticbasics.blogspot.co.id/2016/06/sensor-suhu-lm35-lengkap-dengan-program-arduino.html
Tumblr media
Rangkai sensor dan Arduino seperti pada gambar di atas. Kaki kiri LM35 dihubungkan dengan sumber 5V yang diberi resistor. Kaki tengahnya dhubungkan dengan port A0, dan kaki kanannya dihubungkan dengan GND, Ketika kamu unggah kode program yang sudah diberikan, maka ketika kamu membuka serial monitor, suhu ruangan akan ditampilkan dengan interval 1 detik. Berikut videonya.
youtube
Perhatikan bahwa ketika sensor suhu didekatkan dengan gelas berisi air panas, angka pembacaan suhu yang ditampilkan pada serial monitor akan meningkat.
Namun, bagaimana jika kita tidak harus menggunakan serial monitor? Fear not, berikut ini akan ditampilkan tampilan suhu menggunakan LED 7-segment.
Alat tambahan yang kamu perlukan adalah:
2 buah LED 7-segment
Banyak sekali kabel jumper
Agar tidak memerlukan banyak kabel, kamu bisa menghubungkan kedua LED 7-segment secara paralel. Skema penghubungannya dapat kamu lihat di: http://alex9ufoexploer.blogspot.co.id/2013_06_01_archive.html
Diperlukan tiga buah file, dan ini adalah penjelasannya.
file .h berisi pembuatan class, fungsi, dan variabel-variabel.
file .cpp berisi pendefinisian fungsi, pengaturan LED 7-segment, dan pemrosesan nyala LED.
file .ino berisi pembacaan nilai analog, pemanggilan fungsi, dan pengkonversian nilainya.
Tidak tahu cara membuatnya? Sama. Oleh sebab itu, kamu juga perlu belajar dari tautan ini: http://www.instructables.com/id/Arduino-Digital-7-Segment-Thermometer/?ALLSTEPS
File .ino yang kami edit bisa kamu lihat di bawah ini.
#include “SevSeg.h”SevSeg sevseg;int refreshTime = 2000;unsigned long timer; float celsius = 0;void setup() { sevseg.Begin(1,2,3,4,5,6,7,8,9,10,11,12,13); }void loop() { sevseg.PrintOutput();celsius = analogRead(0); celsius = (celsius / 1024.0) * 5000; celsius = celsius/10; Serial.println((byte)celsius);unsigned long mils=millis(); if (mils-timer>=refreshTime) { timer=mils; //Print teperature to the displays sevseg.NewNum(celsius,(byte) 2); } }
Hasilnya, kamu bisa intip suhu kamar Theo seperti di foto ini
Tumblr media Tumblr media
Yak, panjang ya. Begitulah kawan-kawan mengenai proyek minggu ini. Stay tuned untuk proyek-proyek selanjutnya ya, cheers!
Intip blog Theo di: https://arduintho.wordpress.com/
0 notes
nikoduino · 8 years ago
Text
Bermain dengan LED 7-Segment
Halo lagi semuanya! Jika kamu melihat di post sebelumnya kita bermain dengan sebuah LED, maka kali ini kita akan bermain dengan 7 buah LED. Yep, LED 7-Segment namanya.
Tumblr media
Dalam proyek ini, kita akan membutuhkan bahan-bahan berikut
Arduino Uno dan kabel USB
Breadboard
Push button
LED 7-Segment
Beberapa kabel jumper
Sebelum kita mulai, let’s take an initial look pada rangkaian yang akan kita susun.
Tumblr media
The goal of this project adalah untuk membuat nyala dari LED 7-Segment ketika push button ditekan dari 1 hingga 9. Untuk itu, kamu memerlukan kode program berikut ini:
//Pengaturan hardware Seven Segment pin int A = 2; int B = 3; int C = 4; int D = 6; int DP = 5; int E = 7; int F = 8; int G = 9;//pemberian status untuk push buttons pins, push buttons states, dan counter int switchUpPin = 13; int counter = 0; int buttonUpState = 0; int lastButtonUpState = 0;void setup() {  Serial.begin(9600);  pinMode(A, OUTPUT);  pinMode(B, OUTPUT);  pinMode(C, OUTPUT);  pinMode(D, OUTPUT);  pinMode(E, OUTPUT);  pinMode(F, OUTPUT);  pinMode(G, OUTPUT);  pinMode(DP, OUTPUT);  digitalWrite(DP ,HIGH); }void loop() {  //mulai dengan menggunakan push button  buttonUpState = digitalRead(switchUpPin);  //Membaca push button status yang di tekan  //melakukan proses untuk button yang di tekan  if (buttonUpState != lastButtonUpState)  {    if (buttonUpState == HIGH)    {      if(counter == 10)      {        counter = -1;      }      counter++;      Serial.println(counter);      changeNumber(counter);      delay(300);    }    else    {        Serial.println("OFF");    }   delay(50);  }  changeNumber(counter); }//tampilan led seven segment ketika aktif. void changeNumber(int buttonPress) {  switch (buttonPress)  {    case 0:      digitalWrite(A, HIGH);      digitalWrite(B, HIGH);      digitalWrite(C, HIGH);      digitalWrite(D, HIGH);      digitalWrite(E, HIGH);      digitalWrite(F, HIGH);      digitalWrite(G, HIGH);      break;    //number 0    case 1:      digitalWrite(A, LOW);      digitalWrite(B, LOW);      digitalWrite(C, LOW);      digitalWrite(D, LOW);      digitalWrite(E, LOW);      digitalWrite(F, LOW);      digitalWrite(G, HIGH);      break;    //number 1    case 2:      digitalWrite(A, HIGH);      digitalWrite(B, LOW);      digitalWrite(C, LOW);      digitalWrite(D, HIGH);      digitalWrite(E, HIGH);      digitalWrite(F, HIGH);      digitalWrite(G, HIGH);      break;    //number 2    case 3:      digitalWrite(A, LOW);      digitalWrite(B, LOW);      digitalWrite(C, HIGH);      digitalWrite(D, LOW);      digitalWrite(E, LOW);      digitalWrite(F, HIGH);      digitalWrite(G, LOW);      break;    //number 3    case 4:      digitalWrite(A, LOW);      digitalWrite(B, LOW);      digitalWrite(C, LOW);      digitalWrite(D, LOW);      digitalWrite(E, HIGH);      digitalWrite(F, HIGH);      digitalWrite(G, LOW);      break;    //number 4    case 5:      digitalWrite(A, HIGH);      digitalWrite(B, LOW);      digitalWrite(C, LOW);      digitalWrite(D, HIGH);      digitalWrite(E, HIGH);      digitalWrite(F, LOW);      digitalWrite(G, LOW);      break;    //number 5    case 6:      digitalWrite(A, LOW);      digitalWrite(B, HIGH);      digitalWrite(C, LOW);      digitalWrite(D, LOW);      digitalWrite(E, HIGH);      digitalWrite(F, LOW);      digitalWrite(G, LOW);      break;    //number 6    case 7:      digitalWrite(A, LOW);      digitalWrite(B, HIGH);      digitalWrite(C, LOW);      digitalWrite(D, LOW);      digitalWrite(E, LOW);      digitalWrite(F, LOW);      digitalWrite(G, LOW);      break;    //number 7    case 8:      digitalWrite(A, LOW);      digitalWrite(B, LOW);      digitalWrite(C, LOW);      digitalWrite(D, HIGH);      digitalWrite(E, HIGH);      digitalWrite(F, HIGH);      digitalWrite(G, HIGH);      break;    //number 8    case 9:      digitalWrite(A, LOW);      digitalWrite(B, LOW);      digitalWrite(C, LOW);      digitalWrite(D, LOW);      digitalWrite(E, LOW);      digitalWrite(F, LOW);      digitalWrite(G, LOW);      break;    //number 9    case 10:      digitalWrite(A, LOW);      digitalWrite(B, LOW);      digitalWrite(C, LOW);      digitalWrite(D, LOW);      digitalWrite(E, HIGH);      digitalWrite(F, LOW);      digitalWrite(G, LOW);      break;  } }
Kode program ini juga dapat kamu lihat di http://www.warriornux.com/seven-segment-counter-up-use-push-button-with-arduino-uno/
Jika berhasil, maka akan terjadi keajaiban seperti ini:
youtube
And there you go! Terima kasih telah membaca post ini terkait push button dan LED 7-Segment! Silakan mencoba juga :D
0 notes
nikoduino · 8 years ago
Text
Dipencet Nyala
Hai!
Jika kamu membaca tulisan ini, selamat datang di blog nikoduino! Berkisah tentang seorang anak kuliahan yang mencoba mengakrabkan diri dengan Arduino. Well, here goes.
Tumblr media
Setelah melihat foto di atas, kamu bisa melihat akan adanya sebuah push button dan sebuah LED dan mungkin berpikir, “This is very simple.” Selamat, kamu nggak salah. Percobaan pertama yang kamu lihat di atas merupakan implementasi switch yang disusun oleh Leo, Theo, dan satu orang lagi (siapa kira-kira). Jika kamu mau mencobanya, ini adalah hal-hal yang kamu perlukan untuk membuat implementasi switch:
Arduino (di atas adalah versi Uno) dan kabel USB
LED (1 buah)
Breadboard (1 buah)
Push button (1 buah)
Resistor (2 buah)
Kabel jumper (Secukupnya)
Pertama, susun rangkaian seperti pada foto di atas. Kemudian, agar Arduino kita memahami apa yang kita inginkan, kita harus memasukkan kode program di bawah ini ke dalamnya.
int inPin = 2;         // the number of the input pin int outPin = 13;       // the number of the output pin int state = HIGH;      // the current state of the output pin int reading;           // the current reading from the input pin int previous = LOW;    // the previous reading from the input pin // the follow variables are long's because the time, measured in miliseconds, // will quickly become a bigger number than can be stored in an int. long time = 0;         // the last time the output pin was toggled long debounce = 200;   // the debounce time, increase if the output flickers void setup() {  pinMode(inPin, INPUT);  pinMode(outPin, OUTPUT); } void loop() {  reading = digitalRead(inPin);  // if the input just went from LOW and HIGH and we've waited long enough  // to ignore any noise on the circuit, toggle the output pin and remember  // the time  if (reading == HIGH && previous == LOW && millis() - time > debounce) {    if (state == HIGH)      state = LOW;    else      state = HIGH;    time = millis();      }  digitalWrite(outPin, state);  previous = reading; }
Dapat juga kamu lihat di tautan: https://www.arduino.cc/en/Tutorial/Switch
Setelah program itu ter-compile, upload program tersebut ke dalam Arduino. Keajaiban pun akan terjadi.
Pada mulanya, LED akan menyala. Tetapi, ketika kamu menekan push button...
Tumblr media
LED akan mati dan menandakan bahwa kamu berada di jalan yang benar. Ketika kamu tekan lagi push button...
Tumblr media
LED akan menyala! Silakan ditekan-tekan terus sampai kamu merasa senang.
Here it is in action:
youtube
There you go, folks! Selamat mencoba!
0 notes
nikoduino · 8 years ago
Text
Hello,world!
Hello,world!
0 notes