Mudanças entre as edições de "Garoando em linha"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 154: Linha 154:
 
// J.Rodrigo ( www.jra.so )
 
// J.Rodrigo ( www.jra.so )
 
// more info at www.ardublog.com
 
// more info at www.ardublog.com
  +
 
#include <Ultrasonic.h>
 
#include <Ultrasonic.h>
  +
 
Ultrasonic ultrasonic(5,6); // (Trig PIN,Echo PIN)
 
Ultrasonic ultrasonic(5,6); // (Trig PIN,Echo PIN)
  +
 
void setup() {
 
void setup() {
 
Serial.begin(9600);
 
Serial.begin(9600);
Linha 163: Linha 166:
 
digitalWrite(7, LOW); // GND mode
 
digitalWrite(7, LOW); // GND mode
 
}
 
}
  +
 
void loop()
 
void loop()
 
{
 
{
Linha 178: Linha 182:
 
// J.Rodrigo ( www.jra.so )
 
// J.Rodrigo ( www.jra.so )
 
// more info at www.ardublog.com
 
// more info at www.ardublog.com
  +
 
#include <Ultrasonic.h>
 
#include <Ultrasonic.h>
  +
 
Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)
 
Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)
  +
 
void setup() {
 
void setup() {
 
Serial.begin(9600);
 
Serial.begin(9600);
 
}
 
}
  +
 
void loop()
 
void loop()
 
{
 
{
Linha 189: Linha 197:
 
delay(100);
 
delay(100);
 
}
 
}
  +
</code>
   
  +
=====Exemplo: Exibir distância em um display LCD=====
  +
<code>
  +
// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
  +
// Rev.4 (06/2012)
  +
// J.Rodrigo ( www.jra.so )
  +
// more info at www.ardublog.com
  +
  +
#include <Ultrasonic.h>
  +
#include <LiquidCrystal.h>
  +
  +
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD arduino library
  +
  +
Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)
  +
  +
void setup() {
  +
lcd.begin(16, 2);
  +
}
  +
  +
void loop()
  +
{
  +
lcd.clear();
  +
lcd.setCursor(0, 0);
  +
lcd.print(ultrasonic.Ranging(CM)); // CM (centímetros) ou INC (inches - polegadas)
  +
lcd.print("cm");
  +
delay(100);
  +
}
  +
</code>
  +
  +
=====Exemplo: Obter tempo em ms do disparo à recepção=====
  +
<code>
  +
// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
  +
// Rev.4 (06/2012)
  +
// J.Rodrigo ( www.jra.so )
  +
// more info at www.ardublog.com
  +
  +
#include <Ultrasonic.h>
  +
  +
Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)
  +
  +
void setup() {
  +
Serial.begin(9600);
  +
}
  +
  +
void loop()
  +
{
  +
Serial.print(ultrasonic.Timing());
  +
Serial.println(" ms" ); // milisegundos
  +
delay(100);
  +
}
  +
</code>
  +
  +
=====Exemplo: Utilizar mais de um sensor em conjunto=====
  +
<code>
  +
// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
  +
// Rev.4 (06/2012)
  +
// J.Rodrigo ( www.jra.so )
  +
// more info at www.ardublog.com
  +
  +
#include <Ultrasonic.h>
  +
  +
Ultrasonic ultraleft(9,8); // (Trig PIN,Echo PIN)
  +
Ultrasonic ultraright(6,7); // (Trig PIN,Echo PIN)
  +
  +
void setup() {
  +
Serial.begin(9600);
  +
}
  +
  +
void loop()
  +
{
  +
Serial.print("Left: ");
  +
Serial.print(ultraleft.Ranging(CM)); // CM or INC
  +
Serial.print(" cm " );
  +
delay(50);
  +
Serial.print("Right: ");
  +
Serial.print(ultraright.Ranging(CM)); // CM or INC
  +
Serial.println(" cm" );
  +
delay(50);
  +
}
 
</code>
 
</code>
   
 
====Motor Drive Shield L293D====
 
====Motor Drive Shield L293D====
  +
=====Onde baixar=====
  +
 
Biblioteca: https://github.com/haoji/Adafruit-Motor-Shield-library
 
Biblioteca: https://github.com/haoji/Adafruit-Motor-Shield-library
  +
  +
=====Exemplo=====
   
 
===Sketch===
 
===Sketch===

Edição das 20h17min de 23 de agosto de 2013

Kit sendo desenvolvido para o Nós Robôs constituido de todos componentes necessários para um seguidor de linha básico, com um tutorial passo-a-passo.

A proposta é ser o mais didático possível e preparado para quem tem pouco ou nenhum conhecimento em Arduino, eletrônica ou robótica. Nesta página haverá conteúdo um pouco menos amigável, porém ideal para se estudar após compreender tudo contido no Passo-a-Passo.

Responsáveis

Haoji

Visão Geral

Kit garoando.jpg Chassi.JPG

Dimensões

Medidaspneu garoando.png Medidaschassi garoando.jpg

Hardware

Componentes do Kit

"*" Não incluso dentro do kit pois há vários disponíveis no Garoa

Montagem do Chassi

Montagem garoando.jpg

Há incluso no kit um pequeno manual de montagem que apresenta todos componentes básicos e um passo-a-passo de como montá-lo.

O mesmo pode ser acessado em formato PDF abaixo:

Clique aqui para baixar

Futuramente será incluído um manual mais amigável e didático, por enquanto está disponível apenas o fornecido pelo fabricante do chassi.

Motores

Motores garoando.jpg

Voltagem DC 3V DC 5V DC 6V
Corrente 100mA 100mA 120mA
Taxa de Redução 48:1
RPM (Com pneu) 100 190 240
Diametro do Pneu 66mm
Velocidade (m/minuto) 20 39 48
Peso do Motor 50g
Tamanho do Motor 70mm*22mm*18mm
Ruído <65dB

Sensor de Ultrasom HC-SR04

Hc-sr04-ultrasonic-sensor-500x500.jpg

Pinagem VCC Trig (Disparo) Echo (Recepção) GND
Voltagem DC 5V
Corrente (em repouso) < 2 mA
Saída Alto 5V / Baixo 0V
Ângulo < 15º
Distância 2 a 450 cm
Resolução 0,3 cm

Montagem do Arduino e Shield

Montagem dos Sensores

Software

Arduino IDE

Bibliotecas

Como instalar

Sensor de Ultrasom HC-SR04

Onde baixar

A biblioteca está disponível no GitHub: https://github.com/haoji/Ultrasonic-HC-SR04

Clique aqui para baixar: https://github.com/haoji/Ultrasonic-HC-SR04/archive/master.zip

Copie a pasta "Ultrasonic" para a pasta "libraries". Veja como Instalar se tiver dúvidas.

Alterando TimeOut Padrão

Por padrão a biblioteca limita o alcance do sensor a ~51cm utilizando um timeout de 3ms. O timeout limita o tempo de execução da função pulsein() para obter resultados mais precisos. A fórmula para se obter o timeout é a seguinte: centímetros * 58 = timeout

Substitua:

Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)

Por:

Ultrasonic ultrasonic(9,8,3000); // (Trig PIN,Echo PIN, Timeout máximo em µs )

E modifique 3000 pelo valor em µs adequado obtido pela fórmula acima

Exemplo: Plug & Play

Inserir o sensor nos pinos digitais 7, 6, 5, 4 virado para o lado oposto ao Arduino.

Veja: https://github.com/elrodri/Ultrasonic-HC-SR04/wiki/Plug-&-Play

// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
// Rev.4 (06/2012)
// J.Rodrigo ( www.jra.so )
// more info at www.ardublog.com

#include <Ultrasonic.h>

Ultrasonic ultrasonic(5,6); // (Trig PIN,Echo PIN)

void setup() {
  Serial.begin(9600);
  pinMode(4, OUTPUT); // VCC pin
  pinMode(7, OUTPUT); // GND ping
  digitalWrite(4, HIGH); // VCC +5V mode  
  digitalWrite(7, LOW);  // GND mode
}

void loop()
{
  Serial.print(ultrasonic.Ranging(CM)); // CM (centímetros) ou INC (inches - polegadas)
  Serial.println(" cm" );
  delay(100);
}

Exemplo: Exibir distância no console serial

// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
// Rev.4 (06/2012)
// J.Rodrigo ( www.jra.so )
// more info at www.ardublog.com

#include <Ultrasonic.h>

Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)

void setup() {
 Serial.begin(9600);
}

void loop()
{
 Serial.print(ultrasonic.Ranging(CM)); // CM (centímetros) ou INC (inches - polegadas)
 Serial.println(" cm" );
 delay(100);
}

Exemplo: Exibir distância em um display LCD

// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
// Rev.4 (06/2012)
// J.Rodrigo ( www.jra.so )
// more info at www.ardublog.com

#include <Ultrasonic.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // LCD arduino library

Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)

void setup() {
lcd.begin(16, 2);
}

void loop()
{
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print(ultrasonic.Ranging(CM)); // CM (centímetros) ou INC (inches - polegadas)
  lcd.print("cm");
  delay(100);
}

Exemplo: Obter tempo em ms do disparo à recepção

// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
// Rev.4 (06/2012)
// J.Rodrigo ( www.jra.so )
// more info at www.ardublog.com

#include <Ultrasonic.h>

Ultrasonic ultrasonic(9,8); // (Trig PIN,Echo PIN)

void setup() {
  Serial.begin(9600); 
}

void loop()
{
  Serial.print(ultrasonic.Timing());
  Serial.println(" ms" ); // milisegundos
  delay(100);
}

Exemplo: Utilizar mais de um sensor em conjunto

// Ultrasonic - Library for HR-SC04 Ultrasonic Ranging Module.
// Rev.4 (06/2012)
// J.Rodrigo ( www.jra.so )
// more info at www.ardublog.com

#include <Ultrasonic.h>

Ultrasonic ultraleft(9,8);   // (Trig PIN,Echo PIN)
Ultrasonic ultraright(6,7);  // (Trig PIN,Echo PIN)

void setup() {
  Serial.begin(9600); 
}

void loop()
{
  Serial.print("Left: ");
  Serial.print(ultraleft.Ranging(CM)); // CM or INC
  Serial.print(" cm     " );
  delay(50);
  Serial.print("Right: ");
  Serial.print(ultraright.Ranging(CM)); // CM or INC
  Serial.println(" cm" );
  delay(50);
}

Motor Drive Shield L293D

Onde baixar

Biblioteca: https://github.com/haoji/Adafruit-Motor-Shield-library

Exemplo

Sketch

Passo-a-Passo

Referências