FSR| ARDUİNO İLE PROCESSİNG BAĞLANTISI
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.
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.
}
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:
![]() |
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!
Yorumlar
Yorum Gönder
Hosgeldiniz!Yazimizi okudugunuz icin tesekkurler. Yorum birakmayi unutmayin.