bolubeyi
09.Haziran.2015, 21:43
CKiH-5w040g
https://temrinlerim.org/images/role_kontrolu.png
https://temrinlerim.org/images/processing4.PNG
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ı:
https://temrinlerim.org/images/processing5.PNG
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
}
}
Orjinal konu: https://temrinlerim.org/index.php?topic=175.0
https://temrinlerim.org/images/role_kontrolu.png
https://temrinlerim.org/images/processing4.PNG
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ı:
https://temrinlerim.org/images/processing5.PNG
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
}
}
Orjinal konu: https://temrinlerim.org/index.php?topic=175.0