#include <Stepper.h>
const int number_of_steps=200;
Stepper motor(number_of_steps,6, 7, 8, 9);// step motor pinleri
boolean onetime=true;
int CurrentFloor;
int Diff_Flrs;
int x=21;
int y=43;
int d=x;
int e=4;
int qq=5;
int c=10;
int g=11;
int a=12;
int f=13;
/*Kabini uygun yöne hareket ettiren işlev */
void CompareFloor(int DestinationFloor){
if(onetime==true){
CurrentFloor=0;
onetime=false;
}
/* Katların mesafesini belirleyen kısım */
Diff_Flrs=CurrentFloor-DestinationFloor;
if(Diff_Flrs==2||Diff_Flrs==-2){d=y;}
else{d=x;}
/* Gidilecek kat, bulunulan kattan DAHA BÜYÜK ise YUKARI gider*/
if(DestinationFloor>CurrentFloor){
for(int i=0;i<=d;i++){
digitalWrite(2,HIGH);// Sets the red light on
digitalWrite(3,LOW);// Sets the green light off
motor.step(number_of_steps);
}
CurrentFloor=DestinationFloor;
if(DestinationFloor==1)// burası belirteç
{
digitalWrite(e,HIGH);
digitalWrite(qq,HIGH);
digitalWrite(c,LOW);
digitalWrite(g,HIGH);
digitalWrite(a,HIGH);
digitalWrite(f,HIGH);
}
else if(DestinationFloor>1)
{
digitalWrite(e,LOW);
digitalWrite(qq,LOW);
digitalWrite(c,HIGH);
digitalWrite(g,LOW);
digitalWrite(a,LOW);
digitalWrite(f,LOW);
}
if(DestinationFloor<1)
{
digitalWrite(e,LOW);
digitalWrite(qq,LOW);
digitalWrite(c,LOW);
digitalWrite(g,HIGH);
digitalWrite(a,LOW);
digitalWrite(f,LOW);
}
}
/* Gidilecek kat, mevcut kattan DAHA KÜÇÜK ise AŞAĞI gider*/
if (DestinationFloor<CurrentFloor){
for(int i=0;i<=d;i++)
{
digitalWrite(2,HIGH);// Kırmızı led ayarı (açık)
digitalWrite(3,LOW);// Yeşil led ayarı (kapalı)
motor.step(-number_of_steps);
}
CurrentFloor=DestinationFloor;
}
if (DestinationFloor==0){Serial.println("Zemin katta bulunuyorsunuz gideceğiniz katı yazınız. 11/A 25");}
else{
Serial.print(DestinationFloor);
Serial.print(".katta bulunuyorsunuz.");
Serial.println("Lütfen gideceğiniz katı yazınız.");
}
digitalWrite(2,LOW);
digitalWrite(3,HIGH);
delay(1500);
if(DestinationFloor==1)
{
digitalWrite(e,HIGH);
digitalWrite(qq,HIGH);
digitalWrite(c,LOW);
digitalWrite(g,HIGH);
digitalWrite(a,HIGH);
digitalWrite(f,HIGH);
}
else if(DestinationFloor>1)
{
digitalWrite(e,LOW);
digitalWrite(qq,LOW);
digitalWrite(c,HIGH);
digitalWrite(g,LOW);
digitalWrite(a,LOW);
digitalWrite(f,LOW);
}
if(DestinationFloor<1)
{
digitalWrite(e,LOW);
digitalWrite(qq,LOW);
digitalWrite(c,LOW);
digitalWrite(g,HIGH);
digitalWrite(a,LOW);
digitalWrite(f,LOW);
}
}
void setup(){
Serial.begin(9600);
while(!Serial);
Serial.println("Zemin katta bulunuyorsunuz gideceğiniz katı yazınız. 11/A 25");
motor.setSpeed(90);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
pinMode(12,OUTPUT);
pinMode(13,OUTPUT);
}
void loop(){
if(Serial.available()>0)
{
digitalWrite(3,HIGH);// Yeşil led ayarı (açık)
int button=Serial.parseInt();// Bilgisayardan serial monitöre giden veri
if(button==0||button==1||button==2){
CompareFloor(button);//Giriş değerini hedef işlevine ayarlayan kısım
Serial.setTimeout(10000000);
}
else{Serial.println("Yanlış numara girdiniz tekrar deneyiniz. 11/A 25");}
}
}/[code]
bu da yeni kullandığım kodlardır
[URL]https://github.com/StratosIlios/Elevator-Arduino-project[/URL] kodlarda geliştirebilceğim bir nokta varsa veya direk projeyi geliştirebilceğim bir nokta önerileriniz olursa sevinirim şimdiden teşekkürler