Diberdayakan oleh Blogger.

PERCOBAAN ROBOT LENGAN

Pastikan terlebih dahulu posisi motor Servo pada setiap lengan. Tes dahulu posisi lurus body, datar lengan kiri, vertikal lengan kanan dan posisi tutup jari.



#include <Servo.h>

Servo body,kiri,kanan,jari;

void setup() {
  Serial.begin(9600);
   body.attach(8);         //posisi body 90 lurus,0 arah kanan
   kiri.attach(9);           //tuas kiri 180 tuas datar, 90 tuas vertikal
   kanan.attach(10);     //tuas kanan 50 vertikal, 95 turun maju
   jari.attach(11);         //170 jari tutup, 90 jari terbuka
}

 void posisi(int badan,int kiwo,int tengen,int telapak){
  body.write(badan);
  kiri.write(kiwo);
  kanan.write(tengen);
  jari.write(telapak);
 }

void ambil0(){
   posisi(0,95,50,90); //lengan normal jari buka
  delay(1000);
   posisi(0,90,95,170); //maju japit
  delay(1000);
   posisi(0,95,50,170); //lengan normal jari jepit
  delay(1000);
   posisi(0,180,40,170); //angkat japit
  delay(1000);
}
void ambil90(){
   posisi(90,95,50,90); //turun jari buka
  delay(500);
   posisi(90,90,95,170); //maju jepit
  delay(500);
   posisi(90,95,50,170); //turun jari jepit
  delay(500);
   posisi(90,180,40,170); //angkat japit
  delay(500);
}

void taruh0(){
   posisi(0,110,50,170); //turun jari buka
  delay(500);
   posisi(0,110,75,90); //maju japit
  delay(500);
   posisi(0,110,50,90); //turun jari jepit
  delay(500);
   posisi(0,180,40,90); //angkat japit
  delay(500);
}

void taruh90(){
   posisi(90,95,50,170); //lengan normal jepit
  delay(500);
   posisi(90,90,95,90); //lengan maju buka
  delay(500);
   posisi(90,95,50,90); //lengan normal buka
  delay(500);
   posisi(90,180,40,90); //angkat buka
  delay(500);
}
void angkat90jepit(){
  posisi(90,180,40,170); // angkat jepit putar 90
   delay(500);
}
void angkat0buka(){
 posisi(0,180,40,90); //angkat buka putar 0
 delay(500);
}
void angkat90buka(){
  posisi(90,180,40,90); // angkat buka putar 90
   delay(500);
}
void angkat0jepit(){
 posisi(0,180,40,170); //angkat jepit putar 0
 delay(500);
}
void loop(){
  angkat90buka();
  ambil90();
  angkat0jepit();
  taruh0();
    }



Read comments

SENSOR WARNA


Sensor Warna menggunakan sensor TCRT5000

Hasil gambar untuk skema tcrt5000 dengan arduino

Program :

int infrared;
void setup(){
Serial.begin(9600);
}
void loop(){
infrared=analogRead(A0);
Serial.print("Nilai warna bahan=");
Serial.println(infrared);
int y=map(infrared,115,986,10,20);
//115,986 analog read A0 (batas bawah dan batas atas)
//10,20 mapping untuk batas bawah dan batas atas
delay(500);

Read comments

Analog digital Convertion(ADC) menggunakan LDR

Hasil gambar untuk skema ldr dengan arduino
Program :

int x;
void setup() {
Serial.begin(9600);
pinMode(8,OUTPUT);
}

void loop() {
x=analogRead(A0);
Serial.println(x);
delay(50);
if(x<=140){
digitalWrite(8,HIGH);
}
else{
  digitalWrite(8,LOW);
}
}



Program jika LDR diklik satu kali hidup dan jika diklik satu kali lagi akan mati , sebagai berikut :

int x;
int a=0;
void setup() {
Serial.begin(9600);
pinMode(8,OUTPUT);
}

void loop() {
x=analogRead(A0);
Serial.println(x);
delay(50);
if(x<=140){
  if(a==0){
digitalWrite(8,HIGH);
a=1;
}
else{
  digitalWrite(8,LOW);
  a=0;
}
}
}



Read comments

CETAK KALIMAT DI LCD

#include<LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2);
void setup() {
 lcd.begin(16,2);
 lcd.setCursor(0,0);
 lcd.print("HALLO APA KABAR ?");
 lcd.setCursor(0,1);
 lcd.print("I LOVE YOU");
 delay(1000);
}
void loop() {
 for(int x=0; x < 13; x++){
  lcd.scrollDisplayLeft();
  delay(150);
 }
  for(int x=0; x < 29; x++){
  lcd.scrollDisplayRight();
  delay(150);
  }
 for(int x=0; x < 16; x++){
  lcd.scrollDisplayLeft();
 delay(150);
 }
 delay(1000);
}





Read comments

percobaan lampu meteor

diagram-ledflow


program

const int lowestPin = 2;
const int highestPin = 9;

void setup()
{
  for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++)
  {
  pinMode(thisPin, OUTPUT);
  }
}
void loop()
{
 for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++)
  {
  digitalWrite(thisPin, HIGH);
  delay(100);
  }
  for (int thisPin = highestPin; thisPin >= lowestPin; thisPin--)
  {
  digitalWrite(thisPin, LOW);
  delay(100);
  }
  for (int thisPin = highestPin; thisPin >= lowestPin; thisPin--)
  {
  digitalWrite(thisPin, HIGH);
  delay(100);
  }
   for (int thisPin = lowestPin; thisPin <= highestPin; thisPin++)
  {
  digitalWrite(thisPin, LOW);
  delay(100);
  }
}



Read comments

2 MOTOR SERVO DENGAN ARDUINO

2 MOTOR SERVO BISA BERGERAK 90 DERAJAT - 180 DERAJAT


#include <Servo.h>

Servo servo1,servo2;  // create servo object to control a servo
// twelve servo objects can be created on most boards
int pos = 0;    // variable to store the servo position
void setup() {
  servo1.attach(9);  // attaches the servo on pin 9 to the servo object
  servo2.attach(10);  // attaches the servo on pin 10 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    servo1.write(pos);              // tell servo to go to position in variable 'pos'
    servo2.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    servo1.write(pos);              // tell servo to go to position in variable 'pos'
    servo2.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}














Read comments

MOTOR SERVO 1 DENGAN ARDUINO

Motor servo adalah salah satu jenis motor DC yang memiliki sistem umpan balik tertutup.Di dalam motor servo sendiri terdiri dari beberapa bagian yaitu : motor DC,rangkaian gear,kontrol dan potensiometer.

Alat dan Komponen :
  • Mikrokontroller Arduino UNO / type lain
  • Motor Servo (“admin memakai sevo type HS 311 dan HS-325HB”)
Rangkailah alat dan komponen seperti di bawah ini :
Untuk memulai memprogram motor servo terlebih dahulu set posisi servo ke 0 derajat / 180 derajat .
Program untuk reset posisi ke 0/180 derajat di bawah ini :
 ===============================================
#include <Servo.h> 
Servo servoku;
void setup()
{
servoku.attach(9); // pin out data servo terletak di pin 9 arduino
servoku.write(0); //mereset posisi servo ke posisi sudut 0 derajat
}
void loop()
{
}
 ================================================
Selanjutnya  masukkan program putaran servo dari posisi 0 ke 180 dan 180 ke 0
================================================
#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}


Read comments

CARA MEMBUAT "INPUT-OUTPUT(I/O)" DENGAN ARDUINO

CARA MEMBUAT  "INPUT-OUTPUT(I/O)"



 
A.) Mengetahui Inputan Bekerja Dengan Serial Monitor

      Program :
    
 int x=0;              //variabel x bil. bulat 0

void setup(){         //program inialisasi satu kali setting dan start
  Serial.begin(9600); //kirim dengan v=9600 data/s
  pinMode(2,OUTPUT);  //pin 2 Arduino disetting sebagai output
  pinMode(3,INPUT);   //pin 3 Arduino disetting sebagai input(tombol/push button)
}

void loop(){          //program berulang dan start
  x= digitalRead(3);  //baca pin 3 Arduino hasilnya dijadikan nilai x
  Serial.println(x);  //munculkan di serial monitor
  delay(200);
}

Jika tombol ditekan akan muncul 1 , jika tidak maka akan muncul 0
B.) lampu akan NYALA jika tombol ditekan , jika tidak lampu akan MATI
      Program :
int x;              //variabel x bil. bulat
void setup(){         //program inialisasi satu kali setting dan start
  Serial.begin(9600); //kirim dengan v=9600 data/s
  pinMode(2,OUTPUT);  //pin 2 Arduino disetting sebagai output
  pinMode(3,INPUT);   //pin 3 Arduino disetting sebagai input
}
void loop(){          //program berulang dan start
  x= digitalRead(3);  //baca pin 3 Arduino hasilnya dijadikan nilai x
  Serial.println(x);  //munculkan di serial monitor
  if(x==HIGH){        //jika nilai x tinggi/tombol ditekan
    digitalWrite(2,HIGH);//maka output/lampu akan menyala
    else{             //jika tidak ditekan
      digitalWrite(2,LOW);//maka lampu akan mati
    }
    delay(50);        //tahan 50ms
  }
}



C.) Lampu akan NYALA jika diklik 1 kali dan akan MATI jika diklik 1 kali lagi
      Program :
===========================================================
      int x;              //variabel x bil. bulat 0
void setup(){         //program inialisasi satu kali setting dan start
  Serial.begin(9600); //kirim dengan v=9600 data/s
  pinMode(2,OUTPUT);  //pin 2 Arduino disetting sebagai output
  pinMode(3,INPUT);   //pin 3 Arduino disetting sebagai input
}
void loop(){          //program berulang dan start
  x= digitalRead(3);  //baca pin 3 Arduino hasilnya dijadikan nilai x
  Serial.println(x);  //munculkan di serial monitor
  if(x==1){           //jika nilai x tinggi/tombol ditekan
    if(a==0){         //jika variabel a = 0
    digitalWrite(2,HIGH);//maka output/lampu akan menyala
    a=1;              //variabel a = 1
    }
    else{             //jika ditekan lagi
      digitalWrite(2,LOW);//maka lampu akan mati
      a=0;            //variabel a = 0
    }
}

Read comments

CARA MEMBUAT LAGU HAPPY BIRTHDAY DENGAN ARDUINO

CARA MEMBUAT LAGU HAPPY BIRTHDAY DI ARDUINO



Diantara para pembaca pasti banyak yang uka mendengarkan musik bukan ? Atau malah suka main musik ? Nah pada tutorial kali ini, NP akan share bagaimana cara untuk memainkan nada musik melalui Arduino. Siapa tahu nanti kita bisa bikin alat musik sendiri semisal piano dgital hehehe😀 .
Yaps, seperti biasa, komponen yang perlu kamu siapkan yaitu :
  • 1 buah Arduino(UNO, Mega, NANO, atau yang lain)
  • 1 buah speaker 8 ohm (atau yang lain)
  • Kabel jumper secukupnya
Dan untuk review Selanjutnya monggo dirangkai Sesuai DENGAN SKEMA berikut Penyanyi:
Hasil gambar untuk CARA MEMBUAT PROGRAM ARDUINO MUSIK 

Keterangan :


Salah satu kaki speaker hubungkan ke pin A5
Kaki yang lain hubungkan ke Ground (GND)
Nah sekarang masukkan program berikut ini pada software IDE Arduino, lalu jalankan :
===============================================================
int speakerPin = 10;

int length = 28; // the number of notes

char notes[] = "GGAGcB GGAGdc GGxecBA yyecdc";

int beats[] = { 2, 2, 8, 8, 8, 16, 1, 2, 2, 8, 8,8, 16, 1, 2,2,8,8,8,8,16, 1,2,2,8,8,8,16 };

int tempo = 150;

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', 'd', 'e', 'f', 'g', 'a', 'b',

                 'x', 'y' };

int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014,

                 956,  834,  765,  593,  468,  346,  224,

                 655 , 715 };

int SPEE = 5;

// play the tone corresponding to the note name

for (int i = 0; i < 17; i++) {

   if (names[i] == note) {
    int newduration = duration/SPEE;
     playTone(tones[i], newduration);

   }

}

}

void setup() {

pinMode(speakerPin, OUTPUT);

}

void loop() {

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);

}

}
 ==============================================================
DAN HASILNYA

Read comments

CARA MEMBUAT LAMPU LED REDUP TERANG DENGAN ARDUINO

 CARA MEMBUAT LAMPU LED REDUP TERANG


Untuk ujicoba  Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino salah satu syarat utama nya adalah jangan sampai terbalik dalam pemasangan LED nya ya. kenali kaki anoda dan katoda dengan baik ya supaya anda tidak merusakkan led yang anda gunakan

Berikut adalah Gambar kaki anoda dan kaki katoda pada sebuah LED

Gambar kaki anoda dan kaki katoda pada sebuah LED
Gambar kaki anoda dan kaki katoda pada sebuah LED

Pastikan pin LED tidak terbalik ya (intip bentuk kaki di dalam LED),kalau terbalik LED tidak akan berkedip, karena arus akan di alirkan dari Anoda ke katoda, arus tidak dapat mengalir dari Katoda ke Anoda (oh iya dapat terjadi sih, tapi … tapinya LED rusak alias jebol, LED ga nyala dan LED rusak), so jangan sampai terbalik memasang led di kaki pin arduinonya ya.

Selanjutnya buat rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino sebagai mana gambar di bawah ini :

Rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino
Rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino



Keterangan : 
LED nilai opsional boleh 220 ohm, 330 ohm 470 ohm 680ohm sebaiknya di bawah 1000 ohm 
Dalam contoh ini pin anoda mendapatkan jalur dari pin 9 arduino (cek gambar di atas)
Sedangkan pin katoda ke ground arduino (cek gambar di atas)
Sudah cukup jelas kan ?

Sekarang bagian coding alias sketch untuk Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino
//=======================================================================
int ledPin = 9;    // LED connected to digital pin 9
void setup()  { 

void loop()  { 
  // fade in from min to max in increments of 5 points:
  for(int nilaiTerangRedup = 0 ; nilaiTerangRedup <= 255; nilaiTerangRedup +=5) { 
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, nilaiTerangRedup);         
    // wait for 30 milliseconds to see the dimming effect    
    delay(30);                            
  } 

  // fade out from max to min in increments of 5 points:
  for(int nilaiTerangRedup = 255 ; nilaiTerangRedup >= 0; nilaiTerangRedup -=5) { 
    // sets the value (range from 0 to 255):
    analogWrite(ledPin, nilaiTerangRedup);         
    // wait for 30 milliseconds to see the dimming effect    
    delay(30);                            
  } 
}
//======================================================================

Setelah rangkaian Mengontrol Terang Redup Nyala LED dengan menggunakan PWM pada arduino dibuat
Silakan simpan dan upload sketch tersebut ke arduino, dan hasil nya adalah :

Led akan menyala dari redup menjadi terang dan kembali dari terang menuju redup secara berulang ulang penundaan proses perstep kenaikan level terang redup adalah sebesar 30 milidetik (silakan ubah ubah nilainya) supaya penundaan yang dilakukan teramati oleh mata anda dengan lebih jelas.


DAN INILAH HASILNYA





Read comments