Лабораторный макет для Arduino


Понадобилось мне создание лабораторного макета, который можно было использовать в учебном процессе. Были предъявлены требования к суперантивандальной защите от студентов и универсальности макета.
Первый прототип макета уже сделан.

Выношу его на суд. Может быть кому-то пригодится идея.

Посмотреть на Яндекс.Фотках


Посмотреть на Яндекс.Фотках

Идея проста — спрятать Arduino, сделать коммутационную панель, добавить элементы для того чтобы можно было выполнить уроки по Arduino с Robocraft.ru

На базе светодиодов релизован эффект бегущих огней для демонстрации возможностей работы студентам.

int timedelay=100;  //задержка между огнями
int cycles=4;      //количество циклов выполнения каждого алгоритма
int lnumber=7;     //количество светодиодов
int i,j;           //переменные циклов
int programsNumber=0;        //флаг подпрограммы


void setup(){

        for (i=0;i<=lnumber;i++)
        {
          //определяем какие порты будут у нас рабочими, к примеру для 8 светодиодов: 0-7 
          pinMode(i,OUTPUT); 
        }
}


void loop(){ // основной цикл работы устройства
      switch (programsNumber)
      {
        case 0:
        {
                          
                //бегущий огонь в прямом направлении
                for (j=1;j<=cycles;j++)
                {//сначала в одну сторону
                      for (i=0;i<=lnumber;i++)
                      {
                            digitalWrite(i,HIGH);//включили лампу
                            delay(timedelay);    //подождали 
                            digitalWrite(i,LOW); //выключили лампу
                      }
                      //потом в другую 
                      for (i=lnumber+1;i>0;i--)
                      {
                            digitalWrite(i-1,HIGH);//включили лампу
                            delay(timedelay);      //подождали 
                            digitalWrite(i-1,LOW); //выключили лампу
                      }
                }
                
               programsNumber++; //переходим к следующему эффекту 
        }
        break;
        
      case 1:
      {
        //случайная лампа 
        
        for (j=0;j<=cycles;j++)
            {
                int rndlamp=random(lnumber+1); //случайный номер светодиода
                digitalWrite(rndlamp,HIGH);    //включили светодиод
                delay(timedelay);              //задержка
                digitalWrite(rndlamp,LOW);     //выключили
            }
        programsNumber++;                      //переходим к следующему эффекту 
        }
        break;
        
        
      case 2:
      {//теперь включаем и выключаем по нарастающей
        
        for (j=1;j<=cycles;j++)
        {
          for (i=0;i<=lnumber;i++)
          {
            digitalWrite(i,HIGH);//включаем лампы
            delay(timedelay);//подождали
          }
          
          for (i=lnumber+1;i>0;i--)
          {
            digitalWrite(i-1,LOW);//выключаем лампы
            delay(timedelay);//подождали
            }
          }
          
        programsNumber=0; //переходим к первому эффекту   
        }
      break;
      }
}

0 комментариев на «“Лабораторный макет для Arduino”»

    • Студенты и такую быстро убьют, особенно, если их 2-3 потока используют макет!

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Android Arduino Bluetooth CraftDuino DIY IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна конкурс манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение