Control automático de trenes
Componentes y suministros
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicaciones y servicios en línea
|
Acerca de este proyecto
Este esquema muy simple le permite poner el tren rápidamente en su horario. Puede ajustar el tiempo de movimiento y el tiempo de parada del tren. La aceleración y el frenado del tren también son configurables. Al cambiar los parámetros de programación en el croquis, puede crear cualquier tipo de movimiento automático. Simplemente encienda la energía y su tren se pondrá en camino.
Cambiar los parámetros de tiempo en el boceto:
// 1 | 0> Tiempo <5 secif (counterScheduler <=5) {...... // 2 | 10 seg> Tiempo <15 segif ((counterScheduler> =10) &&(counterScheduler <=15)) {...... // 3 | Cambiar de dirección si (counterScheduler ==16) {.... etc.
crea un horario.
Variables:
int brakingDelta =5; int accelerateDelta =6;
definir los parámetros de movimiento del tren
La dirección del tren está determinada por el estado de los pines D6 y D7:
// Establezca la dirección predeterminada en FORWARD digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, BAJO);
Puede cambiar infinitamente este boceto para obtener nuevas opciones para el movimiento automático del tren.
¡Bienvenido a bordo!
Código
- Columpio
Swing Arduino
// L298 #define L298_ENA 5 # define L298_IN1 6 # define L298_IN2 7 // SCRIPTS VARIABLESint counterScheduler; unsigned long timerScheduler =0; unsigned long timerLocal =0; byte speedAuto =0; void setup () {// Inicializando pines pinMode (L298_ENA, SALIDA); pinMode (L298_IN1, SALIDA); pinMode (L298_IN2, OUTPUT); // Establezca la dirección predeterminada en FORWARD digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, BAJO); } void loop () {// Iniciar el programador if (millis ()> (timerScheduler + 1000)) {// Marcar cada 1 seg. counterScheduler ++; timerScheduler =millis (); } // ------------- SCRIPT SWING int brakingDelta =5; int accelerateDelta =6; // 1 | 0> Tiempo <5 seg if (counterScheduler <=5) {// Iniciar tren if (millis ()> (timerLocal + 100)) {if (speedAuto <240) speedAuto =speedAuto + accelerateDelta; de lo contrario speedAuto =255; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 2 | 10 seg> Tiempo <15 seg if ((counterScheduler> =10) &&(counterScheduler <=15)) {// Detener el tren después de 10 seg // Detener el tren if (millis ()> (timerLocal + 100)) {if ( speedAuto> 30) speedAuto =speedAuto - brakingDelta; else speedAuto =0; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 3 | Cambiar de dirección si (counterScheduler ==16) {digitalWrite (L298_IN1, LOW); escritura digital (L298_IN2, ALTA); } // 4 | 20 seg> Tiempo <30 seg if ((counterScheduler> =20) &&(counterScheduler <=30)) {// Iniciar tren if (millis ()> (timerLocal + 100)) {if (speedAuto <240) speedAuto =speedAuto + accelerateDelta; de lo contrario speedAuto =255; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 5 | 31 seg> Tiempo <40 seg if ((counterScheduler> =31) &&(counterScheduler <=40)) {// Detener el tren // Detener el tren if (millis ()> (timerLocal + 100)) {if (speedAuto> 30 ) speedAuto =speedAuto - brakingDelta; else speedAuto =0; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 6 | Regrese al paso 1 si (counterScheduler> 40) {counterScheduler =0; escritura digital (L298_IN1, ALTA); digitalWrite (L298_IN2, BAJO); }}
Esquemas
Proceso de manufactura
- Circuitos de control
- Píldora anticonceptiva
- Control de llenado de piscinas
- ¿Qué es Benchwork?
- ¿Qué es el control de calidad?
- ¿Qué es una máquina de prensa automática?
- ¿Qué es una prensa automática?
- ¿Qué es una dobladora automática de tubos?
- ¿Qué es la mesa giratoria automática?
- Comprender el sistema de transmisión automática
- Comprender el sistema de lubricación automática