Motordan bip sesi geliyor.

sessizl1q

Üye
Katılım
17 Tem 2021
Mesajlar
9
Puanları
1
Yaş
28
Arduino ile motor çalıştırıyorum. dc 775 motor ile yaptığım projede 12V 3.8 A adaptör ile besliyorum sürücüyü. motordan bip sesi geliyor. Bunu Kod içerisinde mi hallediyoruz. Farklı bir yol ile mi?. Gelen bip sesini nasıl engellerim? Neden kaynaklanır. Nasıl engellerim bunu. Yardımcı olabilirseniz sevinirim. Şimdiden teşekkürler.
 
Konu Sah

sessizl1q

Üye
Katılım
17 Tem 2021
Mesajlar
9
Puanları
1
Yaş
28
Nasıl bir ayar yapmam gerekiyor. Kodlarla mı düzeltmeliyim. Hangi kodlar olacak bir bilgim yok pek.
 

mehmet.bey

Profesyonel Üye
Katılım
19 Ara 2011
Mesajlar
1,576
Puanları
281
Konum
Galaksi Dışı
Kodlarınızı ve Arduino modelinizi paylaşınız.
 
Konu Sah

sessizl1q

Üye
Katılım
17 Tem 2021
Mesajlar
9
Puanları
1
Yaş
28
Arduino Uno

C++:
#include <Arduino.h>

enum buton{durdur,baslat,hiz_artir,hiz_azalt,toplam_buton};
const uint8_t butonlar [toplam_buton]  = {5,4,3,2};  //buton pinleri

enum led{bir,iki,uc,dort,toplam_led};
const uint8_t ledler[toplam_led]  = {6,7,8,12};       //led pinleri

enum motor{MotorE,MotorR,MotorL,motor_toplam};
const uint8_t motorlar[motor_toplam] = {10,11,9}; // motor pinleri


enum durumlar{kademe_1,kademe_2,kademe_3,kademe_4,duruyor};
const uint8_t durum_sureleri[5] = {5,10,15,20,0};  //dk cinsinden süreler
uint8_t durum_indexi = duruyor;

const int calisma_suresi  = 500;  //ms cinsinden
const int durma_suresi  = 300;  //ms cinsinden
int hiz =50;
unsigned long hareket_gecikmesi = 0;
unsigned long hareket_zaman_sayaci = 0;
unsigned long simdiki_zaman_sayaci = 0;

void motor_dur(),motor_baslat(),hiz_artirma(),hiz_azaltma(),led_yakma(uint8_t); //Gereken fonksiyonlar

void setup() {
  for(uint8_t i=0;i<toplam_led;i++)
    pinMode(ledler[i],OUTPUT);
  led_yakma(4); //Hepsi sönük
  for(uint8_t j=0;j<toplam_buton;j++)
    pinMode(butonlar[j],INPUT_PULLUP);


 for (uint8_t k=0;k<motor_toplam;k++)
      pinMode(motorlar[k],OUTPUT);
    
}

void loop() {
  simdiki_zaman_sayaci = millis();
  if(!digitalRead(butonlar[durdur])){
    delay(150);
    while(!digitalRead(butonlar[durdur]));
    motor_dur();
    hareket_zaman_sayaci = 0; //motor dursun
    }
    
  if(!digitalRead(butonlar[hiz_artir])){
    delay(250);
    while(!digitalRead(butonlar[hiz_artir]));
    hiz_artirma();
    }
    
  if(!digitalRead(butonlar[hiz_azalt])){
    delay(250);
    while(!digitalRead(butonlar[hiz_azalt]));
    hiz_azaltma();
    }
    
  if(!digitalRead(butonlar[baslat])){
    delay(250);
    while(!digitalRead(butonlar[baslat]));
    durum_indexi++;
    hareket_gecikmesi = durum_sureleri[durum_indexi%5];
    hareket_zaman_sayaci = simdiki_zaman_sayaci + (hareket_gecikmesi *60*60);    //dk'yı ms'ye çevirdi
    led_yakma(durum_indexi%5);
  }
 
    if(simdiki_zaman_sayaci >= hareket_zaman_sayaci){
      motor_dur();
      led_yakma(4); //ledler sönsün
      durum_indexi = duruyor;
      hareket_gecikmesi = durum_sureleri[durum_indexi];
      hareket_zaman_sayaci = 0;
    }
    else{
      if(((hareket_zaman_sayaci-simdiki_zaman_sayaci)%(calisma_suresi+durma_suresi))< calisma_suresi){
        motor_baslat();
        }
      else {
        motor_dur();
        }
    }
}


void motor_dur(){

digitalWrite(motorlar[MotorR], LOW);
    digitalWrite(motorlar[MotorL], LOW);
  analogWrite(motorlar[MotorE], 0);
}
void motor_baslat(){
  digitalWrite(motorlar[MotorR], HIGH);
    digitalWrite(motorlar[MotorL], LOW);
  analogWrite(motorlar[MotorE], hiz);

}
void hiz_artirma(){
  hiz = hiz+25;
  delay(100);
 
  if(hiz>=150)
  {
    hiz=150;
  }
  Serial.println(hiz);

}
void hiz_azaltma(){
  hiz=hiz-25;
  delay(100);
  if(hiz<=50)
  hiz=50;
  Serial.println(hiz);

}
void led_yakma(uint8_t ln){
  for (size_t i = 0; i < toplam_led; i++)
  {
    digitalWrite(ledler[i],LOW);
  }
  if(ln<toplam_led)
    digitalWrite(ledler[ln],HIGH);
 
}
 
Konu Sah

sessizl1q

Üye
Katılım
17 Tem 2021
Mesajlar
9
Puanları
1
Yaş
28
D5 ve D6 pini ile denedim bişey değişmedi. Attığınız linki denedim de çok anlamıyorum yapamadım. Kodda hata veriyor ekleyince oradaki TCCR1B = TCCR1B ve B11111000 | B00000100; bu kodu d10 için kullandım hata verdi.
 

Forum istatistikleri

Konular
118,618
Mesajlar
835,016
Kullanıcılar
430,779
Son üye
İmec Lokman

Yeni konular

Üst