Автоматическое управление поездом
Компоненты и расходные материалы
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
Приложения и онлайн-сервисы
|
Об этом проекте
Эта очень простая схема позволяет быстро поставить поезд по расписанию. Вы можете настроить время движения и время остановки поезда. Также можно настроить ускорение и торможение поезда. Изменяя параметры расписания в скетче, вы можете создать любой тип автоматического движения. Просто включите питание, и ваш поезд уедет.
Изменение временных параметров в скетче:
// 1 | 0> Время <5 секунд (counterScheduler <=5) {...... // 2 | 10 секунд> Время <15 секунд ((counterScheduler> =10) &&(counterScheduler <=15)) {...... // 3 | Изменить направление if (counterScheduler ==16) {.... и т. Д.
создает расписание.
Переменные:
int brakingDelta =5; int accelerateDelta =6;
определить параметры движения поезда
Направление поезда определяется состоянием штифтов D6 и D7:
// Устанавливаем направление по умолчанию FORWARD digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, LOW);
Вы можете бесконечно изменять этот эскиз, чтобы получить новые возможности для автоматического движения поездов.
Добро пожаловать на борт!
Код
- Качели
Swing Arduino
// L298 #define L298_ENA 5 # define L298_IN1 6 #define L298_IN2 7 // ПЕРЕМЕННЫЕ СКРИПТЫ int counterScheduler; unsigned long timerScheduler =0; unsigned long timerLocal =0; byte speedAuto =0; void setup () {// Инициализация контактов pinMode (L298_ENA, ВЫХОД); pinMode (L298_IN1, ВЫХОД); pinMode (L298_IN2, OUTPUT); // Устанавливаем направление по умолчанию FORWARD digitalWrite (L298_IN1, HIGH); digitalWrite (L298_IN2, LOW); } void loop () {// Запустить планировщик if (millis ()> (timerScheduler + 1000)) {// Тикать каждую секунду counterScheduler ++; timerScheduler =millis (); } // ------------- SCRIPT SWING int brakingDelta =5; int accelerateDelta =6; // 1 | 0> Время <5 секунд if (counterScheduler <=5) {// Запустить поезд if (millis ()> (timerLocal + 100)) {if (speedAuto <240) speedAuto =speedAuto + accelerateDelta; иначе speedAuto =255; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 2 | 10 секунд> Время <15 секунд if ((counterScheduler> =10) &&(counterScheduler <=15)) {// Остановка поезда через 10 секунд // Остановка поезда if (millis ()> (timerLocal + 100)) {if ( speedAuto> 30) speedAuto =speedAuto - brakingDelta; иначе speedAuto =0; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 3 | Изменить направление if (counterScheduler ==16) {digitalWrite (L298_IN1, LOW); digitalWrite (L298_IN2, ВЫСОКИЙ); } // 4 | 20 секунд> Время <30 секунд if ((counterScheduler> =20) &&(counterScheduler <=30)) {// Запустить поезд if (millis ()> (timerLocal + 100)) {if (speedAuto <240) speedAuto =speedAuto + accelerateDelta; иначе speedAuto =255; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 5 | 31 сек> Время <40 сек if ((counterScheduler> =31) &&(counterScheduler <=40)) {// Остановка поезда // Остановка поезда if (millis ()> (timerLocal + 100)) {if (speedAuto> 30 ) speedAuto =speedAuto - brakingDelta; иначе speedAuto =0; analogWrite (L298_ENA, speedAuto); timerLocal =millis (); }} // 6 | Вернитесь к шагу 1, если (counterScheduler> 40) {counterScheduler =0; digitalWrite (L298_IN1, ВЫСОКИЙ); digitalWrite (L298_IN2, LOW); }}
Схема
Производственный процесс
- Цепи управления
- Контроль заполнения бассейна
- Что такое Benchwork?
- Что такое контроль качества?
- Что такое автоматический пресс?
- Что такое автоматический силовой пресс?
- Что такое автоматический трубогиб?
- Что такое автоматический поворотный стол?
- Понимание системы автоматической коробки передач
- Понимание автоматической системы смазки