Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13
  1. #1
    Новичок
    Регистрация
    27.10.2010
    Возраст
    42
    Сообщений
    16
    Вес репутации
    170

    По умолчанию индикатор передачи

    Добрый день есть задачка.
    Есть пять контактов которые при переключении дают минус, хочется что бы
    при при переключении каждому из проводов соответствовала цифра на цифровом сегментном индикаторе т.е 1 контакт цифра 1 загоралось, 2 контакт цифра 2 и так далее. как можно это реализовать на Arduino?

  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    54
    Сообщений
    13,378
    Вес репутации
    10

    По умолчанию Re: индикатор передачи

    Есть пять контактов которые при переключении дают минус
    Так что нужно реализовать? Нужно что бы Ардуино на 5 контактах выдавал такой же сигнал?

  3. #3
    Пользователь Аватар для P@}{um
    Регистрация
    27.10.2009
    Возраст
    50
    Сообщений
    29
    Вес репутации
    184

    По умолчанию Re: индикатор передачи

    Цитата Сообщение от slavauskov Посмотреть сообщение
    Добрый день есть задачка.
    Есть пять контактов которые при переключении дают минус, хочется что бы
    при при переключении каждому из проводов соответствовала цифра на цифровом сегментном индикаторе т.е 1 контакт цифра 1 загоралось, 2 контакт цифра 2 и так далее. как можно это реализовать на Arduino?
    Если я правильно понял вопрос, то это называется шифратор (дешифратор). На Arduino можно, но это из пушки по воробьям.
    Последний раз редактировалось P@}{um; 13.09.2011 в 22:59.

  4. #4
    Местный Аватар для Gorynch
    Регистрация
    21.12.2009
    Возраст
    42
    Сообщений
    187
    Вес репутации
    246

    По умолчанию Re: индикатор передачи

    Цитата Сообщение от slavauskov Посмотреть сообщение
    каждому из проводов соответствовала цифра на цифровом сегментном индикаторе т.е 1 контакт цифра 1 загоралось, 2 контакт цифра 2 и так далее. как можно это реализовать на Arduino?
    я так понимаю, что требуется сделать отображение текущей передачи на индикаторе, т. е. отлавливать ардуиной какая сейчас передача и отображать её

    Upd: с ходу нашлось
    один
    Два
    Последний раз редактировалось Gorynch; 13.09.2011 в 23:33.

  5. #5
    Новичок
    Регистрация
    27.10.2010
    Возраст
    42
    Сообщений
    16
    Вес репутации
    170

    По умолчанию Re: индикатор передачи

    Есть пять контактов один из которых замыкаеться на землю при включении передачи. тоесть включаем первую передачу на проводе один появляеться минус и хотелось бы что бы на индекаторе загоралась цифра 1. если можно схемку и может на русском кто делал это ?
    Последний раз редактировалось slavauskov; 14.09.2011 в 00:29.

  6. #6
    Пользователь Аватар для lti1
    Регистрация
    15.10.2010
    Возраст
    48
    Сообщений
    78
    Вес репутации
    182

    По умолчанию Re: индикатор передачи

    Можно на МК собрать вот такую схемку, её и подключать будет попроще.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	Radio_06_2010.jpg 
Просмотров:	679 
Размер:	254.2 Кб 
ID:	13020  
    Вложения Вложения
    • Тип файла: zip per.zip (4.0 Кб, Просмотров: 185)
    Последний раз редактировалось lti1; 14.09.2011 в 02:24.

  7. #7
    Пользователь
    Регистрация
    19.12.2009
    Возраст
    52
    Сообщений
    99
    Вес репутации
    196

    По умолчанию Re: индикатор передачи

    А еще бы выводить на монитор

  8. #8
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    38
    Сообщений
    229
    Вес репутации
    392

    По умолчанию Re: индикатор передачи

    Код 1. без регистра
    PHP код:
    int gear=0;
    char digit[] = {
    0b11000000//0
    0b11111001//1
    0b10100100//2
    0b10110000//3
    0b10011001//4
    0b10010010  //5
    };

    void setup() 
    {  
      
    PORTD 0x00;
      
    DDRD 0xFF;
      
    PORTB=0x1F;
      
    DDRB=0x00
    }

    void loop()
    {
      if(
    digitalRead(8)==0)gear=1;
      if(
    digitalRead(9)==0)gear=2;
      if(
    digitalRead(10)==0)gear=3;
      if(
    digitalRead(11)==0)gear=4;
      if(
    digitalRead(12)==0)gear=5;
      
    delay(80);
      
    PORTD digit[gear];


    Код 2. с регистром:
    PHP код:
    //connected to ST_CP
    int latchPin 3;
    //connected to SH_CP
    int clockPin 4;
    //connected to DS
    int dataPin 2;
    int gear =0;

    int digit[] = 
    {
      
    192//0
      
    249//1
      
    164//2
      
    176//3
      
    153//4
      
    146};//5

    void setup() 
    {
      
    pinMode(latchPinOUTPUT);
      
    pinMode(clockPinOUTPUT);
      
    pinMode(dataPinOUTPUT);
      
    PORTB=0x1F;
      
    DDRB 0x00;
    }

    void loop() 
    {
        if(
    digitalRead(8)==0)gear=1;
        if(
    digitalRead(9)==0)gear=2;
        if(
    digitalRead(10)==0)gear=3;
        if(
    digitalRead(11)==0)gear=4;
        if(
    digitalRead(12)==0)gear=5;
        
    delay(80);
        
    digitalWrite(latchPinLOW);
        
    shiftOut(dataPinclockPinMSBFIRSTdigit[gear]);  
        
    digitalWrite(latchPinHIGH);

    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	1.JPG 
Просмотров:	284 
Размер:	53.9 Кб 
ID:	13022   Нажмите на изображение для увеличения. 

Название:	2.JPG 
Просмотров:	326 
Размер:	59.2 Кб 
ID:	13023  
    Последний раз редактировалось manu_245; 14.09.2011 в 14:52.

  9. #9
    Новичок
    Регистрация
    27.10.2010
    Возраст
    42
    Сообщений
    16
    Вес репутации
    170

    По умолчанию Re: индикатор передачи

    Цитата Сообщение от manu_245 Посмотреть сообщение
    Код 1. без регистра
    PHP код:
    int gear=0;
    char digit[] = {
    0b11000000//0
    0b11111001//1
    0b10100100//2
    0b10110000//3
    0b10011001//4
    0b10010010  //5
    };

    void setup() 
    {  
      
    PORTD 0x00;
      
    DDRD 0xFF;
      
    PORTB=0x1F;
      
    DDRB=0x00
    }

    void loop()
    {
      if(
    digitalRead(8)==0)gear=1;
      if(
    digitalRead(9)==0)gear=2;
      if(
    digitalRead(10)==0)gear=3;
      if(
    digitalRead(11)==0)gear=4;
      if(
    digitalRead(12)==0)gear=5;
      
    delay(80);
      
    PORTD digit[gear];


    Код 2. с регистром:
    PHP код:
    //connected to ST_CP
    int latchPin 3;
    //connected to SH_CP
    int clockPin 4;
    //connected to DS
    int dataPin 2;
    int gear =0;

    int digit[] = 
    {
      
    192//0
      
    249//1
      
    164//2
      
    176//3
      
    153//4
      
    146};//5

    void setup() 
    {
      
    pinMode(latchPinOUTPUT);
      
    pinMode(clockPinOUTPUT);
      
    pinMode(dataPinOUTPUT);
      
    PORTB=0x1F;
      
    DDRB 0x00;
    }

    void loop() 
    {
        if(
    digitalRead(8)==0)gear=1;
        if(
    digitalRead(9)==0)gear=2;
        if(
    digitalRead(10)==0)gear=3;
        if(
    digitalRead(11)==0)gear=4;
        if(
    digitalRead(12)==0)gear=5;
        
    delay(80);
        
    digitalWrite(latchPinLOW);
        
    shiftOut(dataPinclockPinMSBFIRSTdigit[gear]);  
        
    digitalWrite(latchPinHIGH);



    Огромное спасибо.

  10. #10
    Новичок
    Регистрация
    27.10.2010
    Возраст
    42
    Сообщений
    16
    Вес репутации
    170

    По умолчанию Re: индикатор передачи

    Добрый вечер. Manu245 а к этой схеме можно прикрутить вольтметр до 16 вольт и трех сегментный индикатор с пререключением между режимами вольтметра и индикации скорости по средствам кнопки без фиксации? И еще вопрос как будет отображаться нетраль? как 0 ? можно ли сделать в виде буквы n? Спасибо.

Страница 1 из 2 12 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •