Thursday, April 25, 2019

PENGOPERASIAN MOTOR SERVO MENGGUNAKAN ARDUINO

LAPORAN 5 

PENGOPERASIAN MOTOR SERVO MENGGUNAKAN ARDUINO


        Motor servo adalah sebuah perangkat atau aktuator putar (motor) yang dirancang dengan sistem kontrol umpan balik loop tertutup (servo), sehingga dapat di set-up atau di atur untuk menentukan dan memastikan posisi sudut dari poros output motor.

pada percobaan yang pertama yaitu menggerakkan motor servo yang geraknya di atur berdasarkan derajat menggunakan arduino

RANGKAIAN 


Setelah merangkai masukkan program berikut

#include <Servo.h>
int servoPin = 3;
Servo Servo1;

void setup(){
  Servo1.attach(9);
}
void loop(){
 Servo1.write(0);
 delay(1000);
 Servo1.write(90);
 delay(1000);
 Servo1.write(180);
 delay(1000);
}

      Berdasarkan program di atas pergerakan motor servo akan bergerak dari sudut 0 derajat ke sudut 90 derajat kemudian bergerak ke sudut 180 derajat dan di ulang dari 0 derajat sampai power di cabut. Pergerakan ini diberi delay yaitu 1 detik.

Percobaan selanjutnya yaitu menambahkan arduino pada rangkaian.

RANGKAIAN 

Setelah menambahkan arduino ubahlah program di atas

#include <Servo.h>

Servo servo1;
int potpin =0;
int val;

void setup()
{
  servo1.attach(9);
  
}
void loop()
{
  val = analogRead(potpin);
  val = map(val, 0, 1023, 0, 180);
  servo1.write(val);
}

      Program pada Loop berfungsi untuk.
  1. nilaipot= analogRead(potpin); menyimpan nilai dari potensio pada variabel nilai pot
  2. nilaipot= map(nilaipot, 0, 1023, 10, 180); mengkonversi nilai potensio dari 0-1023 menjadi 10-180, ini menyesuaikan dengan jenis servo yang digunakan, yaitu hanya bisa sampai maksimal 180 derajat.
Fungsi dari potensio dari rangkaian di atas adalah untuk menggerakkan motor servo tersebut.

Percobaan selanjutnya adalah menambahkan satu motor servo dan satu potensio

RANGKAIAN 

Setelah merangkai masukkan program berikut

#include <Servo.h>
int potpin1 = 0;
int potpin2 = 1;
Servo Servo1, Servo2;
int val1;
int val2;

void setup(){
Servo1.attach(9);
  Servo2.attach(8);
}
void loop(){
val1 = analogRead(potpin1);
val2 = analogRead(potpin2);
val1 = map(val1, 0, 1023, 0, 180);
 val2 = map(val2, 0, 1023, 0, 180);
 Servo1.write(val1);
 Servo2.write(val2);
}

      Program di atas yaitu adanya penambahan program untuk servo ke 2 di fungsi loop. Programnya sama dengan satu servo kita hanya tinggal menggandakan dan memberi penomoran. Program akan berkerja yaitu jika kita menggerakkan potensio yang kiri maka motor servo yang di atas akan bergerak dan jika kita menggerakan potensio yang di kanan maka motor servo yang di bawah akan bergerak.

Thursday, April 11, 2019

SENSOR SUHU

LAPORAN 4 SENSOR SUHU


Peralatan yang di perlukan :
-Arduino R3
-Bread Board
-Resistor  
-Potensiometer 
-Sensor suhu
-LCD 

Cara kerja :
Arduino akan menerima data temperatur dari sensor suhu  dan data tersebut akan ditampilkan di LCD.


Langkah kerja

-Hal yang pertama kali dilakukan adalah menyiabkan peralatan kemudian mulailah merangkai seperti gambar di bawah ini

 -Kemudian masukkan program di bawah ke arduino.

#include <LiquidCrystal.h>
int sensorPin = 0;
LiquidCrystal lcd(12,11,5,4,3,2);

void setup(){

 lcd.begin(16, 2);

}
void loop() {
 int reading = analogRead(sensorPin);
 float voltage = reading * 5.0;
 voltage /=1024.0;
 float tempC = (voltage - 0.5) * 100;
 lcd.setCursor(0, 0);
 lcd.print("suhu C : ");
 lcd.println(tempC);
 float tempF =(tempC * 9.0 / 5.0) + 32.0;
 lcd.setCursor(0,1);
 lcd.print("suhu F : ");
 lcd.println(tempF);
 lcd.print(millis() / 1000);
}

Berdasarkan program di atas lcd akan menampilkan berapa derajat suhu yang di baca oleh sensor suhu . Fungsi dari potensioadalah sebagai ganti saklar,ketika potensio di putar ke kanan maka rangkaian akan berjalan.

TUGAS
Membuat rangkaian sensor suhu dengan menggunakan arduino sebagai otaknya dengan mengunakan LED (R,G,Y) sebagai indikator tingkat besarnya suhu.

-Pertama adalah menyiapkan alat dan bahan serta merangkai seperti gambar di bawah.

-Setelah merangkai kemudian masukkan program berikut.


int sensorPin = 0;
void setup(){
 pinMode (12, OUTPUT);
 pinMode (6, OUTPUT);
 pinMode (2, OUTPUT);
}
void loop() {
 int reading = analogRead(sensorPin);
 float voltage = reading * 5.0;
 voltage /=1024.0;
 float tempC = (voltage - 0.5) * 100;

 if (tempC > 70)
 {
   digitalWrite (12, HIGH);
   digitalWrite (6, LOW);
   digitalWrite (2, LOW);
 }
 
 if (tempC >= 40 && tempC < 70)
   {
   digitalWrite(6, HIGH);
   digitalWrite (12, LOW);
   digitalWrite (2, LOW);
 }

 if (tempC <40)
 {
   digitalWrite(2,HIGH);
   digitalWrite (12, LOW);
   digitalWrite (6, LOW);
 }
}

-Setelah memasukkan program ke arduino. Cara kerjanya sendiri adalah dengan penetapan nilai pada sensor yaitu ketika suhu  >70C maka LED merah akan hidup,jika suhu berada di antara 40C dan 70C maka LED kuning akan hidup,dan jika suhu <40C maka LED hijau akan hidup

Thursday, April 4, 2019

SENSOR PING

LAPORAN 3
SENSOR PING




         Sensor ultrasonic adalah sensor yang berfungsi untuk merubah besaran fisis      (suara)menjadi besaran listrik maupun sebaliknya yang dikonversi menjadi jarak.
Sensor ini dimulai dari gelombang ultrasonik dengan frekuensi tertentu yang dibangkitkan melewati alat yang disebut juga dengan nama piezoelektrik sebagai transmitter.
Alat ini akan menghasilkan gelombang ultrasonik yang berfrekuensi 40kHz  (sesuai dengan osilator yang terpasang pada sensor).
         Biasanya alat ini akan memancarkan gelombang pada suatu target dan jika sudah mengenai permukaan target, maka gelombang tersebut akan terpantulkan kembali.
Pantulan gelombang tersebut akan diterima oleh piezoelektrik (receiver) dan kemudian sensor akan mengkalkulasi perbedaan antara waktu pengiriman dan waktu gelombang pantul yang diterima.



Capaian Pembelajaran


  1. Mahasiswa mampu menuliskan kode program dalam bahasa C
  2. Mahasiswa mampu menuliskan kode program untuk menampilkan karakter pada LCD
  3. Mahasiswa mampu menuliskan kode program untuk membaca data sensor ping dan menampilkannya di LCD

Software / Hardware yang digunakan

  1. Tinkercad
  2. Personal Computer (PC)


LANGKAH PERCOBAAN

Merangkailah seperti gambar di bawah ini



Setelah merangkai masukkan program berikut pada arduino

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int echoPin = 6;
int trigPin = 7;
long duration;
int distanceCm;

void setup(){
  lcd.begin(16,2);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
}
void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn (echoPin, HIGH);
  distanceCm = duration*0.0342/2;

  lcd.setCursor(0,0);
  lcd.print("Jarak: ");
  lcd.print(distanceCm);
  lcd.print("cm");
  delay(10);
}

Setelah program di masukkan maka mulai simulasinya
Di atas adalah simulasi dari sensor ping yang akan membaca jarak pada coverage area yang sudah di tetapkan dan akat di tampilkan di lcd berapa jarak dari benda tersebut.


TUGAS


  1. Buatlah program yang akan menyalakan LED jika jarak yang dibaca oleh sensor ultrasonic kurang dari 50 cm (jarak < 50 cm)


Rangkailah seperti gambar di bawah




Kemudian masukkan program berikut ke arduino



int echoPin = 6;
int trigPin = 7;
int ledPin = 13;
long duration;
int distanceCm;

void setup()
{
 pinMode(13, OUTPUT);
 pinMode(trigPin, OUTPUT);
 pinMode(echoPin, INPUT);
}

void loop()
{
 digitalWrite(trigPin, LOW);
 delayMicroseconds(2); 
 digitalWrite(trigPin, HIGH);
 delayMicroseconds(10);
 digitalWrite(trigPin, LOW);
 duration = pulseIn(echoPin, HIGH);
 distanceCm = duration*0.0342/2;
 if ( distanceCm < 50 ) {
 digitalWrite(ledPin, HIGH);}
 else {
 digitalWrite(ledPin, LOW);}
}


Setelah memasukkan program maka coba geser objek yang berada di coverage area sensor tersebut. Jika jarak antara sensor dan objeknya >50 cm maka led akan redup begitu sebaliknya jika <50 cm led akan nyala







Kontrol LED Menggunakan NodeMCU

Pada praktikum kali ini akan dijelaskan mengenai cara mengkontrol LED menggunakan Blynk Example Browser yang dijalankan menggunakan modul ...