Proyek ini merupakan tugas akhir dari mata kuliah Interaksi Manusia
Komputer dan Antarmuka.
Proyek yang kami buat adalah High Speed Photography !! YEAAY rasanya
seneng banget bisa gabungin hobi fotografi dengan Arduino.
Apa itu High Speed Photography (HSP)?
High Speed Photography (HSP) adalah sebuah teknik dalam fotografi untuk
menangkap moment yang terjadi sangat cepat. Contohnya ledakan nuklir,
reaksi kimia, metalurgi, dsb sehingga pada awalnya teknik ini dipakai untuk
penelitian ilmiah. Seiring perkembangan zaman, melihat hasil dari HSP ini
ternyata indah, mulailah teknik HSP dipandang dari sisi seni fotografi
Apakah High Speed Photography (HSP) bisa tidak memakai Arduino? Kenapa
sih harus pakai Arduino?
Tentu bisa, namun dibutuhkan effort lebih, trial error lebih untuk
mendapatkan satu moment yang diinginkan, selain itu biasanya HSP
membutuhkan minimal 3 orang yang berperan sebagai pembuat momen
(memecahkan balon, menembak pistol,dsb ), menyalakan flash, dan satu
orang lagi menekan tombol shutter kamera. Tapi, dengan menggunakan
Arduino, anda dapat melakukannya sendirian ! *horeee*
Mari kita bahas spesifikasi yang dibutuhkan dalam proyek HSP ini..
Komponen input yang dibutuhkan: Piezo Buzzer (sensor suara),
resistor (1M Ohm, 220M Ohm)
Komponen proses yang dibutuhkan: Breadboard, kabel jumper,
Arduino UNO, 4N35
Komponen output yang dibutuhkan: StrobeBulb Flash
Interaksi yang dibutuhkan : suara yang kencang berasal dari moment
yang hendak difoto (pada proyek ini: letusan balon, dentuman koin
yang dijatuhkan)
Nah bagaimana sistem ini akan bekerja? Flowchart dari softwarenya adalah
seperti yang ditampilkan dibawah ini:
Setelah persiapan Arduino dan sistemnya selesai, ada satu hal yang harus
kita setup lagi, yaitu dari sisi fotografi adalah kamera dan komposisi.
Jangan khawatir dulu, setingan kameranya mudah saja yaitu mode Manual
(M), shutter speed 4s atau lebih lambat, bukaan f1/8.0 atau lebih kecil, ISO
1600 atau menyesuaikan, dan Manual Focus. Jangan lupa, keadaan ruangan
pun harus sangat gelap supaya tidak menghasilkan cahaya/bayangan
tambahan yang tidak diinginkan.
Bagaimana mengatur komposisinya? Banyak cara untuk mengatur elemenelemen dalam sebuah frame, dalam proyek ini kita memposisikan objek di
1/3 frame atau tepat di tengahframe. Mengisi balon dengan bedak dan
glitter supaya ketika pecah menimbulkan efek dramatis, hehe..
Peletakkan SB Flash juga berpengaruh pada bayangan yang dihasilkan, pada
proyek ini kami memilih meletakkan SB Flash di sebelah kiri dan memakai
background kertas linen hitam supaya tidak terdapat bayangan dari objek.
Setting pada TKP bisa dilihat seperti gambar di bawah ini:
kemudian
dilakukan
Hasil
berikut
implementasi
proyek
ini
adalah
sebagai
char key1=0;
key1 = getKey();
if( key1 != 0) { // if the character is not 0 then
//its 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; } } } }
// returns with the key pressed, or 0 if no key is pressed
/*void add(char key1, char key2)
{
int k1 = key1 - '0;
int k2 = key2 - '0;
int jml = k1 + k2;
lcd.setCursor(0,1);
lcd.print(=);
lcd.print(jml);
}*/
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
{
if
return(+);
}
if
return(-);
}
if
return('x);
}
if
return(:); } }
convert
(char
key3)
(key3=='A){
else
(key3=='B){
else
(key3=='C){
(key3==D){
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
}
1 year ago
Keterangan code:
#include <LiquidCrystal.h>
/* jika menggunakan output LCD maka kita harus menuliskannya sebagai
library dari LCD */
const int numRows = 2;
const int numCols = 16;
const int inPin = 0; // analog pin
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
/*merupakan inisiasi pin yang digunakan oleh LCD*/
void setup() {
Serial.begin(9600); //setup pada serial monitor
lcd.begin(numCols, numRows); // Print a message to the LCD
}
/*prosedur setup LCD untuk melakukan print ke LDC*/
void
loop()
{
//prosedur
loop
lcd.setCursor(0,1);
int value = analogRead(inPin); //pembacaan input dari pin analog berupa
value
Serial.print(value); Serial.print( > ); //print hasil value kemudian print tanda
>
pada
serial
monitor
float millivolts = (value / 1024.0) * 5000; //perhitungan milivolts
float celsius = millivolts / 10; // perhitungan celcius, sensor output is 10mV
per degree Celsius
Serial.print(celsius); // print hasil perhitungan celcius pada serial monitor
Serial.print( degrees Celsius, ); // print tulisan degrees Celcius pada serial
monitor
lcd.print(celsius); // print hasil perhitungan celcius pada serial monitor
lcd.print(Celcius); // print tulisan Celcius pada serial monitor
Serial.print( (celsius * 9)/ 5 + 32 ); // converts to fahrenheit Serial.println(
degrees
Fahrenheit);
delay(1000);
//
wait
for
one
second
}
Skematik Diagram dari proyek ini adalah sebagai berikut:
sample
pengukuran
LED
push button
resistor
Code yang digunakan pada percobaan ini adalah:
1st Project
Pada tugas pertama mata kuliah II3231 ini kami diminta untuk membuat
proyek menyalakan atau mematikan LED dengan menggunakan satu buah
push button. Keadaan ini sering dikenal dengan nama toggle switch.
Pengertian toggle switch adalah saklar yang akan berubah status pada tiap
pemberian perintah penekanan tombol yang sama.
Berikut merupakan alat dan bahan yang dibutuhkan dalam proyek ini:
1. Arduino Uno
2. Kabel USB
3. Kabel jumper
4. LED
5. Resistor
6. Breadboard
7. Push button
Dari alat dan bahan di atas yang termasuk ke dalam komponenInput : Push
button. Proses : Arduino Uno, Resistor, kabel jumper. Output : LED.
(sumber : http://www.arduino.cc/en/Tutorial/Switch)
Proyek ini memiliki diagram skematik sebagai berikut:
Keterangan:
Kabel coklat menghubungkan komponen dengan Ground.
2. Tombol push button di tekan ketika lampu LED dalam keadaan OFF.
0 Google +0
224
CHIP.co.id - Dahulu, untuk memrogram sebuah PIC (programmable integrated circuit) dibutuhkan
pengetahuan elektronika dan bahasa pemrograman yang cukup tinggi. Namun, hal tersebut sedikit
berubah dengan kehadiran Arduino. Arduino sendiri merupakan salah satu solusi untuk memrogram mikrokontroler dengan menggunakan bahasa pemrograman C.
Dengan menggunakan bahasa pemrograman yang lebih simpel, Anda yang memiliki ketertarikan terhadap
pemrograman mikro-kontroler dapat memelajarinya dengan cepat. Satu hal yang menjadi nilai tambah
adalah banyaknya informasi, baik mengenai produk maupun contoh-contoh proyek yang menggunakan
Arduino, bertebaran di Internet.
Dalam kesempatan kali ini, CHIP mengajak pembaca untuk membuat sendiri sebuah thermometer yang
memiliki dua sensor suhu. Pembuatan thermometer ini relatif mudah jika Anda memiliki bahan-bahan yang
diperlukan, serta sedikit pengetahuan untuk menyolder. Untuk urusan program yang harus
digunakan, CHIP juga telah menyiapkannya, sehingga Anda cukup menyalinnya saja.
Thermometer ini nantinya dapat diaplikasikan sebagai salah satu pemanis casing PC, serta sebagai indikator suhu di dua
komponen pilihan Anda. Dalam contoh yang CHIP hadirkan untuk Anda, thermometer tidak diperuntukkan untuk penghias
casing PC karena desain yang cukup memakan tempat.
Contoh di atas bertujuan agar Anda mengerti cara kerja dari rangkaian tersebut. Oleh karena
itu,CHIP sangat menganjurkan Anda untuk memodifikasi desain perangkat ini agar sesuai dengan
kebutuhan Anda.
Beginilah Caranya
1. BAHAN-BAHAN
Hal pertama yang harus Anda lakukan adalah menyiapkan bahan-bahan, seperti Arduino Uno, PCB matriks, LCD 1602,
sebuah resistor 220 Ohm, dua buah LM35, sebuah trimpot 10K Ohm, dua buah male header 16 pin, dan kabel secukupnya.
Panjang kabel yang dibutuhkan tergantung dengan desain serta jarak sensor dan Arduino Anda. CHIP merekomendasikan
panjang kabel sensor tidak lebih dari 50 cm.
2. PERALATAN PENDUKUNG
Beberapa peralatan pendukung, seperti solder, dan timah, merupakan peralatan yang wajib. Selain
peralatan yang telah CHIP sebutkan sebelumnya, Anda juga dapat menambahkan sebuah mini grinder
yang sangat membantu untuk melubangi front panel casing yang terbuat dari plastik agar dapat
menempatkan LCD 1602.
3. PERAKITAN
Agar beberapa bahan tersebut dapat berfungsi sebagai thermometer, Anda perlu menghubungkan tiap-tiap
komponen tersebut sesuai panduan di gambar di atas. Proses pertama yang dapat dilakukan adalah
menyolder header 16pin ke LCD 1602 agar memudahkan Anda untuk menghubungkannya dengan kabel.
Selanjutnya, untuk mempermudah pemasangan kabel ke Arduino, Anda dapat menggunakan header 16
pin yang dibagi menjadi empat bagian. Penggunaan header dengan satuan 4 pin dimaksudkan agar
koneksi menjadi lebih kencang dan tidak mudah kendur. Penggunaan PCB matriks untuk proyek ini
tergantung dari kebutuhan Anda. PCB matriks tidak mutlak dibutuhkan jika Anda ingin menggunakan
thermometer ini untuk mengukur suhu salah satu komponen PC. Namun, jika Anda ingin menggunakan
thermometer untuk mengukur suhu benda-benda selain PC, maka penggunaan PCB wajib agar komponen
tidak berceceran dan membuat ringkas komponen agar tidak berceceran.
Ketika seluruh komponen telah terpasang, Anda wajib untuk mengecek kembali sambungan-sambungan. Hal ini
dimaksudkan agar tidak terjadi hal-hal yang tidak diinginkan yang dapat merusak komponen atau Arduino UNO yang Anda
gunakan. Jika Anda sudah merasa yakin dengan komponen yang disambung, proses selanjutnya adalah mengisi program
thermometer ke chip Atmega 328 yang digunakan di Arduino UNO.
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
const int inPin = 0;
const int potPin = 1;
byte degree[8] = {
0b01110,
0b01010,
0b01110,
0b00000,
0b00000,
0b00000,
0b00000,
0b00000
};
void setup()
{
lcd.createChar(1, degree);
lcd.begin(16, 2);
}
void loop()
{
int value = analogRead(inPin);
int hasil = analogRead(potPin);
lcd.setCursor(0, 1);
float millivolts = (value / 1024.0) * 5000;
float millivolt = (hasil / 1024.0) * 5000;
float celsius = millivolts / 10;
float celcius = millivolt / 10;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Suhu 1 ");
lcd.print(celcius);
lcd.write(1);
lcd.print("C");
lcd.setCursor(0,1);
lcd.print("Suhu 2 ");
lcd.print(celsius);
lcd.write(1);
lcd.print("C");
delay(500);
}
4. PENGUJIAN
Proses terakhir adalah menguji rangkaian beserta program yang telah dikerjakan sebelumnya. Dalam
pengujian kali ini, CHIP menggunakan sumber daya USB untuk menghidupkan rangkaian. Sebuah obat
nyamuk bakar dipilih sebagai objek untuk mengevaluasi kerja salah satu sensor LM35 yang digunakan.
Apabila layar LCD menampilkan tulisan yang tidak jelas, maka Anda cukup mengatur trimpot hingga tulisan
di layar terlihat jelas.