Понимающие это, отзовитесь)))

Princess
Offline
Зарегистрирован: 10.05.2016

Разработать скетч с четырехразрядным индикатором так, чтобы справа налево передвигалось бы в бесконечном цикле число «10».
Подключение через сдвиговый регитор, общий анод.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Раздел "Ищу исполнителя". Все исполнители - "понимающие".

Logik
Offline
Зарегистрирован: 05.08.2014

Понимаю, сострадаю, скорблю вместе...

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

Princess пишет:

Разработать скетч с четырехразрядным индикатором так, чтобы справа налево передвигалось бы в бесконечном цикле число «10».

Подключение через сдвиговый регитор, общий анод.

Кто-то или что-то мешает? В чём проблема-то?

Princess
Offline
Зарегистрирован: 10.05.2016

отсустствие достаточного количества мозгов

MagicianT
Offline
Зарегистрирован: 03.10.2015
Компьютер же  включить есть интелект? А гугл что, трудно сёарч паттерн подобрать? Там всё найти можно, и схемы и код, есть и инстрактаблы, для тех кто по пунктам собирать любит.
search?client=opera&q=скетч+с+четырехразрядным+индикатором+&sourceid=opera&ie=UTF-8&oe=UTF-8
 
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Princess пишет:

отсустствие достаточного количества мозгов

Да, ладно прибедняться. У человека, способного сказать так о себе с мозгами всё в порядке.

Знаний может не хватает, а вовсе не мозгов, так это дело наживное.

Princess
Offline
Зарегистрирован: 10.05.2016

спасибо, очень полезная информация!)

Princess
Offline
Зарегистрирован: 10.05.2016

может и знаний не хватает, но как-то не удаеться мне его подключить(

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Princess пишет:

отсустствие достаточного количества мозгов

Когда не хватает своих мозгов, обычно подключают внешние по I2C.

Tomasina
Tomasina аватар
Offline
Зарегистрирован: 09.03.2013

по I2C пропускной способности не хватит.

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

Это если мозги быстродействующие. 

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

Princess,

1. Колитесь, это ученическое задание?

2. Перечитайте свой первый пост. Вам не кажется, что в нём используются грамматико-семантическая форма приказа, а не просьбы? Собственно и так-то вероятнось того, что кто-то здесь напишет скетч за Вас весьма невелика, ну, а с такой формой обращения, так и вовсе стремится к нулю. Подумайте об этом.

Princess
Offline
Зарегистрирован: 10.05.2016

1. Да, это лабораторное задание

2. полностью согласна, не подумала об этом((

Maverik
Offline
Зарегистрирован: 12.09.2012

2. полностью согласен, не подумал об этом((

Вот это был прокол, а так то с ником Princess  могло прокатить и на халяву. )))

MagicianT
Offline
Зарегистрирован: 03.10.2015

Там в линке из 5-го поста есть и код для самых умных:

#include <SPI.h>  //подключаем библиотеку SPI

const int RCK = 7; //pin7 запись в вых.регистр 74НС595
char datr[9] = "1834 790"; //выводимые на индик. знаки
int i;
byte razr = 0;

void setup() {
  pinMode(RCK, OUTPUT);  // строб записи в парал.регистр
  digitalWrite(RCK, LOW);
  SPI.begin();         //иниц. SPI: "по умолчанию" нам подходит
  SPI.transfer(0);     //очистим регистр разрядов
  SPI.transfer(0xff);  //очистим регистр сегментов
  digitalWrite(RCK, HIGH);  //запись в вых.парал.регистр
  digitalWrite(RCK, LOW);
}

void loop() {
  for (i=0; i < 8; i++) {  //один цикл развертки по всем разрядам
    razr = 1 << i;         //определяем "1" в нужный разряд
    SPI.transfer(razr);    //запись в регистр разряда
    SPI.transfer(CodeSeven(datr[i]));  //в регистр сегментов
    digitalWrite(RCK, HIGH);  //запись в вых.парал.регистр
    digitalWrite(RCK, LOW);
    delay(3);              //время индикации одного разряда
  }
}

//перекодировка символа в 7-сегментное представление
byte CodeSeven(char inv) {
  byte rez;
  switch (inv) {
     case '0': rez = 0xc0;  //"0" все светятся кроме G
         break;
     case '1': rez = 0xf9;  //"1" светятся только B и С
         break;
     case '2': rez = 0xa4;
         break;
     case '3': rez = 0xb0;
         break;
     case '4': rez = 0x99;
         break;
     case '5': rez = 0x92;
         break;
     case '6': rez = 0x82;
         break;
     case '7': rez = 0xf8;
         break;
     case '8': rez = 0x80;
         break;
     case '9': rez = 0x90;
         break;
     default: rez = 0xff;    //все иные символы - гашение
  }
  return rez;
}

Осталось только сдвижку добавить.

Princess
Offline
Зарегистрирован: 10.05.2016

очень сомневаюсь

Princess
Offline
Зарегистрирован: 10.05.2016

благодарю за помощ!