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 ... 32 33 [34] 35 36 ... 45
496
« : 25 Haziran 2015, 21:10:15 »
Arduino kodları:#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.
497
« : 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.
498
« : 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.
499
« : 20 Haziran 2015, 23:41:01 »
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ı://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);
}
500
« : 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:/* 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; }
501
« : 20 Haziran 2015, 18:15:15 »
Butona basıldığında lamba 5 sn süre ile yanar ve kendiliğinden söner. Arduino kodu: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; }
502
« : 16 Haziran 2015, 17:31:35 »
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ı devresiARES animasyon:Processing kodu: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: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);
} } }
503
« : 16 Haziran 2015, 03:10:42 »
Ekteki ares dosyası ile proteus ares programına taslak arduino uno3 shild paketi ekleyebilirsiniz.
504
« : 16 Haziran 2015, 02:45:14 »
Arduinonun Uno ve Mega Modelleri ile yapacağınız çalışmalarda devreyi bilgisayar ortamında simüle ederek gözlemlemek için aşağıdaki işlem basamaklarını sırayla uygulayarak sonuca ulaşabilirsiniz. 1. Ekteki sıkıştırılmış klasörden çıkan ARDUINO.LIB isimli dosyayı C:\Program Files\Labcenter Electronics\Proteus 7 Professional\LIBRARY dizinine taşıyınız. 2. Artık proteosu açıp P butonuna basıp arama kutusuna arduino yazınca arduino modelleri listelenecektir. Buradan çalışma sayfanıza arduinoyu ekleyebilirsiniz. 3. Daha sonra isis programında aşağıda görüldüğü gibi arduino ile bir flaşör led devresi çizelim. 4. Sıra geldi arduino programını yazmaya. Kodlarımız: void setup() { // Burada 13. dijital pini cikis olarak atiyoruz. pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // 13. pindeki ledi yaktik delay(200); // 200 ms bekle digitalWrite(13, LOW); // 13. pindeki ledi sondurduk delay(200); // 200 ms bekle } 5. Şimdi de isise programa ait hex dosyasının yolunu göstermeye. Aşağıdaki resimde görüldüğü gibi dosya menüsünde tercihlere tıklayarak açılan pencerede 2 kutucuğa tık koyup programı derliyoruz. 6. Program derlendikten sonra hex dosyasının konumu program penceresinin altındaki açıklama bölümünde görünecektir. Bu yolu koplayıp dosyamıza ulaşıyoruz ve masa üstüne kopyalıyoruz. 7. isis programında arduinoya çift tıklayıp masa üstünden hex dosyamızı çağırdığımızda devremiz simülasyona hazır hale geliyor.
505
« : 13 Haziran 2015, 21:01:40 »
Devre Bağlantısı: Arduino kodu: /* This program was created by ScottC on 9/5/2012 to receive serial signals from a computer to turn on/off 1-9 LEDs */
void setup() { // initialize the digital pins as an output. pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); // Turn the Serial Protocol ON Serial.begin(9600); }
void loop() { byte byteRead;
/* check if data has been sent from the computer: */ if (Serial.available()) { /* read the most recent byte */ byteRead = Serial.read(); //You have to subtract '0' from the read Byte to convert from text to a number. byteRead=byteRead-'0'; //Turn off all LEDS for(int i=2; i<11; i++){ digitalWrite(i, LOW); } if(byteRead>0){ //Turn on the relevant LEDs for(int i=1; i<(byteRead+1); i++){ digitalWrite(i+1, HIGH); } } } } Processing kodu: //Created by ScottC on 12/05/2012 to send mouse coordinates to Arduino
import processing.serial.*;
// Global variables int new_sX, old_sX; int nX, nY; Serial myPort;
// Setup the Processing Canvas void setup(){ size( 800, 400 ); strokeWeight( 10 ); //Open the serial port for communication with the Arduino //Make sure the COM port is correct myPort = new Serial(this, "COM9", 9600); myPort.bufferUntil('\n'); }
// Draw the Window on the computer screen void draw(){ // Fill canvas grey background( 100 ); // Set the stroke colour to white stroke(255); // Draw a circle at the mouse location ellipse( nX, nY, 10, 10 );
//Draw Line from the top of the page to the bottom of the page //in line with the mouse. line(nX,0,nX,height); }
// Get the new mouse location and send it to the arduino void mouseMoved(){ nX = mouseX; nY = mouseY; //map the mouse x coordinates to the LEDs on the Arduino. new_sX=(int)map(nX,0,800,0,10);
if(new_sX==old_sX){ //do nothing } else { //only send values to the Arduino when the new X coordinates are different. old_sX = new_sX; myPort.write(""+new_sX); } }
506
« : 11 Haziran 2015, 20:07:51 »
Processing arayüzünü kullanarak tüm renkleri tek led ile elde edebiliyoruz. Devre Şeması:Processing kodu:/** * Processing Örneği - 4 * Processing ver ControlP5 Kütüphanesi ile * RGB LED Kontrolü */
import controlP5.*; import processing.serial.*;
ControlP5 controlP5; Serial seriPort; ColorPicker cp; // Renj seçim nesnesi
int kirmiziDeger; int yesilDeger; int maviDeger;
void setup() { size(400, 100); controlP5 = new ControlP5(this); cp = controlP5.addColorPicker("renkSecici", 0, 0, 255, 20); seriPort = new Serial(this, "COM7", 9600); }
void draw() { background(cp.getColorValue()); // Arka plan rengini değiştir /* Renk seçici nesnesindek rengin kırmızı,yeşil ve mavi bileşenlerini ayırıp ilgili değişkenlere atıyoruz */ kirmiziDeger = int(red(cp.getColorValue())); yesilDeger = int(green(cp.getColorValue())); maviDeger = int(blue(cp.getColorValue())); delay(50); }
/* Renk seçideki değerler değiştiğinde otomatik olarak çağırılan fonksiyon ile renk değerlerini konsola yazdırıyoruz */ void renkSecici(int renk) { println("KIRMIZI "+kirmiziDeger + " YESIL "+yesilDeger + " MAVI "+maviDeger); RenkGonder(); }
/* Renk değerleri, önce R karakter sonrasında kırmızı,yeşil,mavi sırasıyla gönderiliyor */ void RenkGonder() { seriPort.write('R'); seriPort.write(kirmiziDeger); seriPort.write(yesilDeger); seriPort.write(maviDeger); }
Arduino kodu:/* * Processing Örneği - 4 * Processing ver ControlP5 Kütüphanesi ile * RGB LED Kontrolü */
// LED bağlantı pinleri const int kirmiziPin = 11; // kırmızı const int yesilPin = 10; // yeşil const int maviPin = 9; // mavi
int kirmizi=0, yesil=0, mavi=0; // renk değerleri int durum = 1; // gelen verileri işlemede kullanılacak byte gelen = 0;
void setup() { Serial.begin(9600);
}
void loop() { while(Serial.available()>0) { /* Gelen veriler işleniyor R karakteri geldikten sonra sırasıyla kirmizi,yeşil ve mavi baytları okunuyor. */ gelen = Serial.read(); switch(durum) { case 1: if(gelen == 'R'){ durum = 2; } break;
case 2: kirmizi = gelen; durum = 3; break;
case 3: yesil = gelen; durum = 4; break;
case 4: mavi = gelen; durum = 1; break; } }
// Ortak anot için analogWrite(kirmiziPin, 255 - kirmizi); analogWrite(yesilPin, 255 - yesil); analogWrite(maviPin, 255 - mavi);
// Ortak katot için /* analogWrite(rpin, r); analogWrite(gpin, g); analogWrite(bpin, b); */ delay(20); }
Bu konu Coşkun TAŞDEMİR'in Arduino Uygula Kitabındaki örneklerden faydalanarak hazırlanmıştır. Kendisine vermiş olduğu emek için buradan teşekkür ederiz. Kitabı satın alarak daha geniş bilgiye sahip olabilirsiniz.
507
« : 11 Haziran 2015, 00:00:43 »
Devre şeması: Program arayüzü:Processing kodu:import controlP5.*;
/* Processing Örneği - 3 Processing ile Seriport üzerinden LED Kontrolü 4 toggle nesnesi ile Arduino'ya bağlı olan 4 adet LED kontrol ediliyor ControlP5 kütüphanesindeki Toggle kontrolleri kullanılıyor */
import controlP5.*; import processing.serial.*;
ControlP5 cp5; Serial seriPort;
void setup() { size(420, 100);
cp5 = new ControlP5(this); // Kontrol nesnesini oluştur seriPort = new Serial(this, "COM2", 9600); //seri port nesnesini oluştur
// Toggle Nesnelerini oluşturuyoruz cp5.addToggle("led1") // led1 ismini veriyoruz .setPosition(40, 40) // nesnenin konumu .setSize(50, 20) // nesnenin boyutu (en,boy) .setValue(false) // başlangıç durumu (false) .setMode(ControlP5.SWITCH) // anahtar görünümü ;
cp5.addToggle("led2") .setPosition(140, 40) .setSize(50, 20) .setValue(false) .setMode(ControlP5.SWITCH) ;
cp5.addToggle("led3") .setPosition(240, 40) .setSize(50, 20) .setValue(false) .setMode(ControlP5.SWITCH) ;
cp5.addToggle("led4") .setPosition(340, 40) .setSize(50, 20) .setValue(false) .setMode(ControlP5.SWITCH) ;
cp5.addToggle("led5") .setPosition(440, 40) .setSize(50, 20) .setValue(false) .setMode(ControlP5.SWITCH) ; background(0); //arkaplan siyah }
void draw() { } /* led1 toggle nesnesin tıklandığında çağırılacak olan fonksiyon gelen bayrağın durumuna göre (true / false) ilgili veri seri haberleşme üzerinden gönderiliyor */ void led1(boolean bayrak) { if (bayrak==true) { seriPort.write('A'); println("LED-1 yakıldı"); } else { seriPort.write('B'); println("LED-1 söndürüldü"); } }
void led2(boolean bayrak) { if (bayrak==true) { seriPort.write('C'); println("LED-2 yakıldı"); } else { seriPort.write('D'); println("LED-2 söndürüldü"); } }
void led3(boolean bayrak) { if (bayrak==true) { seriPort.write('E'); println("LED-3 yakıldı"); } else { seriPort.write('F'); println("LED-3 söndürüldü"); } }
void led4(boolean bayrak) { if (bayrak==true) { seriPort.write('G'); println("LED-4 yakıldı"); } else { seriPort.write('H'); println("LED-4 söndürüldü"); } }
Arduino kodu:/* Processing Örneği - 3 Processing üzerinden gelen verilerle 4 adet LED Kontrol ediliyor */
// LED bağlatı pinleri int ledler[] = { 8,9,10,11}; char gelenVeri; void setup() { pinMode(ledler[0],OUTPUT); pinMode(ledler[1],OUTPUT); pinMode(ledler[2],OUTPUT); pinMode(ledler[3],OUTPUT);
Serial.begin(9600); }
void loop() { while(Serial.available()>0) { gelenVeri = Serial.read(); switch(gelenVeri) { case 'A': digitalWrite(ledler[0],HIGH); break; case 'B': digitalWrite(ledler[0],LOW); break; case 'C': digitalWrite(ledler[1],HIGH); break; case 'D': digitalWrite(ledler[1],LOW); break; case 'E': digitalWrite(ledler[2],HIGH); break; case 'F': digitalWrite(ledler[2],LOW); break; case 'G': digitalWrite(ledler[3],HIGH); break; case 'H': digitalWrite(ledler[3],LOW); } } }
Bu konu Coşkun TAŞDEMİR'in Arduino Uygula Kitabındaki örneklerden faydalanarak hazırlanmıştır. Kendisine vermiş olduğu emek için buradan teşekkür ederiz. Kitabı satın alarak daha geniş bilgiye sahip olabilirsiniz.
508
« : 09 Haziran 2015, 23:55:59 »
Processing ve arduino ikilisi ile bilgisayarımız üzerinden bir röleyi kontrol edeceğiz. Processing arayüzünde oluşturduğumuz bir butonla ledi yakıp söndürüyoruz. Konu ile ilgili dosyalar konu ekinde mevcuttur. Devre şeması:Processing programı:import processing.serial.*;
// Köşe koordinatları float x = 50; float y = 25; float w = 75; float h = 40;
Serial seriPort; boolean button = false;
void setup(){ size(175,100); background(#ffffff); stroke(0); noFill(); seriPort = new Serial(this,"COM8",9600); // Seri haberleşmeyi açıyoruz (9600 baud) } void draw() { if (button) { fill(#FF0000); stroke(0); } else { fill(#00FF00); stroke(#000000);
} /* sol üst köşesi (x,y) noktasında olan ve uzun kenarı w, kısa kendarı h genişliğinde bir dikdörtgen çizdiriyoruz */ rect(x,y,w,h); fill(0x123456); }
/* Fare butonuna basıldığında bu fonksiyon çağırılıyor. Eğer butona basılan koordinat butonun köşe koordinatları içerisinde ise buton durumunu değiştiriyoruz.
MouseX butona basılan koordinatın X bileşeni MouseY butona basılan koordinatın Y bileşeni */ void mousePressed() { if (mouseX > x && mouseX < x+w && mouseY > y && mouseY < y+h) { if(button) { seriPort.write('H'); } else { seriPort.write('L'); } button = !button; // buton değişkenini tersine çevir } } Arduino programı:import processing.serial.*;
// Köşe koordinatları float x = 50; float y = 25; float w = 75; float h = 40;
Serial seriPort; boolean button = false;
void setup(){ size(175,100); background(#ffffff); stroke(0); noFill(); seriPort = new Serial(this,"COM8",9600); // Seri haberleşmeyi açıyoruz (9600 baud) } void draw() { if (button) { fill(#FF0000); stroke(0); } else { fill(#00FF00); stroke(#000000);
} /* sol üst köşesi (x,y) noktasında olan ve uzun kenarı w, kısa kendarı h genişliğinde bir dikdörtgen çizdiriyoruz */ rect(x,y,w,h); fill(0x123456); }
/* Fare butonuna basıldığında bu fonksiyon çağırılıyor. Eğer butona basılan koordinat butonun köşe koordinatları içerisinde ise buton durumunu değiştiriyoruz.
MouseX butona basılan koordinatın X bileşeni MouseY butona basılan koordinatın Y bileşeni */ void mousePressed() { if (mouseX > x && mouseX < x+w && mouseY > y && mouseY < y+h) { if(button) { seriPort.write('H'); } else { seriPort.write('L'); } button = !button; // buton değişkenini tersine çevir } } Bu konu Coşkun TAŞDEMİR'in Arduino Uygula Kitabındaki örneklerden faydalanarak hazırlanmıştır. Kendisine vermiş olduğu emek için buradan teşekkür ederiz. Kitabı satın alarak daha geniş bilgiye sahip olabilirsiniz.
509
« : 09 Haziran 2015, 18:28:07 »
Bir ledin 100'er ms aralıkla yanıp sönmesi isteniyor. Bu işlemi yapabilmek için izlememiz gereken işlem basamakları şöyle: 1. Arduino ile pc arasındaki bağlantı usb kablodu ile yapılır. 2. Arduino programı çalıştırılır ve araçlar menüsünden kart arduino uno olarak seçilir. 3. Yine araçlar menüsünden arduinonun bağlı olduğu port seçilir. Com1, Com7 gibi. Bu işlemi doğru olarak yapmamız gerekmekte. Aksi halde yazdığımız programı arduinoya aktarmak mümkün olmaz. Hangi com olduğunu anlamak için bilgisayar > özellikler > aygıt yöneticisi > bağlantı noktaları /com ve lpt) seçeneği altında listelenen arduino uno yazısının yanında bulunan com numarasına bakabilirsiniz. Program kodlarımız: void setup() { // Burada 13. dijital pini cikis olarak atiyoruz. pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); // 13. pindeki ledi yaktik delay(200); // 200 ms bekle digitalWrite(13, LOW); // 13. pindeki ledi sondurduk delay(200); // 200 ms bekle } Buradaki kodları tanıyalım: pinModeArduino portları giriş ya da çıkış olarak tanımlanabilir. Bunun için pinMode kodu kullanılır. pinMode(13, OUTPUT); yazmakla 13 nolu pini çıkış olarak atadık. loopDöngü anlamındadır. void loop kodundan sonra açılan süslü parantezle bu parantezin kapandığı yere kadar olan program sürekli tekrarlanır. digitalWriteÇıkışın aktif ya da pasif olmasını bu kodla sağlarız. digitalWrite(13, HIGH); yazmakla 13. pini aktif, digitalWrite(13, LOW); yazmakla pasif yaparız. delayProgramın her hangi bir yerine bunu yazdığımızda program burada beklemeye geçer. Örneğimizde delay(200); yazmakla ledimizin yandıktan ve söndükten sonra 200'er ms yanık ya da sönük kalmasını sağladık. 4. Derleme butonuna basarak kodları derliyoruz. 5. Yükle butonuna basarak derlediğimiz programı arduinoya gönderiyoruz. 6. Kaydet butonuna basarak da projemizi bilgisayarımızda istediğimiz bir dizine kaydediyoruz. İşlem basamakları tamamlandı. 13 nolu pine bağlı olan pindeki ledin yanık söndüğünü izleyebiliriz. Bu anlatıma ait arduino dosyası ekte mevcuttur. Bu konu Coşkun TAŞDEMİR'in Arduino Uygula Kitabındaki örneklerden faydalanarak hazırlanmıştır. Kendisine vermiş olduğu emek için buradan teşekkür ederiz. Kitabı satın alarak daha geniş bilgiye sahip olabilirsiniz.
510
« : 08 Haziran 2015, 23:00:14 »
Arduino Unoyu programlamak için Arduino programını arduino.cc sitesinden indirmeniz gerekir. Programı indirip arduino.exe dosyasını çalıştırdıktan sonra Tools > Board menüsünden Arduino Unoyu seçiniz. Arduino Uno üzerindeki ATmega328 e önceden bir bootloader yüklenmiştir. Bu bootloader sayesinde Arduino 'yu programlamanız için harici bir programlayıcı donanımına ihtiyacınız olmaz. Orjinal STK500 programını kullanarak haberleşir. Ayrıca Arduino ISP kullanarak Arduino 'nun bootloader 'ını devre dışı bırakabilir ve mikrodenetleyiciyi ICSP (In Circuit Serial Programming) pini üzerinden programlayabilirsiniz. Arduino IDE ‘ yi kurduğumuza ve programlama arayüzüne eriştiğimize göre şimdi sıra “Arduino UNO” kartımızı bilgisayarımıza tanıtmaya geldi. Bunun için; 1-Arduino kartımızı USB kablomuz ile bilgisayarımıza bağlıyoruz. Karşımıza ilk olarak ” Windows Yeni Donanım Bulma Sihirbazı” çıkacak. Burada ” Windows yazılım aramak için Windows Update sitesine bağlanabilir mi?” sorusuna ” Hayır, bu kez değil” seçeneğini seçerek devam ediyoruz. 2-Yeni sayfada karşımıza çıkacak seçeneklerden bu kez “Listeden ya da belirli bir konumdan yükle (Gelişmiş)” seçeneğini seçiyoruz ve ilerliyoruz. 3-Diğer sayfada “Bu konumlarda en iyi sürücüyü ara” seçeneğini seçip, “Arama şu konumu da içersin:” bölümünü işaretliyoruz ve ardından “Gözat” butonuna basarak daha önceden indirmiş olduğumuz arduino klasörünün içindeki “drivers” klasörünü seçiyoruz. (Ör: C:\arduino-1.04\drivers) 4-Ardından karşımıza çıkan listeden Arduino UNO’ya ait sürücü bilgisini içeren “Arduino UNO” yu seçiyoruz ve ilerliyoruz. 5-Bu aşamada karşımıza bir uyarı penceresi çıkabilir. Buna “Devam et” diyoruz. 6-Dosyaların yüklenmesi bittikten sonra “Son” butonuna basıp yüklememizi tamamlıyoruz. Şu anda Arduino UNO sürücümüz kullanıma hazırdır. Bu konu Coşkun TAŞDEMİR'in Arduino Uygula Kitabındaki örneklerden faydalanarak hazırlanmıştır. Kendisine vermiş olduğu emek için buradan teşekkür ederiz. Kitabı satın alarak daha geniş bilgiye sahip olabilirsiniz. Not: smd chipler için kurulum dosyası ektemevcut.
Sayfa: 1 ... 32 33 [34] 35 36 ... 45
|