1 2 3 |
<img src="http://www.gokhanaltan.com/wp-content/uploads/Ultrasonic_bb_qLycHbF.jpg" alt="" width="800" height="494" class="alignnone size-full wp-image-174" /> <img src="http://www.gokhanaltan.com/wp-content/uploads/Arduino-C.jpg" alt="" width="445" height="348" class="alignnone size-full wp-image-173" /> HC-SR04 kullanarak C# ve Arduino arasında veri gönderme uygulaması |
[csharp]
using System.IO.Ports; // Gerekli class
SerialPort serialPort = new SerialPort();
public Form1()
{
InitializeComponent();
serialPort.PortName = "COM3";
serialPort.BaudRate = 9600;
serialPort.Open();
timer1.Start();
label4.Text = "Kapali";
label4.ForeColor = Color.Red;
}
private void timer1_Tick(object sender, EventArgs e)
{
//Arduinodan gonderilen HC-SR04 degeri okunuyor
string cmMesafe = serialPort.ReadLine();
label1.Text = cmMesafe;
}
//Buton Olayi (Arduinoya C# ile Data gönderme)
if (button1.Text == "Aç")
{
serialPort.Write("1");
button1.Text = "Kapat";
label4.Text = "Acik";
label4.ForeColor = Color.Green;
}
else
{
serialPort.Write("0");
button1.Text = "Aç";
label4.Text = "Kapali";
label4.ForeColor = Color.Red;
}
[/csharp]
[csharp]
// Arduinodan C# için çıkış üretme
#define trigPin 12
#define echoPin 11
int microsaniyesure;
int cmmesafe;
void setup()
{
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(13, OUTPUT);
pinMode(3, OUTPUT);
}
void led()
{
if (Serial.available())
{
int a = Serial.read();
if (a == ‘1’)
{
digitalWrite(13, HIGH);
digitalWrite(3, HIGH);
}
if (a == ‘0’)
{
digitalWrite(13, LOW);
digitalWrite(3, LOW);
}
}
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
microsaniyesure = pulseIn(echoPin, HIGH);
cmmesafe = microsaniyesure / 58.3;
Serial.print(cmmesafe);
Serial.println("cm");
led();
delay(250);
}
[/csharp]