Rabu, 02 Mei 2018

PERCOBAAN-19 "MOTOR SERVO"

NAMA KELOMPOK :
1. M TAUFIQ IRVAN E. / 163600027
2. YULFI AINUN AL F. / 163600053

A)MENGGERAKKAN 1 MOTOR SERVO DENGAN ARDUINO


TUJUAN : Menggerakkan motor servo dengan sudut tertentu

PROGRAM :

#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
  }
}





B) MENGGERAKKAN 2 MOTOR SERVO DENGAN ARDUINO


TUJUAN :  " MENGGERAKKAN 2 MOTOR SERVO DARI SUDUT 90 DERAJAT - 180 DERAJAT"



PROGRAM :


#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
  }
}





PERCOBAAN-11 "INPUT-OUTPUT(I/O)

NAMA KELOMPOK:
1. M. TAUFIQ IRVAN E. / 163600027
2. YULFI AINUN AL F. / 163600053

TUJUAN : Penekanan tombol sebagai input dan menampilkan kondisi tombol di monitor sebagai output.

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
    }
}



PERCOBAAN-9 "NADA"

NAMA KELOMPOK:
1. M TAUFIQ IRVAN E. / 163600027
2. YULFI AINUN AL F. / 163600053

TUJUAN : Membuat nada bunyi atau musik 1 oktaf

PROGRAM :
void setup() {
  // put your setup code here, to run once:
pinMode(8,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
noTone(8);
delay(1000);
tone(8,264,200);
delay(200);
noTone(8);
delay(1000);
tone(8,297,200);
delay(200);
noTone(8);
delay(1000);
tone(8,330,200);
delay(200);
noTone(8);
delay(1000);
tone(8,352,200);
delay(200);
noTone(8);
delay(1000);
tone(8,396,200);
delay(200);
noTone(8);
delay(1000);
tone(8,440,200);
delay(200);
noTone(8);
delay(1000);
tone(8,495,200);
delay(200);
noTone(8);
delay(1000);
tone(8,528,200);
delay(200);

}