Continuando na mesma linha , agora é apresentada uma aplicação para um sensor de distância bastante conhecido, o HC-SR04 para o Arduino usando programação em C# para ler a informação proveniente deste sensor (ver fotografia). A medição da distância por vezes torna-se um parâmetro bastante importante em diversos campos. Com esta intenção foi feito este simples trabalho.
Mas para isso é necessário compilar e carregar o seguinte código para o Arduino:
// Sensor HC-SR04
#define echoPin 7 // Echo Pin
#define trigPin 8 // Trigger Pin
long duration, distance;
void setup()
{
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
delay(200);
}
void loop()
{
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration/58.2;
Serial.println(distance);
delay(1000);
}Código este que é standard para este sensor. Quanto à rotina em programação em C# é mostrada abaixo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO.Ports;
namespace Arduino_test1
{
class Program
{
static void Main(string[] args)
{
SerialPort port = new SerialPort();
port.BaudRate = 9600;
port.PortName = "COM8";
port.Open();
int N = 20, distance;
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine(" Ler distancia com HS-SR04, Arduino e programação em C# - Tech-Portugal \n");
for (int i = 1; i < N; i++)
{
string data_rx = port.ReadLine();
distance = Convert.ToInt32(data_rx); // to converter to int type
Console.WriteLine(string.Format(" Distancia: {0:0.0##} cm", distance));
}
Console.ReadKey(true);
}
}
}A programação em C# é uma linguagem de alto nível e comparando com o trabalho anterior Aquisição de dados com DFR Arduino Romeo e o Dev-C++, assiste-se agora à simplicidade de código.
Por fim, este trabalho culminou na seguinte interface:
Onde é possível visualizar os dados da distância do sensor ao alvo. O Tech-Portugal tem o gosto de partilhar estas pequenas aplicações para incentivar as pessoas a programar e a fazer as suas próprias soluções.


