All posts by rinaldo

Temperature Sensor + Arduino

Posting ini dibuat cuma jadi catatan doang, karena kami ada tugas bikin kipas air + blower yang mati dan hidup sendiri dengan kondisi temperatur dan kelembapan. Tugas ini sendiri menentukan nilai ujian semester kami, jadi ya mau gak mau loh :hammers

Coding ini adalah untuk sensor suhu atau temperatur. Sensor yang dipakai adalah LM35.

Program diadaptasi dari blog ini. 

Rangkaian :

//#include 
 
//replace 0x3F with address you found at I2C scanner.
//LiquidCrystal_I2C lcd(0x3F, 16, 2);



int pin = 0; // analog pin
int tempc = 0,tempf=0; // temperature variables
int value = 0;
int maxi = -100,mini = 100; // to start max/min temperature
int i;

void setup()
{
 Serial.begin(9600); // start serial communication
 
 //16 is the width. 2 is the height.
 lcd.begin(16,2);
 lcd.init();
 
 // Turn on the backlight.
 lcd.backlight();
 
 // Move the cursor characters to the right and
 // zero characters down (line 1).
 lcd.setCursor(0, 0);
 
 // Print HELLO WORLD! to the screen, starting at 0,0.
 lcd.print("Temp Sensor");
 
 // Move the cursor to the next line and print
 // www.rinaldo.id.
 /*
 lcd.setCursor(0, 1); 
 lcd.print("www.rinaldo.id");
 */
 delay(1000);
}

void loop()
{
 //lcd.clear();
 
 value = ( 5.0 * analogRead(pin) * 100.0) / 1024.0;



tempc = value; // better precision
 tempf = (tempc * 9)/ 5 + 32; // converts to fahrenheit
 
 if(tempc > maxi) {maxi = tempc;} // set max temperature
 if(tempc < mini) {mini = tempc;} // set min temperature
 
 Serial.print(tempc,DEC);
 Serial.print(" Celsius, ");
 
 Serial.print(tempf,DEC);
 Serial.print(" fahrenheit ");
 Serial.print("\n");

/*
 lcd.setCursor(0,0);
 lcd.print(tempc);
 lcd.print(" o C");
 lcd.setCursor(0,1);
 lcd.print(tempf);
 lcd.print(" o F");
 */
 
 tempc = 0;

delay(1000); // delay before loop
 
}

Code ini memiliki comment yang bisa diadaptasi untuk penggunaan LCD, bukan serial report. Ya pintar pintarlah. Kamu ga bakal baca blog ini kalau gak pintar. :hammers

Demo :

Instagram Photo

Demo dikerjakan di Panties Pizza belakang Mal Pekanbaru. Makasih kak Ruth :*

Source

Download driver CH340G / CH341G

CH340G adalah USB to TTL yang digunakan dalam Arduino-clone board. Banyak sekali Arduino-arduino KW diluar sana yang tidak menggunakan ATmega16U2.

CH340G sendiri digunakan untuk membuat board berkomunikasi dengan microcontroller aslinya. ATmega16U2 juga tugasnya sama. Hanya saja, tugas ATmega16U2 ini bisa diubah dengan mengganti firmwarenya. ATmega16U2 bisa diprogram ulang supaya komputer mengenalinya jadi USB-HID (mouse, keyboard, dll), atau banyak lainnya.

Untungnya, kamu gak perlu driver ini kalau kamu pakai Linux. Harusnya. Tapi seandainya perlu, itu ada juga di bawah drivernya.

Download CH340G driver :

Driver ini digunakan di :

  • Arduino UNO clone with CH340G
  • Arduino MEGA clone with CH340G
  • Arduino Nano clone with CH340G
  • Wemos D1
  • Wemos D1 R2
  • Wemos D1 R3
  • Wemos D1 Mini
  • RobotDyn Arduino compatible MEGA2560+Wifi ESP8266
  • RobotDyn Arduino compatible Nano
  • RobotDyn Arduino Mega
  • RobotDyn Arduino Uno
  • … dan banyak lagi …

 

 

Note for BL / Tokopedia / Kaskus / [insert other online store here] : 
Kamu boleh ngelink ke halaman ini buat ngasih link download. Tapi PLEASE jangan ngelink langsung ke zip file diatas. Thanks.

Source

Tutorial cara menggunakan LCD 16×2 dengan I2C pada Arduino dan Wemos

Setelah sebelumnya kita membahas cara pasang driver dan alat alat tambahan untuk Wemos Uno di sini, kali ini kita akan bahas cara pasang LCD di Arduino dan Wemos.

Kelihatannya, libur lebaran ini bakal nulis tutorial semua.

Kamu perlu library LCD dari user marcoschwatz di GitHub.

Lalu kamu extract, copykan hasilnya ke :

C:\Program Files\Arduino\libraries

atau

C:\Program Files\Arduino\libraries

Hasilnya sebagai berikut.

Untuk mengkoneksikan I2C, bisa lihat gambar ini.


Arduino Mega

Wemos D1 Uno

Arduino Uno

Putih : SCL
Hitam : SDA
Merah : VCC
Abu-abu : GND

Untuk MEGA, SDA  dan SCL juga bisa dipakai di pin 20 dan 21.

Untuk Uno, SCL ada di A5 dan SDA ada di A4.

Untuk WeMos, bisa di SDA ada di D4 dan SCL ada di D5.

 

Tapi sebelum bisa ada tampilan diatas, kamu perlu cari dulu bus I2C kamu ada di mana. Punyaku ada di 0x3F, punyamu mungkin beda. Pakai program dibawah ini buat nyarinya.

Code from Arduino.cc

Setelah kamu upload, buka serial monitor.

lalu colokkan I2C kamu di port yang aku jelaskan diatas. Kalau benar, akan muncul seperti di gambar ini.

Catat kode 0x3F ini, lalu ubah di coding yang selanjutnya untuk mengaktifkan LCD.

Harusnya, apa yang muncul di LCD kamu sudah sama seperti gambarku diatas.

Sekian dulu tutorial hari ini.

Source

WeMos D1 R3 Wifi Arduino Uno Compatible – Instalasi Driver dan IDE

WeMos D1 adalah board IoT yang kompatibel dengan Arduino Uno … katanya. Aku beli ini dari Tokopedia seharga Rp 74.000 (kurang lebih US$ 6), dan kelihatannya cukup meyakinkan.


Kiri : Arduino Uno clone, Kanan : Wemos D1

Secara bentuk, hampir sama. Jumlah PIN nya juga sama. Bedanya cuma ini pakai USB micro, mirip sama kebanyakan android.

Tutorial ini akan membahas cara menyiapkan Wemos D1 di Arduino IDE, karena gak kayak Uno beneran, dia perlu setup tambahan.

Pertama, kamu download dulu Arduino IDE. Bisa download di web arduino langsung, atau mirror di web ini.

Setelah itu, instal driver CH340G. Websitenya bahasa china, jadi mungkin agak susah. Bisa download disana, atau lagi lagi aku ada mirror disini.

Saat diminta UAC, yes saja.

Pada halaman ini, klik install. 

Kalau sudah begini, berarti sudah selesai. Sekarang colokkan Wemos D1 nya, harusnya sudah bisa.

Sekarang buka Arduino IDE nya. Lalu klik File -> Preferences

Lalu masukkan link ini pada Additional Boards Manager URLs

http://arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json

Lalu klik OK. Setelah itu, masuk ke tools, Board, Boards manager.

Scroll ke paling bawah, baru pada esp8266, klik more info, lalu Install yang 2.3.0.

Setelah itu, klik Tools, Board, pilih Wemos D1 R2 & Mini.

Lalu setelah itu, pilih COM port yang mau digunakan. Biasanya karena komputer sekarang gak punya COM port, cuma ada satu disana, yaitu Wemos. Beda cerita kalau kamu colok banyak Arduino dan Wemos sekaligus.

Sekarang, coba upload code di Examples -> 01. Basics -> Blink. Lalu coba upload. Kalau berhasil, LED internal Wemos yang ada di dekat CPU nya bakal kedip kedip.

Saat uploading, memang agak lama. Sabar yah. Belajar sabar. Biasa jomblo lama aja bisa sabar, masa upload code lama aja ga bisa sabar? :hammers

Source

Cara mematikan Driver Signature Verification pada Windows 8 and 10

Versi 64 bit dari Windows 10 punya “Driver Signature Verification”. Artinya, mereka cuma mau masang driver yang ditandatangani oleh Microsoft. Untuk menginstal driver tidak resmi, atau driver lama, kamu harus matikan verifikasi ini.

Bahkan, dengan Windows 10’s Anniversary Update, pengamanannya semakin kuat. Tapi kamu bisa menghindarinya dengan mematikan secure boot terlebih dahulu.

Sebenarnya, Driver Signature Verification itu tujuannya baik.

Microsoft tidak bertujuan mempersulit hidupmu. Driver Signature Verification dipaksakan supaya hanya driver yang diijinkan oleh Microsoft yang jalan di komputermu. Jadi, gak ada virus atau malware yang bisa numpang jalan di kernel Windows.

Kamu bisa disable ini, tapi kamu harus hati hati pasang driver! Aku ataupun Microsoft gak bertanggung jawab kalau komputermu ngeheng, meledak, atau tiba tiba memancarkan termonuklir.

Cara pertama, bisa dengan lewat command prompt.

Windows punya “test mode” atau “test signing” untuk ngetes driver driver yang gak ditandatangani, sampai kamu mematikan test mode.

Untuk melakukannya, kamu bisa klik kanan di start, lalu buka Command Prompt (Admin)

Entah kenapa disini gak ada. Powershell Admin juga gak apa sih.

Setelah itu, ketikkan ini :

bcdedit /set testsigning on

Berhasil deh, tinggal restart. Setelah itu akan ada tulisan “Test Mode” di kanan bawah layar.

Kalau katanya “protected by Secure Boot policy”, berarti Secure Boot kamu masih hidup. Kamu harus matikan dari BIOS, tapi maaf gak ada tutorialnya disini :hammers Mungkin nanti aja kita tulis yah.

Untuk mematikan Test mode, kamu bisa ketikkan ini di cmd atau powershell :

bcdedit /set testsigning off

Setelah itu test mode tidak akan jalan lagi.

Cara kedua, kamu bisa pakai Disable Driver Signature Enforcement pada Advanced Boot.

Yang jadi masalah, kamu harus bikin ini setiap kali reboot. Dan sama sekali gak enak.

Caranya adalah sebagai berikut.

Klik start, lalu klik restart sambil menekan shift.

Pilih troubleshoot

Pilih advanced options

Lalu pilih “Startup Settings”

Lalu klik Restart

Setelah restart, tekan F7, disable driver signature enforcement.

Login seperti biasa, lalu pasanglah drivernya.

PC kamu akan boot seperti biasa, lalu kamu bisa pasang drivernya. Tapi setelah kamu reboot lagi, driver signature enforcement bakal hidup lagi.

Sumber : Howtogeek

Source

Allah Itu Baik (Instrumental) Download link + Project File

Edisi gak bisa tidur.
Terus terusan aja gini. Tidur siang kelamaan, abis tuh malam ga bisa tidur, paginya ketiduran di lab pas kuliah.

Made with Ableton Live 9 Suite.

Soundcloud : Click HERE
MP3 : Download HERE
WAV : Download HERE
Project file : Download project file here (freezed)

Used Instruments :
– Abbey Road Modern Drummer
– Session Horns PRO
– Session Strings PRO
– The Maverick
– Scarbee Vintage Keys
– Scarbee Pre Bass Amped

Used effects :
– Guitar Rig PRO 5
– RC-48

Sax, Vibes, and JazzGuitar by YAMAHA PSR-s950.

Source

Allah Itu Baik (Instrumental)

Edisi gak bisa tidur.

Made with Ableton Live 9 Suite.
Details and download : http://rinaldo.id/allah-itu-baik-instrumental-download-link-project-file

Used Instruments :
– Abbey Road Modern Drummer
– Session Horns PRO
– Session Strings PRO
– The Maverick
– Scarbee Vintage Keys
– Scarbee Pre Bass Amped

Used effects :
– Guitar Rig PRO 5
– RC-48

Sax, Vibes, and JazzGuitar by YAMAHA PSR-s950.

Source

Laporan Praktikum Sistem Embedded Modul ARDX CIRC-03 – Transistor dan Motor

Apa yang kita lakukan 

Pin arduino bisa mengendalikan benda elektronik kecil seperti LED. Tapi, ketika bermain dengan sesuatu yang lebih besar (seperti motor mainan atau mesin cuci), kita perlu transistor external. Transistor berguna untuk menyambung dan memutus arus besar dengan arus yang kecil. Sebuah transistor punya 3 pin. Untuk transistor negatif (NPN), kamu menghubungkan load ke connector dan emitter ke ground. Lalu ketika arus kecil mengalir dari base ke emitter, arus akan mengalir dari transistor dan motor akan hidup (ketika pin Arduino disetel sebagai HIGH). Ada banyak jenis transistor, yang memungkinkan setiap situasi punya solusi tersendiri. Kita menggunakan transistor P2N2222AG. Alasannya adalah karena maksimum voltage (40v) dan maksimum arus (200 mA) sudah cukup besar untuk motor kita. (lebih lanjut ada di datasheet http://ardx.org/2222)

Bahan bahan

CIRC-03
Breadboard Sheet
x1
2 Pin Header
x4
Transistor
P2N2222AG (TO92)
x1
Wire
Toy Motor
x1
Diode
(1N4001)
x1
10k Ohm Resistor
Brown-Black-Orange
x1

Rangkaian

 Kode Program

/* -----------------------------------------------------------
 * | Arduino Experimentation Kit Example Code |
 * | CIRC-03 .: Spin Motor Spin :. (Transistor and Motor) |
 * -----------------------------------------------------------
 * 
 * The Arduinos pins are great for driving LEDs however if you hook 
 * up something that requires more power you will quickly break them.
 * To control bigger items we need the help of a transistor. 
 * Here we will use a transistor to control a small toy motor
 * 
 * http://tinyurl.com/d4wht7
 *
 */

int motorPin = 9; // define the pin the motor is connected to
 // (if you use pin 9,10,11 or 3you can also control speed)

/*
 * setup() - this function runs once when you turn your Arduino on
 * We set the motors pin to be an output (turning the pin high (+5v) or low (ground) (-))
 * rather than an input (checking whether a pin is high or low)
 */
void setup()
{
 pinMode(motorPin, OUTPUT); 
}



/*
 * loop() - this function will start after setup finishes and then repeat
 * we call a function called motorOnThenOff()
 */

void loop() // run over and over again
{
 motorOnThenOff();
 //motorOnThenOffWithSpeed();
 //motorAcceleration();
}

/*
 * motorOnThenOff() - turns motor on then off 
 * (notice this code is identical to the code we used for
 * the blinking LED)
 */
void motorOnThenOff(){
 int onTime = 2500; //the number of milliseconds for the motor to turn on for
 int offTime = 1000; //the number of milliseconds for the motor to turn off for
 
 digitalWrite(motorPin, HIGH); // turns the motor On
 delay(onTime); // waits for onTime milliseconds
 digitalWrite(motorPin, LOW); // turns the motor Off
 delay(offTime); // waits for offTime milliseconds
}

/*
 * motorOnThenOffWithSpeed() - turns motor on then off but uses speed values as well 
 * (notice this code is identical to the code we used for
 * the blinking LED)
 */
void motorOnThenOffWithSpeed(){
 
 int onSpeed = 200; // a number between 0 (stopped) and 255 (full speed) 
 int onTime = 2500; //the number of milliseconds for the motor to turn on for
 
 int offSpeed = 50; // a number between 0 (stopped) and 255 (full speed) 
 int offTime = 1000; //the number of milliseconds for the motor to turn off for
 
 analogWrite(motorPin, onSpeed); // turns the motor On
 delay(onTime); // waits for onTime milliseconds
 analogWrite(motorPin, offSpeed); // turns the motor Off
 delay(offTime); // waits for offTime milliseconds
}

/*
 * motorAcceleration() - accelerates the motor to full speed then
 * back down to zero
*/
void motorAcceleration(){
 int delayTime = 50; //milliseconds between each speed step
 
 //Accelerates the motor
 for(int i = 0; i = 0; i--){ //goes through each speed from 255 to 0
 analogWrite(motorPin, i); //sets the new speed
 delay(delayTime); // waits for delayTime milliseconds
 }
}

Dokumentasi Video

Photo and video by kawan sekelompok ->  Septian (Instagram)

Source

Laporan Praktikum Sistem Embedded Modul ARDX CIRC-09 – Foto resistor

Apa yang kita lakukan?

Mendapatkan inputan dari potensiometer bisa berguna untuk eksperimen yang dikendalikan manusia, tapi gimana kalau kita mau eksperimen yang dikendalikan lingkungan? Kita menggunakan prinsip yang hampir sama, tapi dibandingkan menggunakan potensiometer, kita pakai photo resistor (light dependent resistor / sensor cahaya). Arduino gak bisa merasakan resistansi langsung (dia merasakan voltage), jadi kita membuat voltage divider. 

Rangkaian : 

Code (bisa didapatkan di http://ardx.org/CODE09)

/*
 * A simple programme that will change the intensity of
 * an LED based  * on the amount of light incident on 
 * the photo resistor.
 * 
 */

//PhotoResistor Pin
int lightPin = 0; //the analog pin the photoresistor is 
                  //connected to
                  //the photoresistor is not calibrated to any units so
                  //this is simply a raw sensor value (relative light)
//LED Pin
int ledPin = 9;   //the pin the LED is connected to
                  //we are controlling brightness so 
                  //we use one of the PWM (pulse width
                  // modulation pins)
void setup()
{
  pinMode(ledPin, OUTPUT); //sets the led pin to output
}
 /*
 * loop() - this function will start after setup 
 * finishes and then repeat
 */
void loop()
{
 int lightLevel = analogRead(lightPin); //Read the
                                        // lightlevel
 lightLevel = map(lightLevel, 0, 900, 0, 255); 
         //adjust the value 0 to 900 to
         //span 0 to 255



 lightLevel = constrain(lightLevel, 0, 255);//make sure the 
                                           //value is betwween 
                                           //0 and 255
 analogWrite(ledPin, lightLevel);  //write the value
}

Coding ini menghasilkan LED yang akan mati kalau sensor mendeteksi cahaya.


Gak jalan? 

  1. LED tetap gak nyala
    Inilah kesalahan yang terus kita bikin yang terus terusan ngabisin waktu. Coba aja mereka bisa bikin LED yang bisa ditukar PIN nya.
    Coba putar LED nya, baru coba lagi.
  2. Sensornya gak merespon perubahan cahaya
    Karena tempat merakitnya memang sempit, mungkin aja salah rakit. Coba rakit ulang.
  3. Masih gak jalan juga?
    Mungkin kamu berada di ruangan yang terlalu terang, atau terlalu gelap. Coba matiin lampu. Atau kalau ada senter (di lab sini adanya laser), coba pakai.

Lebih lanjut : http://ardx.org/CIRC09

Tugas kampus : Ketika lasernya kena sensor, LEDnya hidup. Kalau lasernya dimatikan, lampunya mati. Tampilkan keluaran sensor pada Serial Monitor.

int lightPin=0;
void setup()
{
 Serial.begin(9600);
 pinMode(ledPin, OUTPUT); //sets the led pin to output
}
 
void loop()
{
 int lightLevel = analogRead(lightPin); 
 
 Serial.print(lightLevel);
 Serial.print("\n");
 lightLevel = map(lightLevel, 0, 300, 255, 0); 




 lightLevel = constrain(lightLevel, 0, 255);//make sure the 
 //value is betwween 
 //0 and 255
 analogWrite(ledPin, lightLevel); //write the value
}

Hasil : 

Instagram Photo

Tugas 2 :

  1. Buat buzzer yang membunyikan lagu “Ibu Kita Kartini” (ARDX CIRC06)
  2. Buzzer baru hidup setelah sensor mendeteksi adanya cahaya.
 
int speakerPin = 9;
int ledPin = 9;
int lightPin=0;


int length = 52; // the number of notes
char notes[] = "cdefgecaCbagfagfecdfedcfefagagecedefgefefagagecedfbdc"; // a space represents a rest
int beats[] = { 3,1,2,2,3,1,4,3,1,2,2,8,3,1,2,2,4,4,3,1,2,2,8, 3,1,2,2,1,1,1,1,2,2,2,2,2,2,8,3,1,2,2,1,1,1,1,2,2,2,2,2,2,8 };
int tempo = 300;

void playTone(int tone, int duration) {
 for (long i = 0; i < duration * 1000L; i += tone * 2) {
 digitalWrite(speakerPin, HIGH);
 delayMicroseconds(tone);
 digitalWrite(speakerPin, LOW);
 delayMicroseconds(tone);
 }
}

void playNote(char note, int duration) {
 char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };
 int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };
 
 // play the tone corresponding to the note name
 for (int i = 0; i 200)
 {
 for (int i = 0; i < length; i++) {
 if (notes[i] == ' ') {
 delay(beats[i] * tempo); // rest
 } else {
 playNote(notes[i], beats[i] * tempo);
 }
 
 // pause between notes
 delay(tempo / 2); 
 }
 }
}

Instagram Photo

Kesimpulan : Sekarang kami bisa menggunakan sensor cahaya dengan Arduino. Tapi untuk menghidupkan lagu dengan cahaya, saya belum tahu apa kegunaannya :hammers

Source