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