Linux Mint y una tarjeta Arduino UNO – parte 4
Después de descubrir la tarjeta Arduino para conectarme a un ordenador con Linux, aquí está el ensamblaje en SimulIDE como lo diseñé para encender cuatro LEDs uno tras otro, primero de arriba a abajo, luego de abajo hacia arriba.
He elegido conectar los cuatro LEDs a los puertos 10,11,12 y 13 de la tarjeta Arduino UNO. Cada LED está protegido por una resistencia de 100 ohmios.
Es importante tener en cuenta en qué puertos se han conectado los LEDs para el programa que controlará la persecución.
El conjunto de LEDs y resistencias se conecta a continuación al GND de la placa.
Esta es la parte más fácil de hacer.
Ahora me queda construir el programa para subirlo al mapa y me llevó mucho tiempo entender cómo hacerlo.
Hay algunas cosas que debes saber y dominar antes de que puedas dirigir la edición.
1 – Es necesario empezar por tragar los términos principales para construir el programa.
2 – Como no uso una tarjeta real, sino un simulador, tienes que grabar el programa en un formato determinado para subirlo.
El programa puede ser diseñado con el software Arduino IDE .
Una vez que el programa ha sido diseñado, simplemente haga clic en el primer botón para comprobarlo. Mientras haya errores, Arduino IDE se queja y se pone rojo de ira.
Una vez que Arduino IDE esté satisfecho y considere que el programa es bueno, debe» Exportar binarios compilados » usando el menú» Sketch «. Luego obtenemos un archivo con una extensión .hex como el que guardé para este programa. (chenillard_eric_5102018.ino.standard.hex). Este archivo se cargará en el controlador de tarjetas Arduino UNO del simulador SimulIDE.
Así es como se ve bajo SimulIDE:
En el centro el montaje, a la derecha el programa a abrir con el segundo icono. Una vez abierto el programa, haga clic en el penúltimo icono para cargarlo en el microcontrolador.
Haga clic en el botón rojo y finalmente tendrá el placer de ver la persecución cobrar vida.
Oh, sí, casi lo olvido. Aquí está el programa :
// Declaramos aquí las constantes del programa
const int led_1=10;
const int led_2=11;
const int led_3=12;
const int led_4=13;
void setup() {
// Coloque aquí los códigos que sólo se ejecutan una vez
// Decidimos que los puertos 10 a 13 serán salidas
pinMode(led_1,OUTPUT);
(Led_1,OUTPUT)
pinMode(led_2,OUTPUT);
(Led_2,OUTPUT)
pinMode(led_3,OUTPUT);
(Led_3,OUTPUT)
pinMode(led_4,OUTPUT);
(Led_4,OUTPUT)
Serial.begin(9600);
}
void loop() {
// Este es el programa que se ejecuta en loop:
digitalWrite(10,HIGH);
digitalWrite(11,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
digitalWrite(12,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)))
digitalWrite(13,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)))
retardo(150); // Un tiempo de pausa de 150ms
.
// El LED 1 está desactivado y el LED 2
está activado.
digitalWrite(led_1,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
digitalWrite(led_2,HIGH);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)))
retardo(150); // Un tiempo de pausa de 150ms
.
// El LED 2 está desactivado y el LED 3
está activado.
digitalWrite(led_2,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
digitalWrite(led_3,HIGH);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
retardo(150); // Un tiempo de pausa de 150ms
.
// El LED 3 está desactivado y el LED 4
está activado.
digitalWrite(led_3,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
digitalWrite(led_4,HIGH);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)))
retardo(150); // Un tiempo de pausa de 150ms
.
// Empezamos de nuevo pero en la dirección opuesta
digitalWrite(led_4,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
digitalWrite(led_3,HIGH);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
retardo(150); // Un tiempo de pausa de 150ms
.
digitalWrite(led_3,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
digitalWrite(led_2,HIGH);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)))
retardo(150); // Un tiempo de pausa de 150ms
.
digitalWrite(led_2,LOW);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>))
digitalWrite(led_1,HIGH);
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>)))
retardo(150); // Un tiempo de pausa de 150ms
.