Todos os artigos de Admin
roboOLA v0.2
Arduino o documentário
Ao pesquisar informação sobre o funcionamento do Arduino encontrei um documentário interessante que partilho aqui.
São 30 minutos que mostram como uma ideia simples mudou o mundo.
O vídeo foi encontrado no link:
Fernando Soares
ARDUINO SOFTWARE
A programação do Arduino pode ser feita através de vários métodos mas aquele que será utilizado no roboOLA é a framework
- Arduino IDE.
A solução passa por descarregar o ficheiro do site http://www.arduino.cc nomeadamente do link
- https://www.arduino.cc/en/Main/Software
No entanto esta solução tem um pequeno problema. Os alunos não têm permissão de instalação de software nos computadores da escola, por isso a utilização de uma solução portable é mais conveniente. Entenda-se que software portable é um tipo de software que pode ser copiado e configurado num dispositivo de armazenamento e executado sem ser necessário instalar o software.
Vamos então recorrer à solução indicada no guia do Arduino:
- https://www.arduino.cc/en/Guide/PortableIDE
Depois de testada serão postados aqui os problemas e soluções encontrados.
Fernando Soares
Motor + sensor
//Programa : Controle 2 motores DC usando Ponte H L298N
// Programa alterado para funcionar com a Ponte H da tynicine….
//Definicoes pinos Arduino ligados a entrada da Ponte H
#include <NewPing.h>
#define TRIGGER_PIN 4
#define ECHO_PIN 3
#define MAX_DISTANCE 200
#define PING_INTERVAL 330
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
int enA = 10;
int IN1 = 9;
int IN2 = 8;
int IN3 = 7;
int IN4 = 6;
int enB = 5;
void setup()
{
//Define os pinos como saida
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
}
void loop()
{
analogWrite(enA, 200);
analogWrite(enB, 200);
//Gira o Motor A no sentido horario
double sonarCm = sonar.ping_cm();
if(sonarCm<10 and sonarCm>0)
{
digitalWrite(IN1, HIGH);
digitalWrite(IN2, HIGH);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, HIGH);
}
else{
digitalWrite(IN1, HIGH);
digitalWrite(IN2, LOW);
digitalWrite(IN3, HIGH);
digitalWrite(IN4, LOW);
}
}
NewPing
#include <NewPing.h>
#define TRIGGER_PIN 4
#define ECHO_PIN 3
#define MAX_DISTANCE 200
#define PING_INTERVAL 330
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {
Serial.begin(9600);
}
void loop() {
delay(10);
double sonarCm = sonar.ping_cm();
// Serial.print(“Ping: “);
//Serial.print(uS / US_ROUNDTRIP_CM);
//Serial.print(sonarCm);
//Serial.print(“cm”);
if(sonarCm<10 and sonarCm>0)
{
Serial.println(“alerta”);
}
Serial.println(“”);
}
roboOLA-VOC
Boa tarde caros seguidores,
a colaboração da turma CMVOC para o RB01 vai ser a colocação de um sensor que permita parar o robot para reparação/operação.
Vamos usar para isso o sensor HC-SR04.
Em vez de usar um interruptor mecânico vamos usar o sensor ultra sônico para parar o robot.
Vamos seguir o tutorial do arduino portugal e filipeflop.
www.arduinoportugal.pt/temas/sensor-distancia-ultrasonico-hc-sr04
blog.filipeflop.com/sensores/sensor-ultrassonico-hc-sr04-ao-arduino.html
http://blog.filipeflop.com/sensores/sensor-ultrassonico-hc-sr04-ao-arduino.html
Abraço,
Leandro