Matlabtan Arduinoya Veri Gönderme

 



Matlabtan Arduinoya Veri Gönderme



Arduino Kodu



Matlab Kodu



Arduino Kodu:

*******
int gelen_veri=0;
void setup() {
pinMode(13,OUTPUT);
Serial.begin(9600);
}

void loop() {
  
if (Serial.available() > 0) 
gelen_veri = Serial.read();

if(gelen_veri=='1')
{
  digitalWrite(13,HIGH);
}

if(gelen_veri=='2')
{
 digitalWrite(13,LOW);
}
}
}

*******
Matlabtan gelen verinin okuna bilmesi için int formatında gelen veri tanımlanır. Yerleşik led olan 13 numaralı pin output olarak tanımlanır. Seri haberleşme için BaudRate 9600 olarak tanımlanır. Döngünün içerindeki ilk if matlabtan bir verinin gelip gelmediğini kontrol eder. Eğer veri gelirse o zaman Serial.read komutuyla gelen veri okunur. Bu gelen veri 1 ise ledi yakar,2 ise ledi söndürür.


                                                    Matlab Kodu:
*******
    a=serial('COM6','BaudRate',9600); %arduinoyu a olarak tanımlıyoruz.
    pause(1) % 1 saniye bekleme.
    fopen(a); %arduinoyu başlatma komutu.
        
     while(1)  % döngünün sürekli olması için girilmiştir.
         deger=input("deger giriniz"); % matlabtan deger girmek için tanımlanıyoruz.
         fwrite(a,deger); % girilen değeri arduinoya gönderiyoruz.
     end

 *******
 Matlabtan arduinoyu seri haberleştirme bilmek için arduinonun hangi COM portuna takılıysa onu yazmanız gerekmektedir. Benim bilgisayarım COM6 ya takılıydı o yüzden COM6 yazdım. Sizde ne ise onu yazmalısınız. Arduinonun haberleşme BaudRate 9600 seçtiğim için burda da BaudRate 9600 olarak tanımladım. pause komutuyla 1 sn bekleme koydum açması bende biraz sürüyordu o yüzden. fopen fonksiyonuylada arduinoyu başlatır. Sürekli çalışmasını istediğim için while döngüsünü 1 yaptım. Siz istediğiniz gibi değiştirebilirsiniz. Klavyeden istediğim değerleri girebileyim diye input komutu ataması yaptım. 1 veya 2 girdiğinizde bu değeri fwrite diyerek arduinoya gönderir. Arduinoda bu gelen değerlere göre çıkış sağlar.
       

Tinkercad'te Buton ile Led Yakma

Buton nedir?
Buton nasıl çalışır?
Buton ile anahtar arasındaki fark nedir?
Buton nasıl kodlanır?
Buton kontrolü nasıl yapılır?
Digital portlardan nasıl okuma yapılır?
Değişkenlere neden ihtiyaç vardır?
Değişken nasıl oluşturulur?
Seri monitöre nasıl yazı yazdrılır?
Değişkenleri seri monitöre nasıl yazdırılır?


Tinkercad'te Pille ve Arduino ile Led Kontrolü


Tinkercadte led kullanımı,
Tinkercadte direnç kullanımı,
Tinkercadte pil kullanımı,
Tinkercadte arduino kullanımı,

Tinkercadte blink ve digital portlardan digital çıkış kullanımı.








Tinkercade Giriş

Tinkercadte neler yapılır,
Tinkercade nasıl kayıt olunur,

Tinkercadte sınıf nasıl oluşturulur,

Tinkercadte oluşturulan sınıfa öğrenciler nasıl davet edilir,

Tinkercadte devre nasıl oluşturulur ve

Tinkercadte arduino ile kodlamaya giriş.





L298N Motor Sürücü

L298N Motor Sürücü


Bağlantı  Şeması 
Örnek Kodu

int motor_sag1=11;
int motor_sag2=12;
int motor_so11=9;
int motor_so12=8;

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

void loop() {
 ileri();
 delay(1000);
 geri();
 delay(1000);
 sag_don();
 delay(1000);
 sol_don();
 delay(1000);
}
void ileri(){
  digitalWrite(11,HIGH);
  digitalWrite(12,LOW);
  digitalWrite(9,HIGH);
  digitalWrite(8,LOW);
  }
 void geri(){
  digitalWrite(12,HIGH);
  digitalWrite(11,LOW);
  digitalWrite(8,HIGH);
  digitalWrite(9,LOW);
  }
  void sag_don(){
  digitalWrite(11,LOW);
  digitalWrite(12,LOW);
  digitalWrite(9,HIGH);
  digitalWrite(8,LOW);
    }
  void sol_don(){
  digitalWrite(11,HIGH);
  digitalWrite(12,LOW);
  digitalWrite(9,LOW);
  digitalWrite(8,LOW);
    }

QTR 8 RC Kızılötesi Sensör

QTR 8RC Kızıl Ötesi Sensör



Bağlantı Şeması

Kullanımına ilişkin örnek kod
int s1=0;
int s2=0;
int s3=0;
int s4=0;
int s5=0;
int s6=0;
int s7=0;
int s8=0;
String out="s1 s2 s3 s4 s5 s6 s7 s8";
int m1=10;
int m2=11;

void setup() {
pinMode(2,INPUT);
pinMode(3,INPUT);
pinMode(4,INPUT);
pinMode(5,INPUT);
pinMode(6,INPUT);
pinMode(7,INPUT);
pinMode(8,INPUT);
pinMode(9,INPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
Serial.begin(9600);
}
void loop() {
s1=digitalRead(2);
s2=digitalRead(3);
s3=digitalRead(4);
s4=digitalRead(5);
s5=digitalRead(6);
s6=digitalRead(7);
s7=digitalRead(8);
s8=digitalRead(9);
Serial.print(out);
Serial.println(s1);
Serial.print(s2);
Serial.print(s3);
Serial.print(s4);
Serial.print(s5);
Serial.print(s6);
Serial.print(s7);
Serial.println(s8);
}