Показано с 1 по 2 из 2

Тема: max6675 и TM1637

  1. #1
    Местный Аватар для Kevin
    Регистрация
    02.02.2018
    Возраст
    48
    Сообщений
    127
    Вес репутации
    44

    По умолчанию max6675 и TM1637

    Здравствуйте, подскажите как сделать вывод температуры на TM1637 без сотых. А то на данный момент выводится с сотыми и если температура более сотни, то первой цифры нет. Желательно чтобы они были прижаты к правому краю.
    PHP код:
    #include "max6675.h"
    #include "TM1637.h"
    #define CLKKL 6
    #define DIOKL 7
    int thermoDO 2;  //он же SO
    int thermoCS 3;
    int thermoCLK 4;  //он же SCK
    TM1637 tm1637KL(CLKKLDIOKL);
    MAX6675 thermocouple(thermoCLKthermoCSthermoDO);

    void KLLCD() {
    float tempSensorKOL(thermocouple.readCelsius());
    int8_t Digits[] = {0x000x000x000x00};
    int KL1 tempSensorKOL;
    int KL2 = (tempSensorKOL KL1) * 100;
    if (
    KL1 99)(KL1 tempSensorKOL 100);
    //tm1637KL.point(POINT_ON);
    Digits[0] = (KL1 10); // раскидываем 4-значное число на цифры
    Digits[1] = (KL1 10);
    Digits[2] = (KL2 10);
    Digits[3] = (KL2 10);
    tm1637KL.display(Digits);
    }

    void setup() {
      
    tm1637KL.init();
      
    tm1637KL.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
      
    Serial.begin(9600);
    }

    void loop() {
      
    KLLCD();
      
    //Выводим показания в монитор порта
      
    Serial.print("C = ");
      
    Serial.print(thermocouple.readCelsius());
      
    delay(1000);


  2. #2
    Местный Аватар для Kevin
    Регистрация
    02.02.2018
    Возраст
    48
    Сообщений
    127
    Вес репутации
    44

    По умолчанию Re: max6675 и TM1637

    Решено:

    PHP код:
    #include "max6675.h"
    #include "TM1637.h"
    int thermoDO 2;  //он же SO
    int thermoCS 3;
    int thermoCLK 4;  //он же SCK
    #define CLKKL 6
    #define DIOKL 7
    TM1637 tm1637KL(CLKKLDIOKL);
    MAX6675 thermocouple(thermoCLKthermoCSthermoDO);

    void setup() {
      
    tm1637KL.init();
      
    tm1637KL.set(BRIGHT_TYPICAL);//BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7;
    }

    void loop() {
      
    int16_t temp = (thermocouple.readCelsius());
      
    tm1637KL.display(1, (temp /100) % 10);
      
    tm1637KL.display(2, (temp /10) % 10);
      
    tm1637KL.display(3, (temp 10));
     
    // tm1637KL.display(0, "c");// знак градуса
      
    delay(1000);

    Последний раз редактировалось Kevin; 07.04.2019 в 23:09.

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

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

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

Ваши права

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