6 Aralık 2021 Pazartesi

Arduino & Buzzer ile 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 "Yeniyıl Jingle Bells Melodisi"  kodlanıp çalınacaktır.

Başarılar!


//Arduino Referans Kaynak Kodu:

// * Jingle Bells
 

// TONES  ==========================================  
  
 //       note, period, &  frequency.
 #define  C     2100
 #define  D     1870 
 #define  E     1670
 #define  f     1580    // Does not seem to like capital F
 #define  G     1400 
 // Define a special note, 'R', to represent a rest
 #define  R     0
 // SETUP ============================================
 
 int speakerOut = 5;
 int DEBUG = 1;
 void setup() {
   pinMode(speakerOut, OUTPUT);
   if (DEBUG) {
     Serial.begin(9600); // Set serial out if we want debugging
   }
 }
 // MELODY and TIMING  =======================================
 //  melody[] is an array of notes, accompanied by beats[],
 //  which sets each note's relative length (higher #, longer note)
 int melody[] = {E, E, E,R,
 E, E, E,R,
 E, G, C, D, E, R,
 f, f, f,f, f, E, E,E, E, D ,D,E, D, R, G ,R,
 E, E, E,R,
 E, E, E,R,
 E, G, C, D, E, R,
 f, f, f,f, f, E, E, E,  G,G, f, D, C,R };
 int MAX_COUNT = sizeof(melody) / 2; // Melody length, for looping.
 // Set overall tempo
 long tempo = 10000;
 // Set length of pause between notes
 int pause = 1000;
 // Loop variable to increase Rest length
 int rest_count = 100; //<-BLETCHEROUS HACK; See NOTES
 // Initialize core variables
 int tone_ = 0;
 int beat = 0;
 long duration  = 0;
 // PLAY TONE  ==============================================
 // Pulse the speaker to play a tone for a particular duration
 void playTone() {
   long elapsed_time = 0;
   if (tone_ > 0) { // if this isn't a Rest beat, while the tone has
     //  played less long than 'duration', pulse speaker HIGH and LOW
     while (elapsed_time < duration) {
       digitalWrite(speakerOut,HIGH);
       delayMicroseconds(tone_ / 2);
       // DOWN
       digitalWrite(speakerOut, LOW);
       delayMicroseconds(tone_ / 2);
       // Keep track of how long we pulsed
       elapsed_time += (tone_);
     }
   }
   else { // Rest beat; loop times delay
     for (int j = 0; j < rest_count; j++) { // See NOTE on rest_count
       delayMicroseconds(duration); 
     } 
   }                                
 }
  
 void loop() {
  for (int i=0; i<MAX_COUNT; i++) {
    tone_ = melody[i];
    beat = 50;

    duration = beat * tempo; // Set up timing

    playTone();
    // A pause between notes...
    delayMicroseconds(pause);
  }
 }

//




30 Kasım 2021 Salı

ARDUINO LEDLİ 2022 YENİYIL PROJESİ (Karaşimşek Devresi ile)

 

 Sevgili Öğrenciler,


Arduino robotik setinizle aşağıdaki devre şemasını kurup kodları da Arduino programında yazarak Karaşimşek Devresi gibi "LEDLİ YENİYIL PROJESİ " yapıyoruz.

Projede Kodla Türkiye Robotik setindeki Junior Shield+ daki hazır entegre renkli   Ledler   kullanılacak ve bu Ledler  yanıp sönecektir. Ledlerin yanma sönme süresi istediğiniz gibi ayarlayıp değiştirebilirsiniz.

Başarılar!



//Arduino Referans Kaynak Kodu:

const int LEDdizisi[] = {2,3,4,5}; void setup () { for(int i=0; i<6 ;i++) { /* For dongusuyle LEDdizisi elemanlarina ulasiyoruz */ pinMode(LEDdizisi[i], OUTPUT); /* LED pinleri cikis olarak ayarlandi */ } } void loop() { for(int i=0; i<6; i++){ /* Tum LEDleri 50 milisaniye yakip sonduruyoruz */ digitalWrite(LEDdizisi[i],HIGH); delay(50); digitalWrite(LEDdizisi[i],LOW); } for(int j=6;j>-1; j--) { /* LEDleri geri yonde 50 milisaniye yakip sonduruyoruz */ digitalWrite(LEDdizisi[j],HIGH); delay(50); digitalWrite(LEDdizisi[j], LOW); } }

14 Ekim 2021 Perşembe

Elektrik-Elektronik Devreler ve Elemanları

 

Sevgili Öğrenciler,


Aşağıdaki konu özetini okuduktan sonra Scratch Kodlama Etkinliğindeki Elektronik Devreyi tamamlayınız.

Devre Eleman kodlarında gerekli değişiklikleri yaparak devreyi güncelleyebilirsiniz.(Örneğin yanan ışığın rengini değiştirme vs.)


BAŞARILAR!




https://scratch.mit.edu/projects/164669

17 Mayıs 2021 Pazartesi

ARDUINO ile 7 segment LED SAYAÇ Projesi

   Sevgili Öğrenciler,

  Arduino robotik setinizdeki 7 segment ledi  kullanarak  0-9 sayıcı yapıyoruz.

Bu projemizde rakamlar gösterilecek ve döngüyle bu süreç tekrar edecek. Devre bağlantısını aşağıdaki referans şemaya göre yapıp kodu yükleyince projemizi tamamlamış olacağız.

 Başarılar!






//Referans Proje Kodu

/* Buradaki kodlar ortak katot bağlantılı 7-segment ekran için geçerlidir.
  7-segment ekranın her bir bölümü için bir değişken tanımladık ve a,b,c,d,e,f,g isimlerini verdik.
  Dijital pin numaralarını tanımladık. */
/* DİKKAT: Deney seti üzerinde bulunan ve 7-Segment Göstergeye ait olan A,B,C,D,E,F,G,N pinleri
  sırasıyla 9,8,7,6,5,4,3,2 nolu dijital pinlere bağlanacaktır. Arduino üzerinde ise bu sıranın tersi
  olacak şekilde, yani 2,3,4,5,6,7,8,9 pin sırasıyla bağlantı yapılmalıdır. Bu farklılık deney seti üzerindeki
  7-segment gösterge bağlantıları ile harici 7-segment göstergenin bağlantılarının birbirinin tersi olmasından
  kaynaklanmaktadır. */


int a = 2;
int b = 3;
int c = 4;
int d = 5;
int e = 6;
int f = 7;
int g = 8;
int n = 9;
void setup() {
  pinMode(a, OUTPUT);
  pinMode(b, OUTPUT);
  pinMode(c, OUTPUT);
  pinMode(d, OUTPUT);
  pinMode(e, OUTPUT);
  pinMode(f, OUTPUT);
  pinMode(g, OUTPUT);
  pinMode(n, OUTPUT);
}
void loop() {
  digitalWrite(a, HIGH); //7 segment ekrana "0" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, HIGH);
  digitalWrite(g, LOW);
  delay(1000);
  digitalWrite(a, LOW); //7 segment ekrana "1" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, LOW);
  digitalWrite(e, LOW);
  digitalWrite(f, LOW);
  digitalWrite(g, LOW);
  delay(1000);
  digitalWrite(a, HIGH); //7 segment ekrana "2" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, LOW);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, LOW);
  digitalWrite(g, HIGH);
  delay(1000);
  digitalWrite(a, HIGH); //7 segment ekrana "3" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, LOW);
  digitalWrite(f, LOW);
  digitalWrite(g, HIGH);
  delay(1000);
  digitalWrite(a, LOW); //7 segment ekrana "4" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, LOW);
  digitalWrite(e, LOW);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  delay(1000);
  digitalWrite(a, HIGH); //7 segment ekrana "5" yazdırdık.
  digitalWrite(b, LOW);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, LOW);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  delay(1000);
  digitalWrite(a, HIGH); //7 segment ekrana "6" yazdırdık.
  digitalWrite(b, LOW);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  delay(1000);
  digitalWrite(a, HIGH); //7 segment ekrana "7" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, LOW);
  digitalWrite(e, LOW);
  digitalWrite(f, LOW);
  digitalWrite(g, LOW);
  delay(1000);
  digitalWrite(a, HIGH); //7 segment ekrana "8" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, HIGH);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  delay(1000);
  digitalWrite(a, HIGH); //7 segment ekrana "9" yazdırdık.
  digitalWrite(b, HIGH);
  digitalWrite(c, HIGH);
  digitalWrite(d, HIGH);
  digitalWrite(e, LOW);
  digitalWrite(f, HIGH);
  digitalWrite(g, HIGH);
  delay(1000);
} // kodlar sonsuz döngü içinde yazıldığı için işlemler başa döner.



22 Mart 2021 Pazartesi

ARDUINO İLE OTOMATİK BARİYER SİSTEMİ

  Sevgili Öğrenciler,

Arduino robotik setinizdeki servo motor ve HC-SR04 ultrasonik sensörünü kullanarak  OTOMATİK BARİYER SİSTEMİ  yapıyoruz.

Bu projemizde servo motorun data kablosunu pin7 ; ultrasonik sensörün de Trig pin 9 ve Echo pin 8 olarak kodda da belirtildiği üzere yapıyoruz.

Projenizle oyuncak maket arabalarla demo yapabilir, sistemi test edebilirsiniz.

Başarılar!





14 Mart 2021 Pazar

Animasyonlu F1 Stop-Aydınlatma İkaz Projesi

  Sevgili Öğrenciler,

Arduino robotik setinizle aşağıdaki devre şemasını kurup kodları da Arduino programında yazarak  Animasyonlu F1 Stop-Aydınlatma İkaz Projesi yapalım.

Bu projemizde 5 LED kullanarak bunların tıpkı Trafik Lambası projesindeki gibi devre kurulumunu yapıyor; 7-8-9-10 ve 11 nolu pinleri ledlerin (+) kutbuna bağlıyoruz.

Ledlerin GND yani (-)kutbu ortak bağlantısını da yapıp kodu yüklersek projemiz çalışacaktır. Arduino kütüphane hatası alırsanız ilgili kütüphanenin zip dosyasını internetten bularak ARDUINO TASLAK sekmesinden library ekle>zip kitaplığı ekle kısmından yükleyebilirsiniz.

Başarılar! 

7-8-9-10-11 no.lu Pinler





//Referans Proje Kodu:


#include <Arduino.h>
#include <Wire.h>
#include <SoftwareSerial.h>

double angle_rad = PI/180.0;
double angle_deg = 180.0/PI;

void setup(){
   
    pinMode(7,OUTPUT);
    pinMode(8,OUTPUT);
    pinMode(9,OUTPUT);
    pinMode(10,OUTPUT);
    pinMode(11,OUTPUT);
  
}

void loop(){
    for(int __i__=0;__i__<3;++__i__)
    {
        for(int __i__=0;__i__<10;++__i__)
        {
           
            digitalWrite(7,0);
            digitalWrite(8,0);
            digitalWrite(9,0);
            digitalWrite(10,0);
            digitalWrite(11,0);
            _delay(0.05);
          
            digitalWrite(7,1);
            digitalWrite(8,1);
            digitalWrite(9,1);
            digitalWrite(10,1);
            digitalWrite(11,1);
            _delay(0.05);
        }
        for(int __i__=0;__i__<3;++__i__)
        {
      
            digitalWrite(7,0);
            digitalWrite(8,0);
            digitalWrite(9,0);
            digitalWrite(10,0);
            digitalWrite(11,0);
     
            _delay(0.5);
         
            digitalWrite(7,1);
            digitalWrite(8,1);
            digitalWrite(9,1);
            digitalWrite(10,1);
            digitalWrite(11,1);
            _delay(0.5);
        }
    }
    _delay(3);
    for(int __i__=0;__i__<4;++__i__)
    {
    
        _delay(0.03);
        digitalWrite(11,1);
        _delay(0.03);
        digitalWrite(10,1);
        _delay(0.03);
        digitalWrite(9,1);
        _delay(0.03);
        digitalWrite(8,1);
        _delay(0.03);
        digitalWrite(7,1);
        _delay(0.03);

        digitalWrite(7,0);
        digitalWrite(8,0);
        digitalWrite(9,0);
        digitalWrite(10,0);
        digitalWrite(11,0);

        _delay(0.3);
  
        digitalWrite(7,1);
        _delay(0.03);
        digitalWrite(8,1);
        _delay(0.03);
        digitalWrite(9,1);
        _delay(0.03);
        digitalWrite(10,1);
        _delay(0.03);
        digitalWrite(11,1);
    
        _delay(0.3);

        digitalWrite(7,0);
        digitalWrite(8,0);
        digitalWrite(9,0);
        digitalWrite(10,0);
        digitalWrite(11,0);
  
    }
    for(int __i__=0;__i__<3;++__i__)
    {

        digitalWrite(7,1);
        _delay(0.2);
        digitalWrite(7,0);
        digitalWrite(8,1);
        _delay(0.2);
        digitalWrite(8,0);
        digitalWrite(9,1);
        _delay(0.2);
        digitalWrite(9,0);
        digitalWrite(10,1);
        _delay(0.2);
        digitalWrite(10,0);
        digitalWrite(11,1);
        _delay(0.2);
        digitalWrite(11,0);
 
        digitalWrite(11,1);
        _delay(0.2);
        digitalWrite(11,0);
        digitalWrite(10,1);
        _delay(0.2);
        digitalWrite(10,0);
        digitalWrite(9,1);
        _delay(0.2);
        digitalWrite(9,0);
        digitalWrite(8,1);
        _delay(0.2);
        digitalWrite(8,0);
        digitalWrite(7,1);
        _delay(0.2);
        digitalWrite(7,0);
          _delay(0.2);
    }
    _loop();
}

void _delay(float seconds){
    long endTime = millis() + seconds * 1000;
    while(millis() < endTime)_loop();
}

void _loop(){
}
  





7 Mart 2021 Pazar

Seri Port ile LEDLERİ Kontrol Ediyoruz.

 Sevgili Öğrenciler,

Arduino robotik setinizle aşağıdaki devre şemasını kurup kodları da Arduino programında yazarak  SERİ PORT ile LEDLERİN Kontrolünü yapıyoruz.

Bu projemizde 3 farklı renkte LED kullanarak bunların birinin renginin ingilizcesini seri portta komut olarak yazarak LEDİ yakıyoruz. 4 pinli RGB lediniz mevcutsa benzer şekilde bağlantıları revize edebilirsiniz.

Başarılar!