Controle Automático de Trem
Componentes e suprimentos
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Aplicativos e serviços online
|
Sobre este projeto
Esse esquema muito simples permite que você obtenha o trem rapidamente de acordo com sua programação. Você pode ajustar o tempo de movimento e o tempo de parada do trem. A aceleração e a frenagem do trem também são configuráveis. Ao alterar os parâmetros de programação no esboço, você pode criar qualquer tipo de movimento automático. Basta ligar a energia e seu trem partirá.
Alterando os parâmetros de tempo no esboço:
// 1 | 0> Tempo <5 seg (counterScheduler <=5) {...... // 2 | 10 s> Tempo <15 s ((counterScheduler> =10) &&(counterScheduler <=15)) {...... // 3 | Alterar directionif (counterScheduler ==16) {.... etc.
cria um calendário.
Variáveis:
int brakingDelta =5; int accelerateDelta =6;
definir os parâmetros de movimento do trem
A direção do trem é determinada pelo estado dos pinos D6 e D7:
// Define a direção padrão para FORWARD digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, LOW);
Você pode alterar esse esboço indefinidamente para obter novas opções para o movimento automático do trem.
Bem vindo a bordo!
Código
- Swing
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 os pinos pinMode (L298_ENA, SAÍDA); pinMode (L298_IN1, OUTPUT); pinMode (L298_IN2, OUTPUT); // Defina a direção padrão para FORWARD digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, LOW); } void loop () {// Iniciar o Agendador if (millis ()> (timerScheduler + 1000)) {// Marque a cada 1 segundo counterScheduler ++; timerScheduler =millis (); } // ------------- SCRIPT SWING int brakingDelta =5; int aceleraçãoDelta =6; // 1 | 0> Tempo <5 seg if (counterScheduler <=5) {// Iniciar o trem if (millis ()> (timerLocal + 100)) {if (speedAuto <240) speedAuto =speedAuto + accelerateDelta; senão speedAuto =255; analogWrite (L298_ENA, speedAuto); timerLocal =milis (); }} // 2 | 10 s> Tempo <15 s if ((counterScheduler> =10) &&(counterScheduler <=15)) {// Parar o trem após 10 s // Parar o trem if (millis ()> (timerLocal + 100)) {if ( speedAuto> 30) speedAuto =speedAuto - brakingDelta; senão speedAuto =0; analogWrite (L298_ENA, speedAuto); timerLocal =milis (); }} // 3 | Mudança de direção if (counterScheduler ==16) {digitalWrite (L298_IN1, LOW); digitalWrite (L298_IN2, HIGH); } // 4 | 20 s> Tempo <30 s if ((counterScheduler> =20) &&(counterScheduler <=30)) {// Iniciar o trem if (millis ()> (timerLocal + 100)) {if (speedAuto <240) speedAuto =speedAuto + acelerarDelta; senão speedAuto =255; analogWrite (L298_ENA, speedAuto); timerLocal =milis (); }} // 5 | 31 s> Tempo <40 s if ((counterScheduler> =31) &&(counterScheduler <=40)) {// Parar o trem // Parar o trem if (millis ()> (timerLocal + 100)) {if (speedAuto> 30 ) speedAuto =speedAuto - freioDelta; senão speedAuto =0; analogWrite (L298_ENA, speedAuto); timerLocal =milis (); }} // 6 | Retorne à Etapa 1 if (counterScheduler> 40) {counterScheduler =0; digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, LOW); }}
Esquemas
Processo de manufatura
- Circuitos de controle
- Controle de enchimento da piscina
- O que é Benchwork?
- O que é controle de qualidade?
- O que é uma máquina de prensa automática?
- O que é uma prensa automática de energia?
- O que é um dobrador de tubos automático?
- O que é mesa rotativa automática?
- Entendendo o sistema de transmissão automática
- Entendendo o sistema de lubrificação automática