Пожалуйста помогите с кодом

piramorfix_31
Offline
Зарегистрирован: 12.02.2020

При нажатие на кнопку (светодиод горит беспрерывно) потом когда я нажимаю кнопку ещё раз с интервалом 0.5 сек включается 2 светодиод и так же когда я нажимаю на кнопку через 0.5 сек переключается на следующий и так бесконечно (спасибо)

nik182
Offline
Зарегистрирован: 04.05.2015

А где код?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

nik182 пишет:

А где код?

Это у Вас надо спросить, где код! Запрос уж почти час висит, а кода всё нет! Чё за разгильдяйство?

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

код который ходит сам по себе. Вот объявление, только вот неправильно написано .Надо так :

Пропал код, прошу найти за вознаграждение хозяину piramorfix_31 Описание -При нажатие на кнопку (светодиод горит беспрерывно) потом когда я нажимаю кнопку ещё раз с интервалом 0.5 сек включается 2 светодиод и так же когда я нажимаю на кнопку через 0.5 сек переключается на следующий и так бесконечно

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

piramorfix_31 пишет:

При нажатие на кнопку (светодиод горит беспрерывно) потом когда я нажимаю кнопку ещё раз с интервалом 0.5 сек включается 2 светодиод и так же когда я нажимаю на кнопку через 0.5 сек переключается на следующий и так бесконечно (спасибо)

Я за Вас безмерно рад! У Вас есть кнопка и светодиод, а также то, чем Вы на них нажимаете.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

mykaida пишет:
У Вас есть кнопка и светодиод
Вы недооцениваете ТС. У него есть бесконечное количество светодиодов.

RG22EM
Offline
Зарегистрирован: 27.08.2016

ЕвгенийП пишет:

mykaida пишет:
У Вас есть кнопка и светодиод
Вы недооцениваете ТС. У него есть бесконечное количество светодиодов.

ничёнепонял, а ведь прочитал несколько раз и, самое главное, вижу жеж, что язык русский, вроде бы как родной, а понять не могу

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

RG22EM пишет:

ничёнепонял,

Вы читали, что ТС написал?

piramorfix_31 пишет:

... (светодиод горит беспрерывно) потом когда я нажимаю кнопку ещё раз с интервалом 0.5 сек включается 2 светодиод и так же когда я нажимаю на кнопку через 0.5 сек переключается на следующий и так бесконечно (спасибо)

Сначала загорается светодиод, потом второй, потом следующий, и так бесконечно. Т.е. у него в схеме бесконечное количество светодиодов. Разве не так? Я чего-то не понял?

piramorfix_31
Offline
Зарегистрирован: 12.02.2020

я конечно не правильно написал как я понял (извиняюсь) нет их там не бесконечное количество их там 3 просто они при нажатии на кнопку должны переключатся типа как светофор

 

sadman41
Offline
Зарегистрирован: 19.10.2016

А сможете написать код, чтобы переменная i при нажатии на кнопку увеличивалась на 1? Потом - если она больше 2, то становилась нулём. Сумеете?

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

piramorfix_31 пишет:

я конечно не правильно написал как я понял (извиняюсь) нет их там не бесконечное количество их там 3 просто они при нажатии на кнопку должны переключатся типа как светофор

Опять что-ли порнухи перекачал и от гугла отстранили? Там энтих светофоров на ардуинке как грязи!

artam
Offline
Зарегистрирован: 24.12.2019

прошу сильно не ругаться -я новичок!

Есть скетч для бегущей строки,отлично работает на одном ряде по вертикали MAX7219.

Что нужно добавить ,для 2ух рядов

#include <SPI.h>                             // Подключаем библиотеку SPI
#include <Adafruit_GFX.h>                    // Подключаем библиотеку Adafruit_GFX
#include <Max72xxPanel.h>                    // Подключаем библиотеку Max72xxPanel
int pinCS = 9;                               // Указываем к какому выводу подключен контакт CS
int numberOfHorizontalDisplays = 1;          // Количество матриц по горизонтали
int numberOfVerticalDisplays = 8;            // Количество матриц по-вертикали

Max72xxPanel matrix = Max72xxPanel(pinCS, numberOfHorizontalDisplays, numberOfVerticalDisplays);

String tape = "";
int wait = 100;                             // интервал, чем меньше тем бытрее бежит строка
int spacer = 1;                             // Промежуток между символами (кол-во точек)
int width = 5 + spacer;                     // Ширина шрифта составляет 5 пикселей

void setup() {
  Serial.begin(9600);
  tape = utf8rus("МОСКОВСКИЙ ВОКЗАЛ");
  matrix.setIntensity(5);                    // Задаем яркость от 0 до 15
  matrix.setRotation(3);                     // Направление текс
 
}

void loop() {

  for ( int i = 0 ; i < width * tape.length() + matrix.width() - spacer; i++ )
  {
    matrix.fillScreen(LOW);

    int letter = i / width;                   // номер символа выводимого на матрицу

    int x = (matrix.width() - 1) - i % width;
    int y = (matrix.height() - 8) / 2;         // отцентрировать текст по вертикали

    while ( x + width - spacer >= 0 && letter >= 0 ) {
      if ( letter < tape.length() ) {
        matrix.drawChar(x, y, tape[letter], HIGH, LOW, 1);
      }
      letter--;
      x -= width;
    }
    matrix.write();                       // выведим значения на матрицу
    delay(wait);
  }
}

/* Функция перекодировки русских букв из UTF-8 в Win-1251 */
String utf8rus(String source)
{
  int i, k;
  String target;
  unsigned char n;
  char m[2] = { '0', '\0' };
  k = source.length(); i = 0;
  while (i < k) {
    n = source[i]; i++;
    if (n >= 0xC0) {
      switch (n) {
        case 0xD0: {
            n = source[i]; i++;
            if (n == 0x81) {
              n = 0xA8;
              break;
            }
            if (n >= 0x90 && n <= 0xBF) n = n + 0x2F;
            break;
          }
        case 0xD1: {
            n = source[i]; i++;
            if (n == 0x91) {
              n = 0xB7;
              break;
            }
            if (n >= 0x80 && n <= 0x8F) n = n + 0x6F;
            break;
          }
      }
    }
    m[0] = n; target = target + String(m);
  }
  return target;

 

artam
Offline
Зарегистрирован: 24.12.2019

прошу извинить не по вертикали а по горизонтали нужно 2 ой ряд

 

RG22EM
Offline
Зарегистрирован: 27.08.2016

piramorfix_31 пишет:

я конечно не правильно написал как я понял (извиняюсь) нет их там не бесконечное количество их там 3 просто они при нажатии на кнопку должны переключатся типа как светофор

Вы уж определитесь, как светофор или как здесь?
 

/*
 * http://arduino.ru/forum/programmirovanie/pozhaluista-pomogite-s-kodom#co...
 */
 int led1 = 2;
 int led2 = 3;
 int led3 = 4;
 int tr = 5;
 int e = 6;
 unsigned int t;
 unsigned int s;
 
void setup()
{
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(tr, OUTPUT);
  pinMode(e, INPUT);
  Serial.begin(9600);
}

void set_d010(){
  digitalWrite(led1,LOW);
  digitalWrite(led2,LOW);
  digitalWrite(led3,LOW);   
}

void set_d020(){
  digitalWrite(led1,HIGH);
  digitalWrite(led2,LOW);
  digitalWrite(led3,LOW);   
}

void set_d030(){
  digitalWrite(led1,LOW);
  digitalWrite(led2,HIGH);
  digitalWrite(led3,LOW);   
}
void set_d040(){
  digitalWrite(led1,LOW);
  digitalWrite(led2,LOW);
  digitalWrite(led3,HIGH);   
}

void set_40x(){
  digitalWrite(led1,HIGH);
  digitalWrite(led2,HIGH);
  digitalWrite(led3,HIGH);   
}

void loop()
{
  digitalWrite (tr,HIGH);
  delayMicroseconds(10);
  digitalWrite (tr, LOW);
  delayMicroseconds(10);
  t = pulseIn (e, HIGH);
  s = t/58;
  
  if( s < 10             ){  set_d010();  }  
  if( s >= 10 and s <=20 ){  set_d020();  }  
  if( s > 20 and s <=30  ){  set_d030();  }  
  if( s > 30 and s <=40  ){  set_d040();  }  
  if( s > 40 and s <=1000){  set_40x();   }
}

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

О как - а это уже и не ТС.

Артамчик! Только для Вас!

Создаем экземпляр класса matrix1 на другой ноге и там, где пишем matrix. ... , добавляем matrix1. ... Ну и добавляем другой текст в новую переменную tape1. 

Легко не получится, но если очень надо - есть платный раздел форума.

artam
Offline
Зарегистрирован: 24.12.2019

как создать на другой ноге  экземпляр класса

artam
Offline
Зарегистрирован: 24.12.2019

Где можно почитать,как создать экземпляр класса?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

artam пишет:

Где можно почитать,как создать экземпляр класса?

 

Да полно материалов. Вот, первый попавшийся - http://www.c-cpp.ru/books/vvedenie-v-klassy-s