Jumat, 13 Juli 2018

TUGAS PRAKTUKUM '' ANALOG DIGITAL ADC / MENGGUNAKAN LDR "

Tujuan : Mengukur tegangan listrik analog menjadi tegangan listrik digital


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





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






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






TUGAS PRAKTIKUM " MENAMPILKAN FUCTION '

Tujuan : Menampilkan hasil penjumlahan , perkalian , dan pembagian di Monitor

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


Program :

int x,y,z,k;
void setup() {
 Serial.begin(9600);
}
int jum (int x, int y){
z = x + y;
return z;
}
int kali (int x, int y){
z = x * y;
return z;
}
int bagi (int x, int y){
z = x / y;
return z;
}
void loop() {
  k = jum(15,5);
  Serial.print("jumlah =");
  Serial.println(k);
delay(500);
 k = kali(15,5);
 Serial.print("kali =");
  Serial.println(k);
delay(500);
 k = bagi(15,5);
 Serial.print("bagi =");
  Serial.println(k);
delay(500);
}

TUGAS MIKROKONTROLLER PERCOBAAN 2 UNIT SENSOR ULTRA SONIC ( SENSOR JARAK ) MENGGUNAKAN SUB PROGRAM '' NEWPING'' UNTUK MEMBACA JARAK SUATU BENDA DIDEPAN SENSOR YANG AKAN DITAMPILKAN DI SERIAL MONITOR

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

TUJUAN: MENCOBA MENAMPILKAN SENSOR ULTRA SONIC MELALUI LAYAR KALIMAT

PROGRAM :

#include <NewPing.h>
#define terima1 7
#define pancar1 8
#define terima2 2
#define pancar2 4
#define jarakmax 40
NewPing sonar(pancar1, terima1,jarakmax);
NewPing sonar(pancar2, terima2,jarakmax);
void setup() {
  Serial.begin (9600);
  pinMode(5,OUTPUT);
  pinMode(6,OUTPUT);
}
void LedOn(){
analogWrite(6,HIGH);
analogWrite(5,LOW);
}
void LedOff(){
analogWrite(6,LOW);
analogWrite(5,LOW);
}
void loop() {
  unsigned int us=sonar1.ping_cm();
  unsigned int us=sonar2.ping_cm();
  Serial.print(us);
  Serial.println(" Cm ");
  delay(50);
  
}




TUGAS MIKROKONTROLLER PERCOBAAN LENGAN ROBOT

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

TUJUAN : MENGGERAKKAN LENGAN ROBOT

PROGRAM :


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

    }


TUGAS PRAKTIKUM PERCOBAAN 20 "MENCETAK KALIMAT"

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

Tujuan : Menampilkan text di LCD ukuran 2x16


Program :

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int x,y,z,k;

void setup() {
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Hello, Apa Kabar?");
  lcd.setCursor(0, 1);
  lcd.print("I LOVE YOU");

}

void loop() {}


Program untuk tulisan bergeser ke kiri :

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int x,y,z,k;

void setup() {
  lcd.begin(16, 2);
  lcd.setCursor(0, 0);
  lcd.print("Hello, Apa Kabar?");
  lcd.setCursor(0, 1);
  lcd.print("I LOVE YOU");

}

void loop() {
 for(int x=0;x<29;x++){
    lcd.scrollDisplayLeft();
    delay(250);
  }
}



TUGAS PRAKTIKUM PERCOBAAN 14 "SENSOR WARNA"

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

Tujuan : Menentukan warna dari permukaan benda atau bahan

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



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