Arduino + Ruby – mini joystick (serialport)

Olá pessoal mais um mini projeto,  vamos integrar o ruby e o arduino fazendo com que o ruby consiga ler e imprimir os dados enviados da serial port conforme os clicks em 2 botões (cima e baixo).

O que vamos utilizar no projeto:

– 2 botões

-Arduino Uno

-Protoboard mini

Fritzing:

Código arduino:

void setup()
{
Serial.begin(9600); //Disponibiliza o serial Monitor com velocidade de 9600 (Na janela da Serial Monitor coloque esta velocidade também)
pinMode(2, INPUT); //Configura a entrada digital 2 do Arduino como entrada
pinMode(3, INPUT); //Configura a entrada digital 2 do Arduino como entrada
}
void loop() {
int sensorCima = digitalRead(2); //Faz a leitura da entrada digital 2 e armazena na variavel sensorCima
if (sensorCima == 1)
{
Serial.println("cima"); //Mostra o valor da variável sensorValue no serial Monitor
}
int sensorBaixo = digitalRead(3); //Faz a leitura da entrada digital 3 e armazena na variavel sensorBaixo
if (sensorBaixo == 1)
{
Serial.println("baixo"); //Mostra o valor da variável sensorValue no serial Monitor
}
}

Código Ruby:  read.rb

require 'rubygems' #adiciona as bibliotecas rubygems
require 'serialport' #adiciona a biblioteca serialport

#parametros da serial port
port_str = "/dev/cu.usbmodem621"
baud_rate = 9600
data_bits = 8
stop_bits = 1
parity = SerialPort::NONE

sp = SerialPort.new(port_str, baud_rate, data_bits, stop_bits, parity)

#while para leitura da serial port
while true do
  printf("%c", sp.getc) #imprime dados
end

sp.close

Video:

Resultado Final:

Esse post foi publicado em Arduino, Ruby e marcado , , , , , . Guardar link permanente.

2 respostas para Arduino + Ruby – mini joystick (serialport)

  1. Rogerio Filho disse:

    Olá, gostaria de saber como fazer para fazer uma verificação no ruby se chegou alguma coisa na serial..
    Gostaria de saber se chegou algo na serial e so dps tomar uma atitude no ruby..

    por exemplo, como que eu recebo na serial um numero tipo 2368764238 e faço um if para so dps de receber esse numero eu fazer alguma coisa no ruby??

    • marcosschwaab disse:

      Olá Rogerio, voce pode fazer sim com o ruby, eu optei por fazer a verificação no arduino e com o ruby eu apenas imprimo na tela o resultado.

      Este é so um exemplo simples, mas a partir disso tem muitas possibilidades.

Deixe um comentário