Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
guias:mbot_con_ide_arduino [2017/05/09 17:49] – Manuel Miramontes | guias:mbot_con_ide_arduino [2021/04/16 20:41] (actual) – editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 10: | Línea 10: | ||
===== Instalación del Driver de comunicación en el ordenador ===== | ===== Instalación del Driver de comunicación en el ordenador ===== | ||
- | < | + | Hay muchas referencias de problemas con el chip de comunicación CH340g |
+ | Pero si tienes problemas, o prefieres probar a instalar la última versión, que en algunos casos funciona mejor, una buena idea para empezar es buscar en internet " | ||
+ | Si prefieres empezar por lo más fácil, basta con que en el programa mBlock selecciones en el menú **Conectar> | ||
- | Debes tener en cuenta que cuando abriste el Ranger por primera vez, la placa Auriga trae cargado un programa que incluye varias funciones, como usarla con el mBlock, o conectarte por Bluetooth. Cuando subas un nuevo programa desde el IDE de arduino ese programa se sustituye por el que estás subiendo, y pierdes esas funciones. Siempre puedes recuperar las funciones que venían de fábrica volviendo a cargar el programa original en el menú **Conectar> | ||
+ | Debes tener en cuenta que cuando abriste el Ranger por primera vez, la placa Auriga trae cargado un programa que incluye varias funciones para poder usarla con el mBlock, o conectarte por Bluetooth. Cuando subas un nuevo programa desde el IDE de arduino ese programa se sustituye por el que estás subiendo, y pierdes esas funciones. Siempre puedes recuperar las funciones que venían de fábrica volviendo a cargar el programa original en el menú **Conectar> | ||
- | </ | ||
====== La primera librería ====== | ====== La primera librería ====== | ||
Línea 24: | Línea 25: | ||
Para instalar esta librería y las otras que iremos necesitando lo primero es descargarla del repositorio que os indicamos en el párrafo anterior y descomprimirla. La librería que nos interesa es **mobilerobot**, | Para instalar esta librería y las otras que iremos necesitando lo primero es descargarla del repositorio que os indicamos en el párrafo anterior y descomprimirla. La librería que nos interesa es **mobilerobot**, | ||
- | {{ : | + | {{ : |
Para comprobar si la librería está bien instalada podéis entrar en el programa arduino, el IDE de arduino (si ya lo teníais abierto es necesario salir y volver a entrar cada vez que instaléis nuevas librerías). Luego, en el menú **Archivo> | Para comprobar si la librería está bien instalada podéis entrar en el programa arduino, el IDE de arduino (si ya lo teníais abierto es necesario salir y volver a entrar cada vez que instaléis nuevas librerías). Luego, en el menú **Archivo> | ||
Línea 37: | Línea 38: | ||
En el ejemplo se muestra cómo crear un objeto del tipo Robot que sea compatible con el Ranger, y cómo usar las cuatro funciones que acabamos de incluir: | En el ejemplo se muestra cómo crear un objeto del tipo Robot que sea compatible con el Ranger, y cómo usar las cuatro funciones que acabamos de incluir: | ||
- | * **fordward | + | * **forward |
* **reverse (velocidad_L, | * **reverse (velocidad_L, | ||
* **rotate (tiempo_giro)**: | * **rotate (tiempo_giro)**: | ||
Línea 62: | Línea 63: | ||
====== | ====== | ||
+ | |||
====== Explorando el mundo ====== | ====== Explorando el mundo ====== | ||
Línea 69: | Línea 71: | ||
* **Sensor de luz izquierdo** | * **Sensor de luz izquierdo** | ||
* **Sensor de luz derecho**.. A2 → analogRead(A2) | * **Sensor de luz derecho**.. A2 → analogRead(A2) | ||
- | * **Sensor de temperatura**.. A0 → analogRead(A0) | + | * **Sensor de temperatura**.. A0 → analogRead(A0) |
* **Sensor de sonido**……. A1 → analogRead(A1). | * **Sensor de sonido**……. A1 → analogRead(A1). | ||
Línea 88: | Línea 90: | ||
void loop() | void loop() | ||
{ | { | ||
+ | // Le o valor da tensión no pin A0 | ||
float v_temperatura = analogRead (PIN_temperatura); | float v_temperatura = analogRead (PIN_temperatura); | ||
+ | | ||
+ | // Calcula o valor da temperatura | ||
temperatura = 1.0 / (log(v_temperatura/ | temperatura = 1.0 / (log(v_temperatura/ | ||
| | ||
Línea 116: | Línea 121: | ||
for (int i=0; i<100; i++) | for (int i=0; i<100; i++) | ||
{ | { | ||
+ | // Le o valor da tensión no pin A1 e queda co máximo das medidas tomadas | ||
intensidad_sonido = max (intensidad_sonido, | intensidad_sonido = max (intensidad_sonido, | ||
} | } | ||
Línea 185: | Línea 191: | ||
* **Valor del sensor izquierdo** | * **Valor del sensor izquierdo** | ||
* **Valor del sensor derecho ** digitalRead(A12) | * **Valor del sensor derecho ** digitalRead(A12) | ||
- | ====== | ||
+ | Este es el código para siguelínes básico: | ||
+ | |||
+ | <code c_mac> | ||
+ | #include < | ||
+ | RobotMovil robot(46, | ||
+ | |||
+ | bool linea_dcha; | ||
+ | bool linea_izqda; | ||
+ | | ||
+ | |||
+ | void setup() { | ||
+ | pinMode (A7, INPUT); | ||
+ | pinMode (A12, INPUT); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | linea_dcha | ||
+ | linea_izqda = ! digitalRead (A12); | ||
+ | | ||
+ | // Os dous sensores están sobre a liña | ||
+ | if ( linea_dcha | ||
+ | | ||
+ | // O sensor dereito saíuse da liña | ||
+ | else if (! linea_dcha | ||
+ | |||
+ | // O sensor esquerdo saíuse da liña | ||
+ | else if ( linea_dcha | ||
+ | | ||
+ | // Falta programar o que pasa cando os dous sensores saen la liña | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ====== | ||
====== Sensor de ULTRA SONIDOS ====== | ====== Sensor de ULTRA SONIDOS ====== | ||
Línea 205: | Línea 243: | ||
==== El LED del mítico blink está demasiado escondido ==== | ==== El LED del mítico blink está demasiado escondido ==== | ||
- | Para muchos de nosotros el primer programa que hicimos en arduino es el blink que está en **Archivo> | + | Para muchos de nosotros el primer programa que hicimos en arduino es el blink que está en **Archivo> |
- | ==== Manejar | + | ==== Vamos a hacer un blink con los Neopixel ==== |
El círculo de luces que tiene la placa Auriga del Ranger está formado por un tipo de LED un tanto especial: los NEOPIXEL. Para manejarlos también hay una librería, en este caso de Adafruit: [[https:// | El círculo de luces que tiene la placa Auriga del Ranger está formado por un tipo de LED un tanto especial: los NEOPIXEL. Para manejarlos también hay una librería, en este caso de Adafruit: [[https:// | ||
- | {{ : | + | En nuestro caso tenemos un anillo formado por 12 Neopixel que están conectados al pin 44. Para que el ejemplo funcione con el Ranger debemos |
- | + | ||
- | En nuestro caso tenemos un anillo formado por 12 Neopixel que están conectados al pin 44. Para que el ejemplo funcione con el Ranger debemos | + | |
**#define PIN 44 ** | **#define PIN 44 ** | ||
Línea 223: | Línea 259: | ||
<code c_mac> | <code c_mac> | ||
#include < | #include < | ||
+ | |||
+ | int PIN = 44; // Pin no que están conectados os Neopixels | ||
+ | int NUMPIXELS = 12; // Número de Neopixels | ||
- | int PIN_Neopixels = 44; | + | Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); |
- | Adafruit_NeoPixel pixels = Adafruit_NeoPixel(12, PIN_Neopixels, NEO_GRB + NEO_KHZ800); | + | |
void setup() { | void setup() { | ||
- | pixels.begin (); | + | pixels.begin (); // Esta instrucción inicializa a librería |
} | } | ||
+ | |||
void loop (){ | void loop (){ | ||
+ | // Con este código encendemos o pixel 8 | ||
pixels.setPixelColor(8, | pixels.setPixelColor(8, | ||
pixels.show(); | pixels.show(); | ||
delay (500); | delay (500); | ||
+ | |||
pixels.setPixelColor(8, | pixels.setPixelColor(8, | ||
pixels.show(); | pixels.show(); |