Şimdi Ara

Ardunio MBlock Projesi İçin YARDIM

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
4
Cevap
0
Favori
389
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar herkese merhaba. 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:


    #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);}

    }



    Benim biraz geliştirdiğim 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 :
    Ardunio MBlock Projesi İçin YARDIM



    < Bu mesaj bu kişi tarafından değiştirildi FatihFurkanAK34,5 -- 19 Haziran 2019; 20:12:46 >







  • Neden ters yöne dönen ikinci bir motor var anlamasam da kod genel hatlarıyla doğru, muhtemelen çalışacaktır.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: zwanzig

    Neden ters yöne dönen ikinci bir motor var anlamasam da kod genel hatlarıyla doğru, muhtemelen çalışacaktır.
    Bir motor solda bir motor sağda olduğu için böyle olması gerek diye düşündüm hocam. Deniycem bugün kodu laba gidip. Çalışmazsa tekrar yazarım size.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.