User Tag List

Показано с 1 по 10 из 125

Тема: Scorpion ZS-256 Turbo+ (V16.2.7). Неторопливая сборка конструктора.

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #25

    Регистрация
    18.01.2023
    Адрес
    г. Брест, Беларусь
    Сообщений
    696
    Спасибо Благодарностей отдано 
    346
    Спасибо Благодарностей получено 
    508
    Поблагодарили
    220 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сегодня реализовал идею по использованию трехсегментного индикатора эмулятора дисковода Gotek, который никак не используется после подключения 2.42" OLED-экрана.

    Решил использовать этот индикатор для отображения режима Turbo. Для начала нашел спецификацию на этот индикатор. Это оказалось не трудно.

    https://github.com/coopzone-dc/GotekLEDC68



    Индикатор управляется по протоколу I2C. Поэтому, для простоты реализации взял дешевую плату Arduino NANO. Тем более, уже есть готовые библиотеки для работы Ардуино с индикатором.
    Итак, подключаем индикатор к выходам SCL и SDA. На плате это контакты А5 (19) и А4 (18) соответственно.



    Установил в Arduino IDE библиотеку GotekLEDC68. Это два файла TM1651.h, TM1651.cpp
    Запустил тестовый скетч DemoCounter - индикатор заработал.

    Мне надо организовать вывод двух надписей - nor и tur. Таких символов в драйвере индикатора нет. Поэтому, решил поступить просто. Изменить рисунок цифр в драйвере.
    Таким образом 123 - это будет nor, а 456 - это будет tur
    Рисунок символов лежит в секции static int8_t NumTab[] = файла TM1651.cpp (перед изменением сохраняем оригинальный файл!)

    Код:
    static int8_t NumTab[] = 
    { 0x3f, 0x54, 0x5c, 0x50, 0x78, 0x1c, 0x50, 0x07, 0x7f, 0x6f,
      0x77, 0x7c, 0x39, 0x5e, 0x79, 0x71,
      0x00, 0x63, 0x5c, 0x01, 0x40, 0x08
    }; //numbers 0-9, A-F, special chars
    Это коды рисунка цифр и сиволов от 0 до 9 и от A до F. Плюс еще какие-то символы.
    Нам надо поменять коды для цифр от 1 до 6
    Для этого удобно использовать готовые онлайн инстументы. Например, такой https://vip-cxema.org/index.php/onli...ed-kalkulyator
    Мышкой рисуем нужный символ и получаем HEX-код, который надо прописать на нужное место в секции static int8_t NumTab[] =.



    Изменил, проверил на тестовом скетче. Символы поменялись и выводятся корректно.

    Теперь, надо написать обработчик события. В нашем случае надо мониторить сигнал Turbo и, в зависимости от его уровня, выводить на индикатор надпись nor или tur.
    На плате есть выход для светодиода "Turbo". Вот к этому разъему удобно подключать плату Ардуино и отслеживать его уровень.



    Сигнал Turbo со Спектрума подключил к входу D2.
    Хочу сразу сказать, что я в Ардуино полный ноль. Пришлось посмотреть уроки.
    После этого написал простой скетч.

    Код:
    /***********************************************************/
    //Turbo-Mode indicator for Gotek 3 digit LED
    //Hardware: Re-Used Gotek 3 digit LED
    //Board:  Arduino NANO
    //Autor:        Froggy
    //Date:         14.12.2024
    /***************************************************************/
    
    #include "TM1651.h"
    #define CLK 19 //pins definitions for TM1651 and can be changed to other ports       
    #define DIO 18
    TM1651 Display(CLK,DIO);
    
    void setup()
    {
      pinMode(2, INPUT_PULLUP); //pin definition for INPUT signal (turbo-mode)
      Display.displaySet(2);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
    }
    
    void loop()
    {
      boolean turbo = digitalRead(2); // Read turbo status Scorpion 256
      if (turbo == 0)
        {
         uint16_t num = 123; // Normal-mode
         Display.displayInteger(num);    
               delay(100);      
        }
        else
        {
          if (turbo == 1)
        {
         uint16_t num = 456; // Turbo-mode
         Display.displayInteger(num);    
               delay(100);
        }
      }
    }
    Проверил на реальном Скорпионе - переключение работает корректно.







    Возможно, надписи nor и tur не самые информативные, но что-то лучшее придумать не смог. Были разные варианты, в т.ч. и по написанию букв.



    Еще можно подумать об загрузочном приветствии, которое будет отображаться на индикаторе только один раз при подаче на Спектрум питания. Но пока интересных идей у меня нет.
    Последний раз редактировалось Froggy; 14.12.2024 в 15:26.

    Эти 3 пользователя(ей) поблагодарили Froggy за это полезное сообщение:

    creator(14.12.2024), Grand(20.12.2024), SergZ(31.05.2025)

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

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

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

Похожие темы

  1. Scorpion ZS 256 Turbo+ Restored
    от molodcov_alex в разделе Scorpion
    Ответов: 579
    Последнее: 17.11.2025, 18:24
  2. Ответов: 501
    Последнее: 28.10.2025, 23:13
  3. Scorpion Turbo+ V16 новое в схеме
    от blackinwoman в разделе Scorpion
    Ответов: 9
    Последнее: 10.10.2017, 21:54
  4. Scorpion ZS 256 Turbo+ (схема)
    от deathsoft в разделе Scorpion
    Ответов: 103
    Последнее: 23.09.2017, 19:48

Ваши права

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