PDA

Orijinalini görmek için tıklayınız : 14. Usb ile 4 röle on off arduino uno r3 shild



bolubeyi
20.Haziran.2015, 12:53
Bu konumuzda arduino üzerinden usb ile 8 röleyi aç kapa yapabilen bir shild tasarlayıp çalıştıracağız.

ISIS Devre şeması:
https://temrinlerim.org/images/arduino16.PNG

ARES Baskı devresi
https://temrinlerim.org/images/arduino17.PNG

ARES animasyon:
https://temrinlerim.org/images/arduino18.PNG


Processing kodu:

import controlP5.*;
import processing.serial.*;
ControlP5 cp5;
Serial seriPort;
void setup() {
size(400, 100);
cp5 = new ControlP5(this); // Kontrol nesnesini oluştur
seriPort = new Serial(this, "COM9", 9600); //seri port nesnesini oluştur
// Toggle Nesnelerini oluşturuyoruz
cp5.addToggle("relay1") // Röle1 ismini veriyoruz
.setPosition(10, 40) // nesnenin konumu
.setSize(30, 15) // nesnenin boyutu (en,boy)
.setValue(false) // başlangıç durumu (false)
.setMode(ControlP5.SWITCH) // anahtar görünümü
;

cp5.addToggle("relay2")
.setPosition(60, 40)
.setSize(30, 15)
.setValue(false)
.setMode(ControlP5.SWITCH)
;

cp5.addToggle("relay3")
.setPosition(110, 40)
.setSize(30, 15)
.setValue(false)
.setMode(ControlP5.SWITCH)
;

cp5.addToggle("relay4")
.setPosition(160, 40)
.setSize(30, 15)
.setValue(false)
.setMode(ControlP5.SWITCH)
;

cp5.addToggle("relay5")
.setPosition(210, 40)
.setSize(30, 15)
.setValue(false)
.setMode(ControlP5.SWITCH)
;
cp5.addToggle("relay6")
.setPosition(260, 40)
.setSize(30, 15)
.setValue(false)
.setMode(ControlP5.SWITCH)
;
cp5.addToggle("relay7")
.setPosition(310, 40)
.setSize(30, 15)
.setValue(false)
.setMode(ControlP5.SWITCH)
;
cp5.addToggle("relay8")
.setPosition(360, 40)
.setSize(30, 15)
.setValue(false)
.setMode(ControlP5.SWITCH)
;
background(0); //arkaplan siyah
}

void draw() {
}
void relay1(boolean bayrak) {
if (bayrak==true) {
seriPort.write('A');
println("Röle 1 çekti");
}
else {
seriPort.write('B');
println("Röle 1 bıraktı");
}
}

void relay2(boolean bayrak) {
if (bayrak==true) {
seriPort.write('C');
println("Röle 2 çekti");
}
else {
seriPort.write('D');
println("Röle 2 bıraktı");
}
}

void relay3(boolean bayrak) {
if (bayrak==true) {
seriPort.write('E');
println("Röle 3 çekti");
}
else {
seriPort.write('F');
println("Röle 3 bıraktı");
}
}

void relay4(boolean bayrak) {
if (bayrak==true) {
seriPort.write('G');
println("Röle 4 çekti");
}
else {
seriPort.write('H');
println("Röle 4 bıraktı");
}
}
void relay5(boolean bayrak) {
if (bayrak==true) {
seriPort.write('I');
println("Röle 5 çekti");
}
else {
seriPort.write('K');
println("Röle 5 bıraktı");
}
}
void relay6(boolean bayrak) {
if (bayrak==true) {
seriPort.write('L');
println("Röle 6 çekti");
}
else {
seriPort.write('M');
println("Röle 6 bıraktı");
}
}
void relay7(boolean bayrak) {
if (bayrak==true) {
seriPort.write('N');
println("Röle 7 çekti");
}
else {
seriPort.write('O');
println("Röle 7 bıraktı");
}
}
void relay8(boolean bayrak) {
if (bayrak==true) {
seriPort.write('P');
println("Röle 8 çekti");
}
else {
seriPort.write('R');
println("Röle 8 bıraktı");
}
}



Arduino kodu:

int relay[] = {
6,7,8,9,10,11,12,13};
char gelenVeri;
void setup()
{
pinMode(relay[0],OUTPUT);
pinMode(relay[1],OUTPUT);
pinMode(relay[2],OUTPUT);
pinMode(relay[3],OUTPUT);
pinMode(relay[4],OUTPUT);
pinMode(relay[5],OUTPUT);
pinMode(relay[6],OUTPUT);
pinMode(relay[7],OUTPUT);

Serial.begin(9600);
}

void loop()
{
while(Serial.available()>0)
{
gelenVeri = Serial.read();
switch(gelenVeri)
{
case 'A':
digitalWrite(relay[0],HIGH);
break;
case 'B':
digitalWrite(relay[0],LOW);
break;
case 'C':
digitalWrite(relay[1],HIGH);
break;
case 'D':
digitalWrite(relay[1],LOW);
break;
case 'E':
digitalWrite(relay[2],HIGH);
break;
case 'F':
digitalWrite(relay[2],LOW);
break;
case 'G':
digitalWrite(relay[3],HIGH);
break;
case 'H':
digitalWrite(relay[3],LOW);

case 'I':
digitalWrite(relay[4],HIGH);
break;
case 'K':
digitalWrite(relay[4],LOW);

case 'L':
digitalWrite(relay[5],HIGH);
break;
case 'M':
digitalWrite(relay[5],LOW);
case 'N':
digitalWrite(relay[6],HIGH);
break;
case 'O':
digitalWrite(relay[6],LOW);
case 'P':
digitalWrite(relay[7],HIGH);
break;
case 'R':
digitalWrite(relay[7],LOW);

}
}
}



Orjinal konu: https://temrinlerim.org/index.php?topic=181.0

Dosyaları indirin: 209