Показать сообщение отдельно
Старый 22.02.2019, 08:39   #7 (permalink)
BrooSTR
Новичок
 
Регистрация: 22.02.2019
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Smile С.И. с общим анодом (ELD-436GWB\S411) + arduino uno.

Здравствуйте! Попался под руки семисегментный индикатор(ELD-436GWB\S411) от стиралки, с общим анодом. Подключил его одну секцию к портам arduino uno через резистор 330 Ом:
A-2; B-3; C-4; D-5; E-6; F-7; G-8; Общ.Анод-13.
И по совету Висмута написал код (перебирает числа)
Задержка delay задаёт интервал перебора.
Код громоздкий, но для понимания, думаю, самое то...
И ещё, в моём случае при такой конфигурации максимальный ток потребляет около 35 мА, что не совсем полезно ардуине, так что расчеты производите по своим данным.
Код:
#define Aa 2
#define Bb 3
#define Cc 4
#define Dd 5
#define Ee 6
#define Ff 7
#define Gg 8

int zn;
int i;
void setup() {
  for(i=0; i<8; i++) {
    pinMode(i+1, OUTPUT);
  }
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);
  zn = -1;
}

void loop() {
  for(;;) {
    
  zn++;
  if(zn > 9) {
    zn = 0;
  }
  switch (zn) {
    case 0: 
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 0); 
      digitalWrite(Ee, 0); 
      digitalWrite(Ff, 0); 
      digitalWrite(Gg, 1);
      break;
    case 1: 
//      Aa=1; Bb=0; Cc=0; Dd=1; Ee=1; Ff=1; Gg=1;
      digitalWrite(Aa, 1); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 1); 
      digitalWrite(Ee, 1); 
      digitalWrite(Ff, 1); 
      digitalWrite(Gg, 1);
      
      break;
    case 2: 
//      Aa=0; Bb=0; Cc=1; Dd=0; Ee=0; Ff=1; Gg=0;
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 1); 
      digitalWrite(Dd, 0); 
      digitalWrite(Ee, 0); 
      digitalWrite(Ff, 1); 
      digitalWrite(Gg, 0);
        
      break;
    case 3: 
//      Aa=0; Bb=0; Cc=0; Dd=0; Ee=1; Ff=1; Gg=0;
      
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 0); 
      digitalWrite(Ee, 1); 
      digitalWrite(Ff, 1); 
      digitalWrite(Gg, 0);
        
      break;
    case 4: 
//      Aa=1; Bb=0; Cc=0; Dd=1; Ee=1; Ff=0; Gg=0;
      
      digitalWrite(Aa, 1); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 1); 
      digitalWrite(Ee, 1); 
      digitalWrite(Ff, 0); 
      digitalWrite(Gg, 0);
        
      break;
    case 5: 
//      Aa=0; Bb=1; Cc=0; Dd=0; Ee=1; Ff=0; Gg=0;
      
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 1); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 0); 
      digitalWrite(Ee, 1); 
      digitalWrite(Ff, 0); 
      digitalWrite(Gg, 0);
        
      break;
    case 6: 
//      Aa=0; Bb=1; Cc=0; Dd=0; Ee=0; Ff=0; Gg=0;
      
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 1); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 0); 
      digitalWrite(Ee, 0); 
      digitalWrite(Ff, 0); 
      digitalWrite(Gg, 0);
        
      break;
    case 7: 
//      Aa=0; Bb=0; Cc=0; Dd=1; Ee=1; Ff=1; Gg=1;
      
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 1); 
      digitalWrite(Ee, 1); 
      digitalWrite(Ff, 1); 
      digitalWrite(Gg, 1);
        
      break;
    case 8: 
//      Aa=0; Bb=0; Cc=0; Dd=0; Ee=0; Ff=0; Gg=0;
      
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 0); 
      digitalWrite(Ee, 0); 
      digitalWrite(Ff, 0); 
      digitalWrite(Gg, 0);

      break;
    case 9: 
//      Aa=0; Bb=0; Cc=0; Dd=0; Ee=1; Ff=0; Gg=0;
      
      digitalWrite(Aa, 0); 
      digitalWrite(Bb, 0); 
      digitalWrite(Cc, 0); 
      digitalWrite(Dd, 0); 
      digitalWrite(Ee, 1); 
      digitalWrite(Ff, 0); 
      digitalWrite(Gg, 0);

      break;

  }
delay(2000);
 }  
  
}


Название: IMG_20190222_084444.jpg
Просмотров: 394

Размер: 182.5 Кб

Название: IMG_20190222_084611.jpg
Просмотров: 353

Размер: 169.4 Кб

Название: IMG_20190222_085435.jpg
Просмотров: 389

Размер: 155.3 Кб
BrooSTR вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070