The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

DENİZ TEMİZ robotu Arduino kodları bulunmaktadır

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by teslimeuysal38, 2022-06-06 03:56:40

DENİZ TEMİZ ROBOT

DENİZ TEMİZ robotu Arduino kodları bulunmaktadır

ARDUİNO KODLAR

#include <IRremote.h>

int RECV_PIN = 7;
int dirPin = 2;
int stepperPin = 3;
int en = 5;
int state = 0;
int oldSpeed = 0;
int rst = 4;
int toplayici=0;
int hiz=160;
IRrecv irrecv(RECV_PIN);
decode_results results;

#define CH1 0xFFA25D
#define CH 0xFF629D
#define CH2 0xFFE21D
#define PREV 0xFF22DD
#define NEXT 0xFF02FD
#define PLAYPAUSE 0xFFC23D
#define VOL1 0xFFE01F
#define VOL2 0xFFA857
#define EQ 0xFF906F
#define BUTON0 0xFF6897
#define BUTON100 0xFF9867
#define BUTON200 0xFFB04F
#define BUTON1 0xFF30CF
#define BUTON2 0xFF18E7
#define BUTON3 0xFF7A85
#define BUTON4 0xFF10EF
#define BUTON5 0xFF38C7
#define BUTON6 0xFF5AA5
#define BUTON7 0xFF42BD
#define BUTON8 0xFF4AB5
#define BUTON9 0xFF52AD

void setup() {
Serial.begin(9600);

irrecv.enableIRIn();
pinMode(dirPin, OUTPUT);
pinMode(stepperPin, OUTPUT);
pinMode(6, OUTPUT);

pinMode(en, OUTPUT); //enable, active low
pinMode(rst, OUTPUT); //rst, active low
delay(1000);
}

void loop(){ // some simple object avoidance

if (irrecv.decode( )) {
// toplayıcı
if (irrecv.decodedIRData.command == 67) {
Serial.println(irrecv.decodedIRData.command);
toplayici+=1;
if (toplayici%2==1)

digitalWrite(6,1);
else digitalWrite(6,0);
}
// hız +
if (irrecv.decodedIRData.command == 21) {
Serial.println(irrecv.decodedIRData.command);
if (hiz >5 && hiz<=160)
hiz-=5;
else hiz=hiz;
state = motors(state, hiz);

}
// hiz -

if (irrecv.decodedIRData.command == 7) {
Serial.println(irrecv.decodedIRData.command);

if (hiz >0 && hiz<=155)
hiz+=5;
else hiz=hiz;
state = motors(state, hiz);

}
if (irrecv.decodedIRData.command == 69) { // ileri

Serial.println(irrecv.decodedIRData.command);
state = motors(1, hiz);
}
if (irrecv.decodedIRData.command == 70) {state = motors(0, hiz); //dur
Serial.println(irrecv.decodedIRData.command);
}
if (irrecv.decodedIRData.command == 71) {state = motors(2, hiz); //
geri
Serial.println(irrecv.decodedIRData.command);
}
if (irrecv.decodedIRData.command == 68) {state = motors(4, hiz); //sağ
Serial.println(irrecv.decodedIRData.command);

}
if (irrecv.decodedIRData.command == 64) {state = motors(5, hiz); //sol

Serial.println(irrecv.decodedIRData.command);
}

Serial.println(irrecv.decodedIRData.command);

}
irrecv.resume();
if (toplayici==30000) toplayici=0;
}

int motors(int robot_direction, int robot_speed) // this determines how
many steps to what direction
{

switch(robot_direction){

case 0: // dur
if(state != robot_direction){

digitalWrite(en, HIGH);
robot_direction = state;
//Serial.println("GERİ");
}
break;
case 1: // ileri

digitalWrite(rst, LOW);
delayMicroseconds(5);
digitalWrite(rst, HIGH);

analogWrite(en, robot_speed);
oldSpeed = robot_speed;

step(2);
break;
case 2: // geri

digitalWrite(rst, LOW);
delayMicroseconds(5);
digitalWrite(rst, HIGH);

analogWrite(en, robot_speed);
oldSpeed = robot_speed;
break;
case 4: //sağ

digitalWrite(rst, LOW);
delayMicroseconds(5);
digitalWrite(rst, HIGH);
digitalWrite(en, LOW);

analogWrite(en, robot_speed);
oldSpeed = robot_speed;

step(1);
break;
case 5: //sol

digitalWrite(rst, LOW);
delayMicroseconds(5);
digitalWrite(rst, HIGH);
digitalWrite(en, LOW);

analogWrite(en, robot_speed);

oldSpeed = robot_speed;
step(3);

break;

}

return(robot_direction);
}

void step(int stepsit){
for(int i=0;i<stepsit;i++){

digitalWrite(stepperPin, HIGH);
delayMicroseconds(800);
digitalWrite(stepperPin, LOW);
delayMicroseconds(800);
}
}


Click to View FlipBook Version