7 Ocak 2022 Cuma

Arduino & Buzzer ile STAR WARS Melodi Projesi

  Sevgili Öğrenciler,


Arduino robotik setinizle aşağıdaki referans kodları da Arduino programında yazarak Buzzer ile melodi çalma projesi  yapıyoruz.

Projede Kodla Türkiye Robotik setindeki Shielde entegre  buzzer ile "Star Wars Film Müziği(Imperial March)"  kodlanıp çalınacaktır.

Başarılar!



 //Arduino Referans Kaynak Kodu:

const int c = 261;

const int d = 294;

const int e = 329;

const int f = 349;

const int g = 391;

const int gS = 415;

const int a = 440;

const int aS = 455;

const int b = 466;

const int cH = 523;

const int cSH = 554;

const int dH = 587;

const int dSH = 622;

const int eH = 659;

const int fH = 698;

const int fSH = 740;

const int gH = 784;

const int gSH = 830;

const int aH = 880;

 

const int buzzerPin = 5;

const int ledPin1 = 4;

const int ledPin2 = 7;

 

int counter = 0;

 

void setup()

{

  //Setup pin modes

  pinMode(buzzerPin, OUTPUT);

  pinMode(ledPin1, OUTPUT);

  pinMode(ledPin2, OUTPUT);

}

 

void loop()

{

 

  //Play first section

  firstSection();

 

  //Play second section

  secondSection();

 

  //Variant 1

  beep(f, 250);  

  beep(gS, 500);  

  beep(f, 350);  

  beep(a, 125);

  beep(cH, 500);

  beep(a, 375);  

  beep(cH, 125);

  beep(eH, 650);

 

  delay(500);

 

  //Repeat second section

  secondSection();

 

  //Variant 2

  beep(f, 250);  

  beep(gS, 500);  

  beep(f, 375);  

  beep(cH, 125);

  beep(a, 500);  

  beep(f, 375);  

  beep(cH, 125);

  beep(a, 650);  

 

  delay(650);

}

 

void beep(int note, int duration)

{

  //Play tone on buzzerPin

  tone(buzzerPin, note, duration);

 

  //Play different LED depending on value of 'counter'

  if(counter % 2 == 0)

  {

    digitalWrite(ledPin1, HIGH);

    delay(duration);

    digitalWrite(ledPin1, LOW);

  }else

  {

    digitalWrite(ledPin2, HIGH);

    delay(duration);

    digitalWrite(ledPin2, LOW);

  }

 

  //Stop tone on buzzerPin

  noTone(buzzerPin);

 

  delay(50);

 

  //Increment counter

  counter++;

}

 

void firstSection()

{

  beep(a, 500);

  beep(a, 500);    

  beep(a, 500);

  beep(f, 350);

  beep(cH, 150);  

  beep(a, 500);

  beep(f, 350);

  beep(cH, 150);

  beep(a, 650);

 

  delay(500);

 

  beep(eH, 500);

  beep(eH, 500);

  beep(eH, 500);  

  beep(fH, 350);

  beep(cH, 150);

  beep(gS, 500);

  beep(f, 350);

  beep(cH, 150);

  beep(a, 650);

 

  delay(500);

}

 

void secondSection()

{

  beep(aH, 500);

  beep(a, 300);

  beep(a, 150);

  beep(aH, 500);

  beep(gSH, 325);

  beep(gH, 175);

  beep(fSH, 125);

  beep(fH, 125);    

  beep(fSH, 250);

 

  delay(325);

 

  beep(aS, 250);

  beep(dSH, 500);

  beep(dH, 325);  

  beep(cSH, 175);  

  beep(cH, 125);  

  beep(b, 125);  

  beep(cH, 250);  

 

  delay(350);

}


//

2 Ocak 2022 Pazar

ARDUINO ve Potansiyometreli DC Motor Kontrolü

 

 Sevgili Öğrenciler,


Arduino robotik setinizle projenin  kodları Arduino programında yazarak DC motor kullanıp  " Potansiyometreli  DC Motor Kontrolü PROJESİ " yapıyoruz.

Projemizde, Kodla Türkiye Robotik setinde bulunan Junior Shield+ daki Motor bölümüne DC motorun bağlantısını yaparak  projeyi hazırlıyoruz.

Not: Projeyi başarıyla tamamladığınızda potansiyometre ile DC motorun hızını ayarlayabileceksiniz.

Başarılar!

//Arduino Referans Kaynak Kodu:

 int inl = 1;

int in2 = 2;

int en = 3; // hiz kontrol pini

int pot = A1;

int potDeger = 0;

int potl = 0;

void setup() {

pinMode(inl, OUTPUT); pinMode(in2, OUTPUT); pinMode(en, OUTPUT); pinMode(pot, INPUT);

}

void loop() {

potDeger = analogRead(pot) / 4; 

if (potDeger < 128) {

potl = map(potDeger, 0, 127, 255, 0); analogWrite(en, potl); digitalWrite(inl, HIGH); digitalWrite(in2, LOW);

delay(50);

}

if (potDeger > 128) {

potl = map(potDeger, 129, 255, 0, 255); analogWrite(en, potl); digitalWrite(inl, LOW); digitalWrite(in2, HIGH);

delay(50);

}

}