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

Посмотреть на Яндекс.Фотках
Идея проста — спрятать 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 потока используют макет!
только если не закрыть все плексом 10 мм. 🙂