Mühendisliğe Giriş dersi projem için yardımınıza ihtiyacım var. Eğer projeyi Cuma sabahına yetiştiremezsem dersten kalacağım. Proje kısaca şu:
MBlock duvara karşı 1.5 metre uzaklıktan 20 derecelik açıyla bırakılacak. MBlock'un duvara çarpmadan durması gerekiyor(0-10 cm aralığında).
Lab'da kullandığımız örnek bir kod var. Bu kod geliştirilerek yapılabiliyor proje. Yardımcı olursanız çok memnun olurum.
ÖRNEK KOD :
BİRAZ GELİŞTİRDİĞİM KOD :
PROJE :
MBlock duvara karşı 1.5 metre uzaklıktan 20 derecelik açıyla bırakılacak. MBlock'un duvara çarpmadan durması gerekiyor(0-10 cm aralığında).
Lab'da kullandığımız örnek bir kod var. Bu kod geliştirilerek yapılabiliyor proje. Yardımcı olursanız çok memnun olurum.
ÖRNEK KOD :
Kod:
#include "MeOrion.h"
MeDCMotor motor(M1);
MeUltrasonicSensor ultraSensor(PORT_7);
void setup() {
Serial.begin(9600);
}
void loop() {
float distance = ultraSensor.distanceCm();
Serial.print("Distance : ");
Serial.print(distance);
Serial.print(" cm");
delay(100);
int motorSpeed = 255;
if(distance > 100){
motor.run(motorSpeed);}
if(distance > 80 && distance <=100) {
motor.run(motorSpeed-40);}
else if(distance > 60 && distance <=80){
motor.run(motorSpeed-80);}
else if(distance > 30 && distance <=60){
motor.run(motorSpeed-120);}
else if(distance > 10 && distance <=30){
motor.run(motorSpeed-160) ;}
else{
motor.run(-motorSpeed);}
}
BİRAZ GELİŞTİRDİĞİM KOD :
Kod:
#include "MeOrion.h"
MeDCMotor motor(M1);
MeDCMotor motor2(M2);
MeUltrasonicSensor ultraSensor(PORT_7);
void setup() {
Serial.begin(9600);
}
void loop() {
float distance = ultraSensor.distanceCm();
Serial.print("Distance : ");
Serial.print(distance);
Serial.print(" cm");
delay(100);
int motorSpeed = 255;
int motor2Speed = -255;
if(distance > 150){
motor.run(motorSpeed);
motor2.run(motor2Speed);
}
if(distance > 110 && distance <=150) {
motor.run(motorSpeed-40);
motor2.run(motor2Speed+40);
}
else if(distance > 70 && distance <=110){
motor.run(motorSpeed-80);
motor2.run(motor2Speed+80);
}
else if(distance > 30 && distance <=70){
motor.run(motorSpeed-120);
motor2.run(motor2Speed+120);
}
else if(distance > 10 && distance <=30){
motor.run(motorSpeed-160) ;
motor2.run(motor2Speed+160);
}
else {
motor.stop();
motor2.stop();
}
}
PROJE :
Son düzenleyen: Moderatör: