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.