Помогите сделать скетч для велосипеда

viblooop
Offline
Зарегистрирован: 11.04.2015

На ютубе выложено ДЕМО видео  http://www.youtube.com/watch?v=YyMRflX0Z6U

Я такое собрал и залил в него скетч из комментариев к этому видео.

Прошу помощи у программеров или просто опытных людей. Хочу вышеописанное устройство переделать в реально работающий сигнал стоп-поворот для велосипеда.

Что есть на данный момент:

Arduino UNO R3

Два модуля 8Х8 Led Matrix на основе max7219

2 кнопки 

ползунковый резистор на 10 кОм

провода и АКБ

 

Тех задание такое:

Во время езды должен гореть "Квадрат"

При нажатии 1-й кнопки загараться "поворот на лево"

При нажатии 2-й кнопки загараться "поворот на право"

При нажати этих же кнопок одновременно- загараться "аварийка"

При нажати Тормоза тросиком приводится в движение ползунковый резистор и картинка на матрицах заполняется полностью либо загараются крестики.

Есть всё что на этой картинке. https://yadi.sk/i/OfSd_LKafvPB2 если чего-то не хватает раздобуду. В железе опыт огромный. а вот по софту - чайник.

Думаю такое изделие будет интересно не только мне..

В общем прошу помочь!

vov4ik
Offline
Зарегистрирован: 10.09.2013

Выкинь ардуино.

Две 555, транзисторный ключ и поворотники с аварийкой готовы.

Резистор также через транзистор вот и стопарь.

viblooop
Offline
Зарегистрирован: 11.04.2015

на ne555 уже стоит. хочу чтобы не просто моргала, а были рисунки. А еще хочется на ардуино потому что в будущем хочу добавить одометр и сигнализацию.

vov4ik
Offline
Зарегистрирован: 10.09.2013

#include <MaxMatrix.h>
//  спрайт стрелки
byte strela[] = {8, 8, B10010010,B01001001,B00100100,B10010010,B10010010,B00100100,B01001001,B10010010};
byte strela2[] = {8, 8, B01001001,B00100100,B10010010,B01001001,B01001001,B10010010,B00100100,B01001001};
byte strela3[] = {8, 8,  B00100100,B10010010,B01001001,B00100100,B00100100,B01001001,B10010010,B00100100};
int x = 0; // укозатель по х
int y = 0; // укозатель по y
// описание подключения матрицы
// DIN к 8
// CS к 9
// CLK к 10
// 1 модуль
MaxMatrix m(8, 9, 10, 1);
void setup(){
 pinMode(5, INPUT);digitalWrite(5, HIGH);//кнопка 5 подтянутая к 5В
 m.init();
 m.setIntensity(3); // яркость матриц 0 из 15
  }
void loop(){
if (!digitalRead(5)){
  m.writeSprite(x, y, strela);delay(200);
  m.writeSprite(x, y, strela2);delay(200);
  m.writeSprite(x, y, strela3);delay(200);
}
else {
for (int i=0; i<8; i++)
  {
    m.shiftRight(false);
    delay(50); 
    }
  }
}

Не проверял, но вроде должно работать.

viblooop
Offline
Зарегистрирован: 11.04.2015


Спасибо!

Уже и сам разобрался. Немного по другому конечно сделал... может по ламерски...но это мой первый эксперимент..

Ещё раз спасибо




viblooop
Offline
Зарегистрирован: 11.04.2015

Скоро доделаю корпус и выложу видео.

viblooop
Offline
Зарегистрирован: 11.04.2015
//We always have to include the library
#include "LedControl.h"

/*
 Now we need a LedControl to work with.
 *** These pin numbers will probably not work with your hardware ***
 pin 10 is connected to the DataIn 
 pin 8 is connected to the CLK 
 pin 9 is connected to LOAD 
 We have only a single MAX72XX.
 */
LedControl lc=LedControl(10,8,9,2);
int RightBut = 3; //устанавливаем правую кнопку на пин 3
int LeftBut = 4; //устанавливаем левую кнопку на пин 4
int StopBut = 5; //устанавливаем кнопку тормоза на пин 5
int Spasibo = 6; //устанавливаем на пин 6
int val = 0; 
int val1 =0;
int val2 = 0;
int val3 = 0;

/* we always wait a bit between updates of the display */
unsigned long delaytime=1000;
unsigned long delaytime2=200;

void setup() {
//Тут задаём параметры обоих дисплеев
  pinMode(RightBut,INPUT); //назначаем входом
  pinMode(LeftBut,INPUT); //назначаем входом
  pinMode(StopBut,INPUT); //назначаем входом
  pinMode(Spasibo,INPUT); //назначаем входом
 
//Первого
  lc.shutdown(0,false);
  /* Set the brightness to a medium values */
  lc.setIntensity(0,10);
  /* and clear the display */
  lc.clearDisplay(0);
//Второго  
  lc.shutdown(1,false);
  lc.setIntensity(1,10);
  lc.clearDisplay(1);
}

  //Задаём светящиеся яичейки и кол-во байт
void kvadro() {
  /*Устанавливаем как будут светится квадраты */
  
  byte kvadrat[8]={B11111111,B10000001,B10000001,B10000001,B10000001,B10000001,B10000001,B11111111};//Квадрат
  lc.setRow(0,0,kvadrat[0]);
  lc.setRow(0,1,kvadrat[1]);
  lc.setRow(0,2,kvadrat[2]);
  lc.setRow(0,3,kvadrat[3]);
  lc.setRow(0,4,kvadrat[4]);
  lc.setRow(0,5,kvadrat[5]);
  lc.setRow(0,6,kvadrat[6]);
  lc.setRow(0,7,kvadrat[7]);
  lc.setRow(0,8,kvadrat[8]);
  lc.setRow(1,0,kvadrat[0]);
  lc.setRow(1,1,kvadrat[1]);
  lc.setRow(1,2,kvadrat[2]);
  lc.setRow(1,3,kvadrat[3]);
  lc.setRow(1,4,kvadrat[4]);
  lc.setRow(1,5,kvadrat[5]);
  lc.setRow(1,6,kvadrat[6]);
  lc.setRow(1,7,kvadrat[7]);
  lc.setRow(1,8,kvadrat[8]);
  delay(delaytime);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  
}

void left() {
  /*Устанавливаем как будут светиться повороты влево*/
  byte levo[8]={B00010001,B00100010,B01000100,B10001000,B10001000,B01000100,B00100010,B00010001};//Левый поворот
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
 delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
 delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,levo[0]);
  lc.setRow(0,1,levo[1]);
  lc.setRow(0,2,levo[2]);
  lc.setRow(0,3,levo[3]);
  lc.setRow(0,4,levo[4]);
  lc.setRow(0,5,levo[5]);
  lc.setRow(0,6,levo[6]);
  lc.setRow(0,7,levo[7]);
  lc.setRow(0,8,levo[8]);
  lc.setRow(1,0,levo[0]);
  lc.setRow(1,1,levo[1]);
  lc.setRow(1,2,levo[2]);
  lc.setRow(1,3,levo[3]);
  lc.setRow(1,4,levo[4]);
  lc.setRow(1,5,levo[5]);
  lc.setRow(1,6,levo[6]);
  lc.setRow(1,7,levo[7]);
  lc.setRow(1,8,levo[8]);
  delay(delaytime2);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
}
void right(){
  /*устанавливаем как будут сетиться поворотники вправо*/
byte pravo[8]={B10001000,B01000100,B00100010,B00010001,B00010001,B00100010,B01000100,B10001000};//Правый поворот
lc.clearDisplay(1);
lc.clearDisplay(0);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
lc.setRow(1,0,pravo[0]);
lc.setRow(1,1,pravo[1]);
lc.setRow(1,2,pravo[2]);
lc.setRow(1,3,pravo[3]);
lc.setRow(1,4,pravo[4]);
lc.setRow(1,5,pravo[5]);
lc.setRow(1,6,pravo[6]);
lc.setRow(1,7,pravo[7]);
lc.setRow(1,8,pravo[8]);
lc.setRow(0,0,pravo[0]);
lc.setRow(0,1,pravo[1]);
lc.setRow(0,2,pravo[2]);
lc.setRow(0,3,pravo[3]);
lc.setRow(0,4,pravo[4]);
lc.setRow(0,5,pravo[5]);
lc.setRow(0,6,pravo[6]);
lc.setRow(0,7,pravo[7]);
lc.setRow(0,8,pravo[8]);
delay(delaytime2);
lc.clearDisplay(1);
lc.clearDisplay(0);
delay(delaytime2);
}
void tormoz()
{
  /*Прописываем как будет гореть тормоз*/
  byte x[8]={B10000001,B01000010,B00100100,B00011000,B00011000,B00100100,B01000010,B10000001};//Перечёркивание
 lc.setRow(0,0,x[0]);
  lc.setRow(0,1,x[1]);
  lc.setRow(0,2,x[2]);
  lc.setRow(0,3,x[3]);
  lc.setRow(0,4,x[4]);
  lc.setRow(0,5,x[5]);
  lc.setRow(0,6,x[6]);
  lc.setRow(0,7,x[7]);
  lc.setRow(0,8,x[8]);
  lc.setRow(1,0,x[0]);
  lc.setRow(1,1,x[1]);
  lc.setRow(1,2,x[2]);
  lc.setRow(1,3,x[3]);
  lc.setRow(1,4,x[4]);
  lc.setRow(1,5,x[5]);
  lc.setRow(1,6,x[6]);
  lc.setRow(1,7,x[7]);
  lc.setRow(1,8,x[8]);
  delay(delaytime);
}
void sps(){
  /*устанавливаем как будут сетиться поворотники вправо*/
byte krug[8]={B00000000,B01100110,B01100110,B00000000,B00000000,B10000001,B01000010,B00111100};//Круг (ромб)
  lc.setRow(0,0,krug[0]);
  lc.setRow(0,1,krug[1]);
  lc.setRow(0,2,krug[2]);
  lc.setRow(0,3,krug[3]);
  lc.setRow(0,4,krug[4]);
  lc.setRow(0,5,krug[5]);
  lc.setRow(0,6,krug[6]);
  lc.setRow(0,7,krug[7]);
  lc.setRow(0,8,krug[8]);
  lc.setRow(1,0,krug[0]);
  lc.setRow(1,1,krug[1]);
  lc.setRow(1,2,krug[2]);
  lc.setRow(1,3,krug[3]);
  lc.setRow(1,4,krug[4]);
  lc.setRow(1,5,krug[5]);
  lc.setRow(1,6,krug[6]);
  lc.setRow(1,7,krug[7]);
  lc.setRow(1,8,krug[8]);
  delay(delaytime);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,krug[0]);
  lc.setRow(0,1,krug[1]);
  lc.setRow(0,2,krug[2]);
  lc.setRow(0,3,krug[3]);
  lc.setRow(0,4,krug[4]);
  lc.setRow(0,5,krug[5]);
  lc.setRow(0,6,krug[6]);
  lc.setRow(0,7,krug[7]);
  lc.setRow(0,8,krug[8]);
  lc.setRow(1,0,krug[0]);
  lc.setRow(1,1,krug[1]);
  lc.setRow(1,2,krug[2]);
  lc.setRow(1,3,krug[3]);
  lc.setRow(1,4,krug[4]);
  lc.setRow(1,5,krug[5]);
  lc.setRow(1,6,krug[6]);
  lc.setRow(1,7,krug[7]);
  lc.setRow(1,8,krug[8]);
  delay(delaytime);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
 lc.setRow(0,0,krug[0]);
  lc.setRow(0,1,krug[1]);
  lc.setRow(0,2,krug[2]);
  lc.setRow(0,3,krug[3]);
  lc.setRow(0,4,krug[4]);
  lc.setRow(0,5,krug[5]);
  lc.setRow(0,6,krug[6]);
  lc.setRow(0,7,krug[7]);
  lc.setRow(0,8,krug[8]);
  lc.setRow(1,0,krug[0]);
  lc.setRow(1,1,krug[1]);
  lc.setRow(1,2,krug[2]);
  lc.setRow(1,3,krug[3]);
  lc.setRow(1,4,krug[4]);
  lc.setRow(1,5,krug[5]);
  lc.setRow(1,6,krug[6]);
  lc.setRow(1,7,krug[7]);
  lc.setRow(1,8,krug[8]);
  delay(delaytime);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
  lc.setRow(0,0,krug[0]);
  lc.setRow(0,1,krug[1]);
  lc.setRow(0,2,krug[2]);
  lc.setRow(0,3,krug[3]);
  lc.setRow(0,4,krug[4]);
  lc.setRow(0,5,krug[5]);
  lc.setRow(0,6,krug[6]);
  lc.setRow(0,7,krug[7]);
  lc.setRow(0,8,krug[8]);
  lc.setRow(1,0,krug[0]);
  lc.setRow(1,1,krug[1]);
  lc.setRow(1,2,krug[2]);
  lc.setRow(1,3,krug[3]);
  lc.setRow(1,4,krug[4]);
  lc.setRow(1,5,krug[5]);
  lc.setRow(1,6,krug[6]);
  lc.setRow(1,7,krug[7]);
  lc.setRow(1,8,krug[8]);
  delay(delaytime);
  lc.clearDisplay(0);
  lc.clearDisplay(1);
  delay(delaytime2);
}
void loop() 
{
  val = digitalRead(LeftBut);// считываем значение с входа
if (val == HIGH)

   { left();}
   else val1 = digitalRead(RightBut);// считываем значение с входаif
        if (val1 == HIGH)
        {right();}
        else val2 = digitalRead(StopBut);
        if (val2 == HIGH)
        {tormoz();}
                else val3 = digitalRead(Spasibo);
                if (val3==HIGH)
                {sps();}
 else 
{kvadro();}

}

 

dj-toxa
Offline
Зарегистрирован: 06.04.2016

тоже занялся проектом на эту же тематику, создал тему, но что то ни кто помоч не желает (( буду мучить сам. задумка примерно та же только делаю на цельной планке из 4х матриц так хоть поворот анимированый красивей выглядит чем просто моргалка и мигающее слово СТОП (с инверсией и без) помещается =) вообщем будет желание пиши мож че по интереснее вместе придумаем, одна голова хорошо, а две мутант =) P.S. в планах еще прикрутить радиомодуль для беспроводного управления поворотниками