info@kodmek.com
Kodmek
  • Anasayfa
  • Blog
  • Araçlar
Kodmek
  • Anasayfa
  • Blog
  • Araçlar
  • Anasayfa
  • Blog
  • Araçlar
  • Anasayfa
  • Blog
  • Araçlar
Arduino
Home Elektronik Arduino Page 2

Category: Arduino

Arduino örnekleri ve Programlama
Arduino

LM 35 ile Dijital Termometre Arduino

LM35 sensörü, 0 °C ile 100 °C arasında sıcaklık ölçümü yapabilen 3 bacaklı bir entegredir. Sıcaklığa bağlı olarak çıkışında analog gerilim verir. Çıkışta alınan gerilim sıcaklık ile doğrusal özellik gösterir.

Orta bacağından verilen gerilim her °C başına 10mV gerilim üretir.Örneğin; oda sıcaklığı 18 °C ise çıkış 180 mV olur

LM35 Sıcaklık Sensörü:

  • LM35 analog bir sensördür.
  • LM35 hassas ve doğrusal bir sıcaklık sensörüdür.
  • -55 ile +150 derece arasındaki sıcaklıkları ölçebilir.
  • 1 derecelik sıcaklık artışında çıkışı 10 mV artar.
  • Giriş gerilimi olarak 4 V-30 V arasında çalışabilir.
  • 3 adet bacağı vardır
  • 1.bacak=besleme
  • 2.bacak=data
  • 3.bacak=toprak(GND)

LM 35 ile Dijital Termometre Arduino 1

Arduino Kodlarımız :

#include <LiquidCrystal.h>

#define RS 8

#define ENABLE 9

#define D4 4

#define D5 5

#define D6 6

#define D7 7

LiquidCrystal lcd(RS, ENABLE, D4, D5, D6, D7);

const int analogInPin = A0; // Analog giris pini

int sensorValue = 0; // Analog gerilim dijital donusum degeri

float sensormVolt = 0; // Analog giris gerilimi

float temp = 0;

void setup() {

lcd.begin(16, 2);

lcd.setCursor(0, 0);

lcd.print("SICAKLIK:");

}

 

void loop() {

sensorValue = analogRead(analogInPin);

sensormVolt = ((float)sensorValue * 5000) / 1023;

temp = sensormVolt / 10.0;

lcd.setCursor(0, 1);

lcd.print(temp);

lcd.print(" derece");    // devamına birimi olan derecece yaz.

delay (1000);            // 1 sn bekle

 

}

Diğer yazımızda STM32 üzerinde gerçekleştireceğiz.

Read More
MeK 27 Ocak 2018 0 Comments
58
Arduino

Arduino ile 8×8 led matris kullanımı

Arduino ile 8×8 led matris kullanımı bu yazımızda nerede ise her yerde kullanılan LED matris displayleri ele alacağız ve Arduino ile nasıl kullanacağınıza değineceğiz.Modern LED displayler çeşitli mikrodenetleyiciler ve çeşitli tiplerde matrislerle yapılırlar.

8×8 led matris 64 tane led içeriyor. Bunlara piksel de diyebiliriz. LEDler toplamda 16 pinle bağlanıyor. Aşağıdaki devre ile bağlantı yapabiliriz:

Arduino ile 8×8 led matris kullanımı 2

 

C1 – C8 – Sütun Pinleri

R1 – R8 – Satır Pinleri

Şekilden de görüldüğü gibi, aynı satırın bütn anod uçları birleştirilmiş. Böylece 8 satır ve 8 sütun pini çıkartılmış. R1 pinine pozitif gerilim uygulanırsa ve C1 pinine negatif gerilim uygulanırsa, ilk pikselin yandığını görürüz. Eğer C2 pinine negatif gerilim uygulanırsa 2. piksel (led) yanacaktır. Bu şekilde her ledi yakabiliriz. Bu pinlerin kontrol edilmesi manuel olarak pek de mümkün olmadığından, arduino ile kontrol etmek daha kolaydır.

her sütun arduino ile 220 ohm direnç üzerinden bağlıdır. Satır pinleri, shift register entegresinin çıkışına bağlanacak. Karakterler ise multiplekser yöntemi ile yazdırılıyor. Shift register entegresi, arduino ile data, latch ve clock pinleri ile bağlanıyor.

Arduino Kodları :

int clockPin = 5;
int dataPin = 3;
int pins [8] = {6, 7, 8, 9, 10, 11, 12, 13}; // common cathode pins
byte A[8] = {   B00000000, // Letters are defined
                B00011000,// you can create your own
                B00100100,
                B01000010,
                B01111110,
                B01000010,
                B01000010,
                B00000000
            };
 
byte B[8] = {     B00000000,
                  B11111100,
                  B10000010,
                  B10000010,
                  B11111100,
                  B10000010,
                  B10000010,
                  B11111110
            };
 
byte blank[8] = { B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000,
                  B00000000
                };
byte R[8] = {  B00000000,
               B01111000,
               B01000100,
               B01000100,
               B01111000,
               B01010000,
               B01001000,
               B01000100
            };
 
 
void setup() {
  Serial.begin(9600); // Serial begin
  pinMode(latchPin, OUTPUT); // Pin configuration
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
  for (int i = 0; i < 8; i++) { // for loop is used to configure common cathodes
    pinMode(pins[i], OUTPUT);
    digitalWrite(pins[i], HIGH);
  }
 
}
 
void loop() {
 
 
 
  for (int k = 0; k < 1000; k++) { // showing each letter for 1 second
    display_char(A);
 
  }
 
  for (int k = 0; k < 1000; k++) {
    display_char(B);
 
  }
  for (int k = 0; k < 1000; k++) {
    display_char(R);
 
  }
 
  // add more letters show method here
 
 
 
 
 
 
}
void display_char(byte ch[8]) { // Method do the multiplexing
  for (int j = 0; j < 8; j++) {
    digitalWrite(latchPin, LOW);
    digitalWrite(pins[j], LOW);
 
    shiftOut(dataPin, clockPin, LSBFIRST, ch[j]);
    digitalWrite(latchPin, HIGH);
    //delay(1);
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, B00000000); // to get rid of flicker when
    digitalWrite(latchPin, HIGH);
    digitalWrite(pins[j], HIGH);
 
  }
 
 
}

 

Read More
MeK 16 Ocak 2018 0 Comments
60
Arduino

Arduino İle Işık Seviyesi Ölçümü

Ortamın ışık miktarını ölçebileceğiniz bir proje olan Arduino İle Işık Seviyesi Ölçümünü nasıl yapacağımızı şimdi sırası ile bakalım :

TSL2561 Digital Light Sensor ışık seviyesini ölçmenize yarıyor. Bu sensörün 7 dolar gibi bir ücreti var. Arduino uno başlangıç olarak yeterli olacaktır. Bir el feneri yardımıyla veya başka bir ışık kaynağını sensör üzerine getirerek ışığın seviyesini artırarak ölçüm yapabilirsiniz.

Sensör içerisinde photodiyot bulunuyor. Bunun sayesinde analog olarak değerleri arduinoya aktarabiliyor. Biraz kodları kurcalamayla diğer mikroişlemcilere de uygulayabilirsiniz. Arduino ile bir çok sensör çok rahatlıkla kullanılıyor. Ayrıca burda ki kodları anlayarak lcdnin çalışma mantığını anlayabilirsiniz.

Malzemeler:

Arduino uno

TSL2561 Digital light sensörü

16×2 LCD

LCD I2C / SPI Backpack

Arduino uno launchpad üzerinden beslemeyi alabilirsiniz ayrıca, diğer bağlantıları da kolayca launchpad üzerinden yapabilirsiniz bu size kolaylık sağlayacaktır. TSL2561 sadece 4 bacağını kullanacağız diğer 2 bacağı işimize yaramayacak. ADOR ve INT bacaklarını kullanmanıza gerek yok.

İlk önce ışık sensörünün bağlantılarını yapalım.

  • Sensör GND pini – siyah kablo – Arduino gnd pini
  • Sensör VCC pini – sarı kablo – Arduino 3.3v pini
  • Sensör SCL pini – yeşi kablo– Arduino analog pin 5 (i2c clock)
  • Sensör SDA pini – mavi kablo – Arduino analog pin 4 (i2c data)

LCD bağlantısı

  • LCD GND pin – siyah kablo – Arduino grnd pin
  • LCD 5V pin – kırmızı kablo – Arduino A5V pin
  • LCD LAT pin – turuncu kablo – Arduino digital pin 4 (SPI latch pin)
  • LCD  DAT pin – mavi kablo – Arduino digital pin 3 (SPI data pin)
  • LCD CLK pin – yeşil kablo – Arduino digital pin 2 (SPI clock pin)

Arduino Kodlarımız :

#include "Wire.h"
#include "LiquidCrystal.h"
#include "TSL2561.h"

// Connect via SPI. Data pin is #3, Clock is #2 and Latch is #4
LiquidCrystal lcd(3, 2, 4);

//! Light sensor configured to default i2c address.
TSL2561 tsl(TSL2561_ADDR_FLOAT); 

//! Buffer for printing light readings to the LCD.
char output_buffer[6];

//! Initialize the sketch.
void setup() {
  // Initialize the serial connection for debugging.
  Serial.begin(9600);
  Serial.println(F("Serial initialized"));
  
  // Initialize the LCD.
  lcd.begin(16, 2);
  Serial.println(F("LCD initialized"));
  lcd.setBacklight(HIGH);
  
  // Print the top line label.
  lcd.setCursor(0, 0);
  lcd.print(F("Vis:"));
  
  // Print the bottom line label.
  lcd.setCursor(0, 1);
  lcd.print(F("Lux:"));
    
  // Initialize the light sensor.
  if (tsl.begin()) {
    Serial.println(F("Sensor initialized"));
  } else {
    Serial.println(F("Sensor failed to initialize"));
  }

  // Measuring relatively bright light, so gain of 0 is reasonable
  tsl.setGain(TSL2561_GAIN_0X);
  
  // Measuring relatively bright light, so short sampling time is reasonable
  tsl.setTiming(TSL2561_INTEGRATIONTIME_13MS);
  
  // For low light level, comment out the above configuration and uncomment the below lines
  // tsl.setGain(TSL2561_GAIN_16X);
  // tsl.setTiming(TSL2561_INTEGRATIONTIME_402MS);
}

//! Main execution loop.
void loop() {
  // From the Adafruit TSL2561 Example sketch, get both IR and
  // full spectrum values in one read.
  uint32_t full_luminosity = tsl.getFullLuminosity();
  uint16_t ir_spectrum = full_luminosity >> 16;
  uint16_t full_spectrum = full_luminosity & 0xFFFF;
  
  // Set the cursor to the data column on the top line.
  lcd.setCursor(5, 0);
    
  // Format the output using a format string stored in program memory.
  snprintf_P(output_buffer, 6, PSTR("%5d"), (full_spectrum - ir_spectrum));
  
  // Print to the LCD.
  lcd.print(output_buffer);
  
  // Set the cursor to the data column on the bottom line.
  lcd.setCursor(5, 1);
  
  // Format the output using a format string stored in program memory.
  snprintf_P(output_buffer, 6, PSTR("%5d"), tsl.calculateLux(full_spectrum, ir_spectrum));

  // Print to the LCD.
  lcd.print(output_buffer);
  
  // 0.5 second delay to keep the display from being unreadable in edge conditions.
  delay(500);
}

 

Read More
MeK 15 Ocak 2018 0 Comments
77
Arduino

Arduino Telefon ile Led Yakma

Bu yazımızda Arduino kullanarak Bluetooth kontrollü led yakmayı göstereceğim . Temel bir ders niteliğinde olan bu yazı ile isterseniz aynı sistemi kullanarak motor sürücüsü vb kodlamalarıda yapabilirsiniz.

Öncelikle ihtiyacımız olan ürünlere bir göz atalım:
  1. Ledler ve buzzer
  2. HC-05 Bluetooth Modulü (veya HC-05)
  3. Arduino Uno(veya herhangi bir modeli)
  4. Android Telefon

Ben bir de buzzer ekledim. Telefondan göndereceğimiz komutlarla 2 adet ledi yakıp söndürecek ve ayrıca buzzer’ı da öttüreceğiz:)

Öncelikle Arduino kodumuzu yazalım ve inceleyelim. Kodumuz aşağıdaki gibi olacaktır

#include<SoftwareSerial.h>
SoftwareSerial btmodul(10,11);   // 10 ve 11. pin Rx ve Tx pinleri olacaktır.
 
char data;  //data değişkeninin türünü char olarak ayarlıyoruz.
int led=13; 
int led1=3;
int buzzer=4;
 
void setup()
{
  
  btmodul.begin(9600);  // Seri iletişimi başlatır.
  pinMode(led,OUTPUT);  //13. pinimizi(led=13) çıkış yapıyoruz.  
  pinMode(led1,OUTPUT);
  pinMode(buzzer,OUTPUT);
}
void loop()
{
 if (btmodul.available()) {   // Eğer bluetooth bağlantısı varsa içindeki kodları çalıştırır. (Bu kısmı kullanmayada bilirsin.)
  data = btmodul.read();     //Gelen değeri okuyoruz. ve data değişkenine aktarıyoruz.
    if(data=='1') {    //Eğer Android'ten gelen değer "1" ise( yani 1 rakamına bastığımızda,)
    digitalWrite(led,HIGH);}    //digitalWrite ile 13. pini (HIGH) yaparak Ledimizi yakıyoruz. 
  else if(data=='0'){       //Eğer Android'ten gelen değer  "2"  rakamı ise
    digitalWrite(led,LOW); }    //digitalWrite ile 13. pini (LOW) yaparak Ledimizi söndürüyoruz. 
  else if(data=='g'){    // Eğer "g" tuşuna basılırsa;
    digitalWrite(led1,HIGH);  // ledi 0.1 saniye aralıklarla yakıp söndür
    delay(100);
    digitalWrite(led1,LOW);
    delay(100);
  }
 else if(data=='k'){    // Eğer "k" tuşuna basılırsa,
    digitalWrite(buzzer,HIGH);   // Buzzer'ı 1 saniye aralıklarla öttür.
    delay(1000);
    digitalWrite(buzzer,LOW);
    delay(1000);
    }
 
  }
  
 }

Öncelikle bu programı Arduino IDE’sinde yazıp Arduino kartımıza yükleyelim. Ardından devremizi kuralım. Devre kurulumu ise çok çok basit. Biz yine de Fritzing’de devrenin simülasyonunu yapalım.

Öncelikle yapmanız gereken telefonunuzun Bluetooth özelliğini açmanız. Ardından “Arduino Bluetooth Controller”  uygulaması açıp bluetooth üzerinden HC-05 veya HC-06 bluetooth modülünü eşleştirmek. eşleşme işlemini yaptıktan sonra ise, yukarıda paylaştığım kodda yazdığımız gibi, uygulamadan karakter gönderip, ledleri ve buzzer’ı kontrol aşamasına geçebilirsiniz. Biz kodumuzda “1,0,g ve k” karakterlerini kullanmıştık. Telefonun klavyesinden uygulama üzerinden bu karakterlere bastığımız zaman uygulamanın çalıştığını göreceksiniz:)

Read More
MeK 15 Ocak 2018 0 Comments
59
  • 1
  • 2
New Comments
  • SP Flash Tool için veysel25
  • DZ09 Smartwatch Saat modelleri ekleme için MeK
  • DZ09 Smartwatch Saat modelleri ekleme için furkan öztoprak
  • STM32F103 1602A LCD Bağlantısı için MeK

Kodmek güncel teknoloji ve programlama platformu
Bültene kayıt ol

[mc4wp_form id="357"]

Kullanım koşulları | Gizlilik Çevreve politikası

Copyright © 2023 kodmek.com. All Rights Reserved.