FSR| ARDUİNO İLE PROCESSİNG BAĞLANTISI



Herkese Tekrardan Merhabalar! Bu yazımızda FSR ile Arduino-Processing bağlayacağız. Peki bağladıktan sonra ne olacak?
FSR bir basınç sensörüdür. Ne kadar basınç uyguladığınızı sizlere bildirir. Öncelikle Aşağıda ki kodu Arduino ya yüklüyoruz.

















int fsrAnalogPin = 0; // FSR'yi ANALOG0 pinine bağlıyoruz.
int LEDpin = 11; // Ledi 11. pine bağlıyoruz.
int fsrReading; // FSR'den gelen bilgiyi okuyoruz.
int LEDbrightness;

void setup(void) {
Serial.begin(9600); // Serial monitor iletişimi 9600 bps hızına ayarlıyoruz
pinMode(LEDpin, OUTPUT); //Led pinini Output olarak ayarlıyoruz
}

void loop(void) {
fsrReading = analogRead(fsrAnalogPin); //fsrReading yani fsr'den gelen değeri analogRead olarak eşitliyoruz.
Serial.print("Analog reading = "); //Analog reading= olarak Serial Monitor'de yazdırıyoruz
Serial.println(fsrReading); // fsrReading yani FSR'den gelen değeri yazdırıyoruz.

// Analog'un okuduğu değer 0-1023 arasındadır 1023'ten aşağı değer okuyoruz.
// analogWrite'ı kullanarak 0-255 arasında okuyoruz
LEDbrightness = map(fsrReading, 0, 1023, 0, 255);
// Çok basarsak LED'i yakıyoruz.
analogWrite(LEDpin, LEDbrightness);

delay(100); //0.1 saniyede bir değeri gönderiyoruz.
}
Evet kodumuz bu kadar. Aşağıda ki bağlantıyı kurduktan sonra kodu Arduinoya gönderiyoruz:


force___flex_FSRandLED.png
FSR'ye bağlı olan direnç 10K LED'e bağlı olan direnç ise 220R


Şimdi processing ile arduino arasında kuracağımız bağlantıyı sağlayan arduino koduna gelelim bu kodu arduino'ya gönderiyoruz.
Kodların ne işe yaradıklarını yorum satırı olarak ekledim:


int switchPin = A0;                       // Processing'e göndereceğimiz verinin hangi pinden geleceğini belirlıyoruz.

void setup() { //Ana programdan önce ki ayarlarımız
  pinMode(switchPin, INPUT);             // A0'ı input olarak ayarlıyoruz
  Serial.begin(9600);                    // İki cihaz arasında ki hızı 9600 bts hızına ayarlıyoruz.
}

void loop() { //Ana program
  
    Serial.write(analogRead(switchPin)  );  // Analogda okuduğumuz veriyi processing'de yazdırıyoruz
              //www.multinews905.blogspot.com.tr
  
   delay(100);//0.1 saniye de sonucu gönderiyoruz.
}





Evet bu kodumuzu da Arduino'ya gönderiyoruz. Şimdi tek kalan şey processing kodları...

Aşağıda verdiğim kodu Processing'e gönderiyoruz. Processing'i buraya tıklayarak indirebilirsiniz.




import processing.serial.*; //Kütüphaneyi çağırıyoruz

Serial myPort;  // Objeyi serial sınıfında oluşturuyoruz.
float val;      // Serial Port'tan gelen data'yı okuyoruz.
float yukseklik=0 ; // Yükseklik değişkenini tanımlıyoruz.
void setup() //Ana programımızdan önceki ayarlarımız
{
  size(800, 500); // Objemizi göreceğimiz alanın boyutunu belirliyoruz.
  println(Serial.list());
  String portName = Serial.list()[1];// Arduino'nun kaçıncı prota bağlandığını yazıyoruz. Arduino>Tools>Serial Port tan bunu buluyoruz. İlk çıkan seçenek 0. Portumuzdur.
  myPort = new Serial(this, portName, 9600); // İki program arasındaki seri bağlantının hızı, Arduinoda da aynı hızı girmemiz gerekiyor.
}

void draw() //Ana programımız ,arduinoda ki Void loop komutu.
{
  if ( myPort.available() > 0) {  // Eğer bilgi mevcutsa
    val= myPort.read(); // FSR'den yani sensörden gelen değeri oku
    float hiz=0.3;// Karenin yükselme hızını 0.3 olarakn ayarla
    yukseklik = lerp(yukseklik,val, hiz); // Yuksekliği değişkenlere bağlıyoruz, Yukseklik Arduinodan gelen değer ve hiza bağlı
  }
  background(0);             // Arkaplanı Siyah yap
  rect(400, (height-yukseklik*2-100), 100, 100); // Kareyi oluşturacağımız alan
//  println(val); //Aşağıda gelen değeri yazdırıyoruz. 
}

Evet bu kadar. Peki nasıl çalıştıracağız?

Processingde Sol üstte çalıştır butonu var. Oraya tıklayıp açıyoruz. Daha sonra her FSR'ye basışımızda yukarı çıkan bir Kare var!

OKUDUĞUNUZ İÇİN TEŞEKKÜRLER! YORUM ATMAYI VE PAYLAŞMAYI UNUTMAYIN!

TWİTTER: @eymenalpat905 ASK.FM: www.ask.fm/Multinews905 



Yorumlar

Bu blogdaki popüler yayınlar

MZ80 Sensörü ile Alarm(KIZIL ÖTESİ UZAKLIK SENSÖRÜ)

Arduino UNO İLE TERMOMETRE!

3D Robot El!