Neste tutorial, continuaremos com o simulador de vôo FlightGear, como no tutorial anterior Parte 1, mas agora iremos mostrar o Arduino enviando comando para o simulador de vôo. Ligaremos um botão ao arduino e este enviando comando para o freio de estacionamento do simulador.
Primeiramente, conecte um botão entre o pino digital 2 e o 5V do Arduino e um resistor de 10K Ohm entre o pino digital 2 entre o GND.
Abra a IDE do Arduino, abra a programação exemplo localizada em File\Examples\Digital\Button e adicione as três linhas destacadas em vermelho na programação abaixo:
/*
Button
Turns on and off a light emitting diode(LED) connected to digital
pin 13, when pressing a pushbutton attached to pin 2.
The circuit:
* LED attached from pin 13 to ground
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground
* Note: on most Arduinos there is already an LED on the board
attached to pin 13.
created 2005
by DojoDave a href="http://www.0j0.org%3E">http://www.0j0.org>;;
modified 30 Aug 2011
by Tom Igoe
This example code is in the public domain.
http://www.arduino.cc/en/Tutorial/Button
*/
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = 2; // the number of the pushbutton pin
const int ledPin = 13; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop(){
// read the state of the pushbutton value:
buttonState = digitalRead(buttonPin);
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (buttonState == HIGH) {
// turn LED on:
digitalWrite(ledPin, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
}
Serial.println(buttonState);
delay(100);
}
Selecione a versão da placa Arduino (UNO, Duemilanove,etc) e a porta em que o Arduino está conectado (COMx, ttyUSBx, ttyACMx, etc) e faça o UPLOAD. Agora abra o Serial Monitor. Cada vez que apertar o botão, o LED acenderá e o Serial Monitor mostrará '1'. Ao soltar o botão irá aparecer '0'. Feche o Serial Monitor.
Vá para a pasta "data" do FlightGear, crie um arquivo novo dentro da pasta "protocol",cole a programação abaixo e salve o arquivo com o nome de "arduino-in.xml":
<?xml version="1.0"?>
<PropertyList>
<generic>
<input>
<line_separator>newline</line_separator
<var_separator>newline</var_separator>
<chunk>
<name>park</name>
<format>%d</format>
<node>/controls/gear/brake-parking</node>
</chunk>
</input>
</generic>
</PropertyList>
Este arquivo representa o que você quer importar pela porta serial. Entre cada <chunk> é um simulador de variável. Você pode mudar essa variável facilmente.
Se você estiver usando a linha de comando, adicione o código abaixo após o comando de lançamento:
--generic=serial,in,25,\\.\COM30,9600,arduino-in
Agora, se estiver usando o FG launcher, clique no botão "Advanced". Depois em "input/output' e então em "new". Configure de acordo com os paramêtros abaixo:
Então clique em "OK" e rode o simulador.
Pressione o botão para mudar o estado do freio e você verá o indicador de freio na tela e o LED da placa Arduino acender e apagar.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)