Elektrik Elektronik Teknolojisi Alanı Temrinleri

 
Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.

Kullanıcı adınızı, şifrenizi ve aktif kalma süresini giriniz

İletileri Göster

Bu özellik size üyenin attığı tüm iletileri gösterme olanağı sağlayacaktır . Not sadece size izin verilen bölümlerdeki iletilerini görebilirsiniz


Mesajlar - Hasan ERTÜRK

Sayfa: 1 ... 31 32 [33] 34 35 ... 45
481
Arduino Genel / 9. Fritzing İle Devre Tasarımı
« : 05 Temmuz 2015, 12:59:24 »
Fritzing, Arduino ve diğer elektronik tabanlı projelerde prototipten üretime geçerken üretim maliyetlerini azaltmayı ve çıkabilecek fiziksel sorunları en aza indirgemeyi amaçlayan açık kaynak kodlu bir devre tasarım programıdır. İndirmek için şağıdaki resime tıklayınız.



Fritzing, açık kaynak kodlu bir devre tasarım programıdır. Projeleriniz üretime geçmeden önce prototip hazırlamakta kullanılabilir. Linux, Windows, Mac OS X işletim sistemlerinde çalışabilen program, Arduino ve diğer elektronik tabanlı projelerde prototipten üretime geçerken üretim maliyetlerini azaltmayı ve ortaya çıkabilecek fiziksel sorunları en aza indirmeyi amaçlamaktadır.

Programın arayüzü kullanmayı çok basit kılan bir tasarıma sahiptir. Diğer elektronik programlarda olduğu gibi sürükle-bırak mantığı ile malzemeleri proje alanına yerleştiriyorsunuz ve bir breadboard üzerinde kablo yardımıyla malzemeleri birbirine bağlıyorsunuz. Eğer hatalı bir bağlantı yaparsanız program sizi renklerle (görsel olarak) uyarıyor. Bunun yanısıra isterseniz “Breadboard-Schematic-PCB” menüsü ile 3 tür proje görüntüsü arasında geçiş yapabiliyorsunuz. Yani program size şema ve baskı devre çıkarmanız için de yardımcı oluyor. Tabi ki profesyonel bir şekilde çıkaramıyor ama, siz progrtamın devreyi düzenlemesinde biraz yardımcı olursanız program size hiç de hafife alınmayacak seçenekler sunabiliyor. Tüm bunlara ek olarak sonucu PDF’ye aktararak daha sonra herhangi bir yazıcıdan asetata, kağıda vs.. çıktı almanızı mümkün kılıyor.

Programın en büyük eksiği simülasyon özelliğine sahip olmaması, ancak sağladığı Arduino , shield ve modül kütüphanesi desteği programı bu alanda çalışma yapanlar için oldukça kullanışlı hale getiriyor. Simülasyon oluşturma yönünde de çalışmaların olduğu ve yakın zamanda yeni versiyonlarda bu özelliğin kullanıcılara sunulabileceği söyleniyor.

Fritzing Programını İndirme ve Yükleme
Fritzing sitesi üzerinden işletim sisteminize uygun yükleme dosyasını seçip bilgisayarımıza indirerek başlayalım. Programı bilgisayarımıza yüklemek için sayfadaki yönergeleri izleyiniz. Tüm özellikleri aktif halde doğru bir yükleme yaparsanız, büyük parça kütüphaneleri de program içerisine eklenmiş olarak kurulum tamamlanacaktır. Teller, butonlar, dirençler gibi temel bileşenlerin yanı sıra, Arduino kartları ve sensörler de bu kütüphaneye dahil olarak size sunulmaktadır.

482
Led ve Buton uygulamaları / 5. Led ateş efekti
« : 05 Temmuz 2015, 00:22:13 »
Arduino ile yapılabilecek enteresan projelerden biri de ledlere yanma efekti verdirmedir. Burada mevcud olan 10 lede random değerler verdirilerek yanma efekti oluşturulur.
<iframe width="640" height="385" src="//www.youtube.com/embed/_whfpuDTNX0?fs=1&start=" frameborder="0" allowfullscreen></iframe>     





Arduino kodu:
Kod: [Seç]
int ledPin1 = 4;
int ledPin2 = 5;
int ledPin3 = 6;
int ledPin4 = 7;
int ledPin5 = 8;
int ledPin6 = 9;
int ledPin7 = 10;
int ledPin8 = 11;
int ledPin9 = 12;
int ledPin10 = 13;
void setup()
{
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
pinMode(ledPin4, OUTPUT);
pinMode(ledPin5, OUTPUT);
pinMode(ledPin6, OUTPUT);
pinMode(ledPin7, OUTPUT);
pinMode(ledPin8, OUTPUT);
pinMode(ledPin9, OUTPUT);
pinMode(ledPin10, OUTPUT);
}
void loop()
{
analogWrite(ledPin1, random(120)+350);
analogWrite(ledPin2, random(120)+350);
analogWrite(ledPin3, random(120)+350);
analogWrite(ledPin4, random(120)+350);
analogWrite(ledPin5, random(120)+350);
analogWrite(ledPin6, random(120)+350);
analogWrite(ledPin7, random(120)+350);
analogWrite(ledPin8, random(120)+350);
analogWrite(ledPin9, random(120)+350);
analogWrite(ledPin10, random(120)+350);
delay(random(100));
}

483
Arduino Genel / 21. Processinge android modunun eklenmesi
« : 30 Haziran 2015, 01:21:16 »
Processing ile android programları yazabilmek için processinge android modunu eklemek gerekiyor.
Bunun için aşağıdaki işlem basamaklarını sırayla uygulayınız:
1. Konu ekindeki AndroidMode.zip dosyasının içinden çıkan AndroidMode isimli klasörü C:/ Kullanıcılar/Siz/Belgelerim/Processing/modes/ dizinine ekleyin.

2. Processing programını çalıştırın. programın açılışında android-sdk dizinin nerede olduğunu soracaktır. C:\Users\siz\AppData\Local\Android dizinini gösterdiğinizde android modunu eklemiş oluyoruz.


484
Arduino Genel / 8. Android SDK Kurulumu
« : 29 Haziran 2015, 13:09:31 »
Arduino ve Android uygulama geliştirmeye başlamak için aşağıdaki 2 uygulamayı bilgisayarımıza kurmamız gerekiyor.

1. Java SE Development Kit(JDK)

İlk olarak, eğer daha önce yüklemediyseniz, Java SE Development Kit(JDK)’i yüklemeniz gerekmektedir. Aşağıdaki linklerden, gerekli yazılımın bilgisayarınıza uygun sürümünü seçerek indirip yükleyebilirsiniz. Android uygulamalar, Java kullanılarak yazıldığı için bu yüklemeyi yapmanız gerekmektedir.

Windows ve diğerleri için:  JDK


2. Eclipse ve Android SDK

Önceden Android’in resmi sitesinde (http://developer.android.com/) Android SDK’nın yanında geliştirme ortamı olarak Eclipse yer alırdı. Ama artık, Android Studio yer alıyor. Aşağıdaki linklerden Eclipse ve Android SDK’yı bulunduran dosyayı indirebilirsiniz.

Windows için: http://developer.android.com/sdk/installing/index.html?pkg=tools

485
Bu dersimizde foto direncin üzerine düşen ışığın şiddetine göre 10 adet ledi yakıp söndüreceğiz. Farklı ışık şiddeti değerlerinde arduino çıkışlarındaki ledlerden sadece biri ışık vermektedir. Kullandığınız ldrnin direnç değişimine göre ldrye seri bağlı olan direncin değerini deneme yanılma ile kendiniz belirleyiniz. Ben 220 kiloohm kullandım. 123d.circuits.io simülasyonında 1k direnç değerinde simüle yapılabildi.

LDRnin üzerine düşen ışığın şiddetine göre arduinonun 1 nolu analog girişine uygulanan gerilim 0 Volt ile 5 Volt arasında değişmektedir. Arduino programı bu gerilim değişikliklerini değerlendirerek hangi dijital çıkışın aktif olacağına karar vermekte ve o çıkıştaki ledin yanmasını sağlamaktadır. Bu mantıkla her ışık şiddetine karşılık gelen bir dijital veri elde etmiş oluyoruz. Bu dijital veriyi de birçok arduino projesinde kullanabiliriz.

Arduino kodları:
Kod: [Seç]
/* ========================================================
    Project : Photo resistor (Light dependent resistor) and LEDs
     Author : ScottC
    Created : 23rd May 2011
Description : Use a photo resistor to create an LED animation.
============================================================
*/

//Define the analog pin the photo resistor is connected to (A0)
int photoRPin = 0;   

void setup() {
    //initialise the LED Pins as OUTPUTS
    for (int i=4; i<14; i++){
      pinMode (i, OUTPUT);
    }
}

void loop(){
    //Turn off all the LEDs before continuing
    for (int i=4; i<14; i++){
      digitalWrite(i, LOW);
    }
   
 /* Read the light level:
     Adjust the analog reading values ranging from 120 to 600
     to span a range of 4 to 13. The analog reading of 120
     is when there is maximum resistance, and the value of 600
     is when there is minimum resistance. These analog readings
     may vary from photo resistor to photo resistor, and therefor
     you may need to adjust these values to suit your particular
     LDR. */
    int photoRead = map(analogRead(photoRPin), 120, 600, 4, 13);
   
    /* Make sure the value of photoRead does not go beyond the values
      of 4 and 13 */
    int ledPin = constrain(photoRead, 4, 13);
   
    /* Turn the LED on for a fraction of a second */
    digitalWrite(ledPin, HIGH);
    delay(10);
    digitalWrite(ledPin, LOW);
}
Devre şeması:


Deney borduna montajı:



123d.circuits.io simülasyonu:
<iframe width="640" height="385" src="//www.youtube.com/embed/tyyFxX_4kyU?fs=1&start=" frameborder="0" allowfullscreen></iframe>

Reel videosu:
<iframe width="640" height="385" src="//www.youtube.com/embed/e3nKqidq548?fs=1&start=" frameborder="0" allowfullscreen></iframe>

ISIS simülasyonu:
<iframe width="640" height="385" src="//www.youtube.com/embed/3NWbE1SbeHg?fs=1&start=" frameborder="0" allowfullscreen></iframe>

486
Bu dersimizde arduino ethernet shild kullanarak 2 adet röleyi internet tarayıcınız üzerinden açıp kapatma uygulaması yapacağız. Uygulamayı yapabilmek için öncelikle arduino programınıza weduino kütüphanesinin ekli olması gereklidir. Webduino kütüphanesi ekli değilse öncelikle webduino kütüphanesini ekleyiniz.

Arduino kodlarımız:
Kod: [Seç]
#include "SPI.h"
#include "Ethernet.h"
#include "WebServer.h"

#define RELAY1 8
#define RELAY2 9
static uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
boolean ROLE1Durum = false;
boolean ROLE2Durum = false;

static uint8_t ip[] = { 192, 168, 2, 55 };
#define ONEK ""
WebServer webserver(ONEK, 80);

/* Ana sayfa isteği geldiğinde çağırılacak fonksiyon */
void anaSayfa(WebServer &server, WebServer::ConnectionType baglantiTipi, char *, bool)
{

  server.httpSuccess();

  if (baglantiTipi != WebServer::HEAD)
  {
    LEDdurumlariniGoster(server);
  }
}

void ROLE1AcKomut(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
  server.httpSuccess();

  if (type != WebServer::HEAD)
  {
    digitalWrite(RELAY1,HIGH);
    LEDdurumlariniGoster(server);
  }
}

void ROLE1KapatKomut(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
  server.httpSuccess();

  if (type != WebServer::HEAD)
  {
    digitalWrite(RELAY1,LOW);   
    LEDdurumlariniGoster(server);
  }
}

void ROLE2AcKomut(WebServer &server, WebServer::ConnectionType type, char *, bool)
{
  server.httpSuccess();

  if (type != WebServer::HEAD)
  {
     digitalWrite(RELAY2,HIGH);   
     LEDdurumlariniGoster(server);
  }
}

void ROLE2KapatKomut(WebServer &server, WebServer::ConnectionType type, char * , bool)
{
  server.httpSuccess();

  if (type != WebServer::HEAD)
  {
    digitalWrite(RELAY2,LOW);
    LEDdurumlariniGoster(server);
  }
}

void LEDdurumlariniGoster(WebServer &server)
{
   /*
   P() makrosu ile string'leri RAM yerine program
   belleğine kaydedebiliyoruz. Server'a gönderirken de
   printP() fonksiyonunu kullanıyoruz
   */
    P(htmlHead) =
    "<html>"
    "<head>"
    "<title>Arduino Web Sunucusu</title>"
     "<link rel='stylesheet' type='text/css' href='http://temrinlerim.org/ethernet.css' />"
    "</head>"
    "<body>";
   
    server.printP(htmlHead);
    /*
    LED'lerin durumlarını yazdırıyoruz ve açma / kapama
    işlemleri için linkleri yazdırıyoruz
    */
    server.print("<h2>RELAY1:</h2>");
    if(digitalRead(RELAY1))
    {
server.print("AÇIK<BR /><BR />");
      server.println("<a href=\"ROLE1Kapat\"> KAPAT</a>");
    }
    else
    {
server.print("KAPALI<BR /><BR />");
      server.println("<a href=\"ROLE1Ac\"> AÇ</a>");
    }
    server.print("<h2>RELAY2:</h2>");
    if(digitalRead(RELAY2))
    {
server.print("AÇIK<BR /><BR />");
      server.println("<a href=\"ROLE2Kapat\"> KAPAT</a>");
    }
    else
    {
server.print("KAPALI<BR /><BR />");
      server.println("<a href=\"ROLE2Ac\"> AÇ</a>");
    }
}

void setup()
{
  // LED Pinlerini çıkış olarak ayarlıyoruz
  pinMode(RELAY1,OUTPUT);
  pinMode(RELAY2,OUTPUT);
  digitalWrite(RELAY1,LOW);
  digitalWrite(RELAY2,LOW);

  /* IP ve MAC adresi ile ethernet bağlantısını başlatıyoruz */
  Ethernet.begin(mac, ip);

  /* Web sunucuya gelen isteklere göre çağırılacak fonksiyonları listeye ekliyoruz */
 
  /* Varsayılan istek */
  webserver.setDefaultCommand(&anaSayfa);
  /* ana sayfa isteği geldiğinde */
  webserver.addCommand("index.html", &anaSayfa);
  /* Diğer istekler */
  webserver.addCommand("ROLE1Ac", &ROLE1AcKomut);
  webserver.addCommand("ROLE1Kapat", &ROLE1KapatKomut);
  webserver.addCommand("ROLE2Ac", &ROLE2AcKomut);
  webserver.addCommand("ROLE2Kapat", &ROLE2KapatKomut);

  /* Sunucuyu başlatıyoruz */
  webserver.begin();
}

void loop()
{
  char webserver_tampon[64];
  int boyut = 64;

  /* Sürekli olarak gelen istekleri işliyoruz */
  webserver.processConnection(webserver_tampon, &boyut);
}

ISIS Devre şeması:


ARES Baskı Devresi:


Tarayıcı arayüzü:


Devrenin bitmiş hali:




487
Arduino Genel / 7. Webduino kütüphanesinin eklenmesi
« : 25 Haziran 2015, 21:42:13 »
Arduino ile web sunucu işlemlerini yapabilmek için webduino kütüphanesini github.com sitesinden ya da konu ekinden indirip libraries klasörüne atılması gerekiyor. Bundan sonra kullandığınız tarayıcı arayüzleri ile internet üzerinden çalışan uygulamaları yapmaya başlayabilirsiniz.

488
Arduino kodları:
Kod: [Seç]
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 };

EthernetClient client;

void setup() {
  IPAddress ipaddr;
  Serial.begin(9600);
  // Bu kontrol Arduino Leonardo için gerekli
   while (!Serial) {
    ;
  }

  // Belirlenen MAC adresi ile ethernet bağlantısını başlatıyoruz
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Ethernet baglanti hatasi!");
    while(1); // Programı burada kilitliyoruz
  }
 
  ipaddr = Ethernet.localIP();
 
  Serial.print("IP Adresi: ");
  Serial.println(ipaddr);
 
}

void loop() {

}

Yukarıdaki kodlarla yeni bir proje oluşturup derliyoruz. Program çalıştırıldığında eğer otomatik ip atamasında bir sorun oluşmadıysa ethernet eklentisine verilen ip adresini serial motitörde görüntüleyebilirsiniz.


489
Uzaktan kontrol / 4. Arduino ethernet kütüphanesinin eklenmesi
« : 25 Haziran 2015, 20:20:48 »
Ethernet kütüphanesini arduinon.cc sitesinden ya da konu ekinden indiriniz. İndirdiğiniz kütüphane klasörünü Library klasörüne attıktan sonra IDE' yi çalıştırabilirsiniz.

490
Uzaktan kontrol / 3. Arduino Ethernet Shield
« : 25 Haziran 2015, 20:12:17 »


Arduino Ethernet Shield, Arduino platformları için hazırlanmış, ethernet üzerinden internete bağlanmanızı sağlar. Wiznet W5100 entegresini üzerinde barındıran bu kart hem TCP hem de UCP ile uyumludur. Arduino Ethernet Shield 4 eş zamanlı soket bağlantısını destekler. Shield üzerindeki standart RJ45 ethernet soketine ethernet kablosunu bağlayarak, Arduino ethernet kütüphanesi ile hızlı bir şekilde Arduino'yu internete bağlayabilirsiniz.

Kart üzerinde SD kart yuvası vardır. Bu sayede çeşitli bilgileri SD kart üzerine yazabilir ve okuyabilirsiniz. Bunun için Arduino Uno ve Mega ethernet kütüphanelerini kullanabilirsiniz.

Arduino, Ethernet Shield işlemcisi olan Wiznet W5100 ile ve SD kart SPI hattı üzerinden haberleşmektedir. Bu pinler UNO'da 11,12 ve 13, MEGA'da 50,51 ve 52. pinlerdir. Her iki modelde de 10. pin W5100'ün, 4. pin ise SD kartın seçim pinidir. Bu pinler genel giriş çıkış pini olarak kullanılmazlar. Arduino MEGA'da donanımsal SS pini (53. pin) SD kart yada W5100 için kullanılmamaktadır. Fakat bu pin mutlaka çıkış pini olarak ayarlanmalıdır.

MAC Adresi Bulma:
Arduino ethernet kartları versiyonuna göre iki farklı Mac adresi ile gelebiliyor. Bu Mac adresleri:  0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 veya 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED şeklindedir. Doğru Mac adresini bulmak için Arduino ethernet kütüphanesindeki DHCPAddressPrinter kodunu kullanabilirsiniz. Ethernet kartına ethernet kablosunu taktıktan sonra koddaki Mac adresini düzenleyerek Arduino' ya kodu atınız. Serial Monitor' ü açıp bir süre bekledikten sonra ethernet kartının modeminizden aldığı İP adresi ekrana gelmesi gerekmektedir. Eğer "Failed to configure Ethernet using DHCP" uyarısını alırsanız diğer Mac adresini yazıp tekrar deneyiniz. Sorunsuz çalışması gerekmektedir. Eğer hala çalışmıyorsa ağınızda Mac filtreleme olmadığına emin olunuz.

491
Arduino ve LM35 sıcaklık sensörü ile yapacağımız bu uygulamada ortam sıcaklığını bilgisayarımızda kayıt altına altına alacağız. Sistem ortam sıcaklığını 5'şer saniye aralıklarla ölçmekte ve kayıt altına almaktadır.

Kayıt ekranını görüntülemek için arduino programında araçlar menüsünden seri port ekranını açınız.

Devre şeması:


Ekran alıntısı:


Arduino kodları:
Kod: [Seç]
//initializes/defines the output pin of the LM35 temperature sensor
int outputpin= 0;
//this sets the ground pin to LOW and the input voltage pin to high
void setup()
{
Serial.begin(9600);
}

//main loop
void loop()
{
int rawvoltage= analogRead(outputpin);
float millivolts= (rawvoltage/1024.0) * 5000;
float celsius= millivolts/10;
Serial.print(celsius);
Serial.print(" degrees Celsius, ");

Serial.print((celsius * 9)/5 + 32);
Serial.println(" degrees Fahrenheit");
delay(5000);

}

492
Röle uygulamaları / 3. Arduino ile rölenin on off kontrolü
« : 20 Haziran 2015, 18:34:22 »
Butona basıldığında röle çeker. Butona tekrar basıldığında röle bırakır.


Arduino kodu:
Kod: [Seç]
/* sketch
turn on a fan using a relay and a button
*/
int pinButton = 8;
int Relay = 2;
int stateRelay = LOW;
int stateButton;
int previous = LOW;
long time = 0;
long debounce = 500;
 
void setup() {
  pinMode(pinButton, INPUT);
  pinMode(Relay, OUTPUT);
}
 
void loop() {
  stateButton = digitalRead(pinButton); 
  if(stateButton == HIGH && previous == LOW && millis() - time > debounce) {
    if(stateRelay == HIGH){
      stateRelay = LOW;
    } else {
       stateRelay = HIGH;
    }
    time = millis();
  }
  digitalWrite(Relay, stateRelay);
  previous == stateButton;
}

493
Röle uygulamaları / 2. Arduino ile turn-off zamanlayıcı
« : 20 Haziran 2015, 18:15:15 »
Butona basıldığında lamba 5 sn süre ile yanar ve kendiliğinden söner.

Arduino kodu:
Kod: [Seç]
int pinButton = 8;
int Relay = 2;
int stateRelay = LOW;
int stateButton;
int previous = LOW;
long time = 0;
long debounce = 500;
int stayON = 5000; //stay on for 5000 ms
 
void setup() {
  pinMode(pinButton, INPUT);
  pinMode(Relay, OUTPUT);
}
 
void loop() {
  stateButton = digitalRead(pinButton); 
  if(stateButton == HIGH && previous == LOW && millis() - time > debounce) {
    if(stateRelay == HIGH){
      digitalWrite(Relay, LOW);
    } else {
       digitalWrite(Relay, HIGH);
       delay(stayON);
       digitalWrite(Relay, LOW);
    }
    time = millis();
  }
  previous == stateButton;
}

494
Bu konumuzda arduino üzerinden usb ile 8 röleyi aç kapa yapabilen bir shild tasarlayıp çalıştıracağız.

Devrenin bitmiş hali:


ISIS Devre şeması:


ARES Baskı devresi



ARES animasyon:



Processing kodu:
Kod: [Seç]
import controlP5.*;
import processing.serial.*;
ControlP5 cp5;
Serial seriPort;
void setup() {
  size(400, 100);
  cp5 = new ControlP5(this); // Kontrol nesnesini oluştur
  seriPort = new Serial(this, "COM9", 9600); //seri port nesnesini oluştur
  // Toggle Nesnelerini oluşturuyoruz
  cp5.addToggle("relay1") // Röle1 ismini veriyoruz
    .setPosition(10, 40) // nesnenin konumu
      .setSize(30, 15) // nesnenin boyutu (en,boy)
        .setValue(false) // başlangıç durumu (false)
          .setMode(ControlP5.SWITCH) // anahtar görünümü
            ;

  cp5.addToggle("relay2")
    .setPosition(60, 40)
      .setSize(30, 15)
        .setValue(false)
          .setMode(ControlP5.SWITCH)
            ;

  cp5.addToggle("relay3")
    .setPosition(110, 40)
      .setSize(30, 15)
        .setValue(false)
          .setMode(ControlP5.SWITCH)
            ;

  cp5.addToggle("relay4")
    .setPosition(160, 40)
      .setSize(30, 15)
        .setValue(false)
          .setMode(ControlP5.SWITCH)
            ;

  cp5.addToggle("relay5")
    .setPosition(210, 40)
      .setSize(30, 15)
        .setValue(false)
          .setMode(ControlP5.SWITCH)
            ;
  cp5.addToggle("relay6")
    .setPosition(260, 40)
      .setSize(30, 15)
        .setValue(false)
          .setMode(ControlP5.SWITCH)
            ;       
  cp5.addToggle("relay7")
    .setPosition(310, 40)
      .setSize(30, 15)
        .setValue(false)
          .setMode(ControlP5.SWITCH)
            ; 
  cp5.addToggle("relay8")
    .setPosition(360, 40)
      .setSize(30, 15)
        .setValue(false)
          .setMode(ControlP5.SWITCH)
            ;   
  background(0); //arkaplan siyah
}

void draw() {
}
void relay1(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('A');
    println("Röle 1 çekti");
  }
  else {
    seriPort.write('B');
    println("Röle 1 bıraktı");
  }
}

void relay2(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('C');
    println("Röle 2 çekti");
  }
  else {
    seriPort.write('D');
    println("Röle 2 bıraktı");
  }
}

void relay3(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('E');
    println("Röle 3 çekti");
  }
  else {
    seriPort.write('F');
    println("Röle 3 bıraktı");
  }
}

void relay4(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('G');
    println("Röle 4 çekti");
  }
  else {
    seriPort.write('H');
    println("Röle 4 bıraktı");
  }
}
void relay5(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('I');
    println("Röle 5 çekti");
  }
  else {
    seriPort.write('K');
    println("Röle 5 bıraktı");
  }
}
void relay6(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('L');
    println("Röle 6 çekti");
  }
  else {
    seriPort.write('M');
    println("Röle 6 bıraktı");
  }
}
void relay7(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('N');
    println("Röle 7 çekti");
  }
  else {
    seriPort.write('O');
    println("Röle 7 bıraktı");
  }
}
void relay8(boolean bayrak) {
  if (bayrak==true) {
    seriPort.write('P');
    println("Röle 8 çekti");
  }
  else {
    seriPort.write('R');
    println("Röle 8 bıraktı");
  }
}


Arduino kodu:
Kod: [Seç]
int relay[] = {
 6,7,8,9,10,11,12,13};
char gelenVeri;
void setup()
{
  pinMode(relay[0],OUTPUT);
  pinMode(relay[1],OUTPUT);
  pinMode(relay[2],OUTPUT);
  pinMode(relay[3],OUTPUT);
  pinMode(relay[4],OUTPUT);
  pinMode(relay[5],OUTPUT);
  pinMode(relay[6],OUTPUT);
  pinMode(relay[7],OUTPUT);

  Serial.begin(9600);
}

void loop()
{
  while(Serial.available()>0)
  {
    gelenVeri = Serial.read();
    switch(gelenVeri)
    {
    case 'A':
      digitalWrite(relay[0],HIGH);
      break;
    case 'B':
      digitalWrite(relay[0],LOW);
      break;
    case 'C':
      digitalWrite(relay[1],HIGH);
      break;
    case 'D':
      digitalWrite(relay[1],LOW);
      break;
    case 'E':
      digitalWrite(relay[2],HIGH);
      break;
    case 'F':
      digitalWrite(relay[2],LOW);
      break;
    case 'G':
      digitalWrite(relay[3],HIGH);
      break;
    case 'H':
      digitalWrite(relay[3],LOW);

    case 'I':
      digitalWrite(relay[4],HIGH);
      break;
    case 'K':
      digitalWrite(relay[4],LOW);

    case 'L':
      digitalWrite(relay[5],HIGH);
      break;
    case 'M':
      digitalWrite(relay[5],LOW);
    case 'N':
      digitalWrite(relay[6],HIGH);
      break;
    case 'O':
      digitalWrite(relay[6],LOW);
    case 'P':
      digitalWrite(relay[7],HIGH);
      break;
    case 'R':
      digitalWrite(relay[7],LOW);     

    }
  }
}




495
Arduino Genel / 5. Arese arduino uno3 shild paketi eklemek
« : 16 Haziran 2015, 03:10:42 »
Ekteki ares dosyası ile proteus ares programına taslak arduino uno3 shild paketi ekleyebilirsiniz.

Sayfa: 1 ... 31 32 [33] 34 35 ... 45