Arduino Başlangıç Rehberi

Bu yazımızda arduinoda başlangıç yapmak isteyenler için gerekli olan bilgileri derledik.Arduino model seçimiArduino’nun Uno, Mega, Nano, Lilypad, Promini gibi birçok modeli vardır. Bu modelleri boyut, giriş çıkış sayısı, işlem kapasitesi gibi özellikleri ayırır. Başlangıç seviyesi için genelde UNO modeli önerilir. Çünkü en çok ve en kolay kullanılan modeldir. Bu yüzden yazımızı UNO modeli için yazacağız. Kodlarda oynama yaparak kodları diğer modellerde de kullanabilirsiniz.Parça alışverişiBaşlangıç için bize gereken parça listesi1- Arduino Uno kartı12- Arduinoyu bilgisayara bağlamak için gerekli olan kablo23- Jumper Kablolar (Erkek-Erkek yeterlidir ama isterseniz hem EE alıp hem Dişi-Dişi alabilirsiniz)34- Çeşitli renklerde Ledlerled5- RGB led220px-RGB_LED6- PotansiyometrePotentiometer7- Fotoselfotosel8- Buton (birkaç tane alınız)buton9- LM35 ısı sensörülm3510- Breadboardbreadboard(Breadboardlarda + ve – çizgi olan delikler yatay olarak harf ve sayı ile verilen pinler ise dikey olarak birbirine bağlıdır ortadaki boşluk ise breadboardı ikiye ayırır yukarısı ile aşağısı arasında bağlantı yoktur)(İsterseniz bunları ayrı ayrı almak yerine başlangıç seti olarak alabilirsiniz)1- Arduino’yu bilgisayara bağlamakArduinonunuzu bilgisayara yanında gelen kablo ile bağlayın bilgisayarınız gerekli driverleri otomatik kuracak . Arduinonuza kodlarınızı eklemek için gerekli olan yazılımı Buradan indirebilirsiniz.yazılım kurulup açıldıktan sonra karşınıza böyle bir ekran çıkacaktır1Sonrasında programa arduinomuzu aşağıdaki resimdeki gibi tanıtmalıyız , bendeki uno modeli olduğundan uno yu seçtim.2ardu2-İlk Kodunuzu Arduino’ya Yüklemekİlk kodumuz arduino dünyasındaki en basit kodlardan biri olan “Blink” blink adından da anlaşılabileceği gibi bir ledi açıp kapıyor , bunu 13. pine güç verip-keserek yapıyor . Halihazırda arduino üzerindeki “L” etiketli pin 13. pine bağlı yani o ledi kapayıp açmış oluyoruz.ardu3Resimdeki gibi “Örnekler” menüsünden 01.Basics menüsünün içindeki “Blink” i seçiyoruz.ardu4Sağa doğru ok olan yükle tuşuna bastıktan sonra arduinomuzda RX ve TX pinleri hızlıca yanıp sönmeye başlayacaktır . RX = Recieve , TX = Transmit anlamına gelmektedir . Eğer bir sorun yok ise L etiketli pin yanıp sönmeye başlayacaktır. Tebrikler ! İlk Kodunuzu arduinonuza ekledinizAlintidir:Ariadna Zas RodriguezAlintidir:Ariadna Zas Rodriguez 3-Kodları Tanıyalım// Bunun gibi çift slash “//” ile yazılan kodlar arduino tarafından görülmez . Çift slash ı kodların anlamlarını yazmak veya kod paylaşırken kodu kullanacak kişiye not düşmek için kullanabilirsiniz// void setup() {} komutu arduinonun bir kez çalıştırır sonra ise void loop() {} taki komutlara geçer ilgili komutlar {} sembolleri arasına yazılırvoid setup() {pinMode(13, OUTPUT); // pinmode giriş-çıkış pini ayarlamanızı sağlar biz led yakacağımız için 13 üncü pini çıkış yani OUTPUT olarak ayarladık eğer o pinden veri almak isteseydik o pini INPUT olarak ayarlardık}// void loop() {} içindeki kodları arduino sürekli çalıştırırvoid loop() {digitalWrite(13, HIGH); // Bu komut arduinoya 13. pine güç vermesini söylüyordelay(1000); // Burada beklemesini söylüyor buradaki zaman milisaniye olarak yazılır 1000 ms bir saniyedirdigitalWrite(13, LOW); // Buradaki komut 13. pine giden elektriği kesiyordelay(1000); // Burada tekrar bekliyor}4- Devreye buton eklemekButonumuzu devreye bu şekilde bağlıyoruz.butonbaglamakDirenç bağlamayı unutmayınız.Bu bağlantıları yaptıktan sonra arduino programını açıp örnekler menüsündeki Digital menüsünün içindeki Button örneğini açınız karşınıza bu kodlar çıkacaktır”/*ButtonTurns on and off a light emitting diode(LED) connected to digitalpin 13, when pressing a pushbutton attached to pin 2.The circuit:* LED attached from pin 13 to ground* pushbutton attached to pin 2 from +5V* 10K resistor attached to pin 2 from ground* Note: on most Arduinos there is already an LED on the boardattached to pin 13.created 2005by DojoDave <http://www.0j0.org>modified 30 Aug 2011by Tom IgoeThis example code is in the public domain.http://www.arduino.cc/en/Tutorial/Button*/// constants won’t change. They’re used here to// set pin numbers:const int buttonPin = 2; // the number of the pushbutton pinconst int ledPin = 13; // the number of the LED pin// variables will change:int buttonState = 0; // variable for reading the pushbutton statusvoid setup() {// initialize the LED pin as an output:pinMode(ledPin, OUTPUT);// initialize the pushbutton pin as an input:pinMode(buttonPin, INPUT);}void loop() {// read the state of the pushbutton value:buttonState = digitalRead(buttonPin);// check if the pushbutton is pressed.// if it is, the buttonState is HIGH:if (buttonState == HIGH) {// turn LED on:digitalWrite(ledPin, HIGH);} else {// turn LED off:digitalWrite(ledPin, LOW);}}”Kodlarımızı üstteki ok tuşuyla arduinomuza yükleyelim.Yüklediyseniz butona basabilirsiniz bastığınızda arduino üzerindeki L etiketli led yanacak , bıraktığınızda ise sönecektir.Kodları inceleyelim:const int buttonPin = 2;  // Başında const olan değerler read-only yani kod içerisinde değiştirilemeyen değerlerdir bu değerleri giriş çıkışları bağladığımız pinler yerine kullanırız örneğin bu kodda buton pini 2 olarak belirtilmişconst int ledPin = 13; //Bu satırdada led pini 13 olarak belirtilmişint buttonState = 0;  // Eğer değer sadece int ile yazılmış ise kod içerisinde bu değer değiştirilebilir örneğini aşağıda göreceksinizvoid setup() {pinMode(ledPin, OUTPUT); // Led pinini çıkışpinMode(buttonPin, INPUT); // Button pinini ise giriş olarak ayarlıyoruz}void loop() {buttonState = digitalRead(buttonPin); // Burada buttonstate değişken değerine digitalRead ile okuduğumuz button pininin durumunu yazıyoruzif (buttonState == HIGH) { // Buradaki kod ise eğer buttonState değeri yüksek yani HIGH ise arduinoya led pinine güç vermesini söylüyordigitalWrite(ledPin, HIGH);}else { // Else ise if durumunun geçerli olmadığı zamanlarda (bu kodda butona basılmadığı zaman) uygulanacak işleri söylerdigitalWrite(ledPin, LOW);}}5-Potansiyometreyi arduinoya bağlamak ve ledi potansiyometre ile kontrol etmekpotansiyometreLedimizi ve potansiyometremizi resimdeki gibi arduinomuza bağlıyoruz . Ledin uzun ayağı + kısa ayağı – dir bu yüzden ledin uzun ayağını Pwm sinyal verebilen 5. pine diğer ayağını ise GND ( topraklama) hattına veriyoruz.Kodumuz ise bu şekilde , kodun içinde gerekli açıklamaları görebilirsiniz :”const int led = 5; //Bunu yazmamız sayesinde kodumuzda artık 5 yazmak yerine led yazacağızconst int potansiyometre = A0 ; // Aynı şekilde potansiyometremizi belirttikint parlaklik = 0; // Parlaklık adında bir değişken oluşturduk aşağıda bu değişkeni potansiyometreden aldığımız veriyi depolamak için kullanacağızvoid setup() {pinMode(led, OUTPUT); // Ledimizi çıkış pini olarak ayarladık}void loop() {int parlaklik = analogRead(potansiyometre); // A0 pinine bağladığımız potansiyometreden aldığımız veriyi parlaklik değişkenine yaziyoruzparlaklik = map(parlaklik, 0, 1023, 0, 255); // Potansiyometreden aldığımız değer 0 ile 1023 arasında ama bizim bunu pwm sinyali olarak gönderebilmemiz için 0 ile 255 arasında olması gerekiyor map komutu sayesinde 0 – 1023 arasındaki parlaklik değişkenimizi 0 – 255 arasina dönüştürdükanalogWrite(led, parlaklik); // 5. pine bağladığımız ledimize 0 – 255 arasina cevirdiğimiz potansiyometre değerinde pwm sinyali gönderiyoruz}”6- Fotosel KullanımıfotoselFotoselimizi resimdeki gibi arduinomuza bağlıyoruz ,  gördüğünüz gibi fotoselin bağlantı şekli ve kodları potansiyometreye oldukça benziyor ama bu sefer fotoselden aldığımız veriyi hem led yakmak için kullanacak hem de bilgisayarımıza veri olarak göndereceğiz.Kodlarımız ile bu şekilde, Kodların içinde gerekli açıklamayı görebilirsiniz , önceki kodda öğrendiğimiz kodların açıklamalarını kalabalık yapmasın diye sildim :”const int led = 5;const int fotosel = A0 ;int parlaklik = 0;void setup() {Serial.begin(9600); // Bu komut ile seri portu aktifleştiriyoruz bu bilgisayarımız ile arduino arasında veri alışverişine izin verecekpinMode(led, OUTPUT);}void loop() {int parlaklik = analogRead(fotosel);parlaklik = map(parlaklik, 0, 1023, 0, 255);analogWrite(led, parlaklik);Serial.print(“Parlaklik =”); // Seri port ekranimizda gozukecek yaziSerial.println(parlaklik); // seri port ekranımızda parlaklik adli değişkenimizi gösteriyoruzdelay(100); // Fotosel okunmasında hata olmasın diye 100ms lik gecikme yapıyoruz}”Bu kodları arduinomuza yükledikten sonra fotoselimizin üzerine parmağımızı bastıralım , gördüğünüz üzere ledimiz kararacaktır , map komutundaki çevrilmek istenen en yüksek ile en düşük değerin yerini değiştirirseniz ( parlaklik = map(parlaklik, 0, 1023, 0, 255); yerine parlaklik = map(parlaklik, 0, 1023, 255, 0);) arduinonuz ortam ne kadar karanlık ise o kadar lede güç verecektir.Arduino programında sağ üstteki büyüteç simgesine basıp seri port ekranını açıyoruz eğer her şey doğru ise arduino üzerindeki TX(gönderme) ledi sürekli yanıp sönecek ve bilgisayardaki seri port ekranında parlaklık değerleri gözükecektir .seri port7- LM35 sıcaklık sensörü kullanımılm35Lm35 sensörümüzü resimdeki gibi bağladıktan sonra aşağıdaki kodu arduinomuza yüklüyoruz farkettiyseniz kod fotoselde kullandığımız kod ile aynıKod :”const int led = 5;const int lm35 = A0 ;int sicaklik = 0;void setup() {Serial.begin(9600);pinMode(led, OUTPUT);}void loop() {int sicaklik = analogRead(lm35);sicaklik = map(sicaklik, 0, 1023, 0, 255);analogWrite(led, sicaklik);Serial.print(“Sicaklik =”);Serial.println(sicaklik);delay(100);}”KapanışArduinodaki basit kodları öğrendiniz kendinizi dahada geliştirmek isterseniz aşağıdaki linkleri kullanınSize ilham verebilecek projelerin olduğu sayfaBütün kodların ve örnek kullanımlarının listesiÖrnek kodların açıklamalarının ve arduinoya nasıl bağlandığının bulunduğu sayfaKütüphanelerin örnek kullanımlarının ve kodlarının olduğu sayfa

Check Also

Kliplere Kendini Ekleme Uygulaması

Blin.gy adlı uygulama ie sevdiğiniz klipleri anında düzenleyebilirsiniz. iOS ve Android işletim sistemli akıllı cihazlarınızda …

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir