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