Часы DS1307 + MAX7219 7-сегментный индикатор

Vitali-71
Offline
Зарегистрирован: 25.04.2017

так Женя и пишу что выдает ОШИБКУ!!!!

exit status 1
invalid operands of types 'float' and 'int' to binary 'operator%'
Vitali-71
Offline
Зарегистрирован: 25.04.2017

так Женя и пишу что выдает ОШИБКУ!!!!

exit status 1
invalid operands of types 'float' and 'int' to binary 'operator%'
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

На что Выдаёт? На код из 25-го поста? Или из 33-го. Я же говорю, поменяйте как в 33-ем.

Значит так, полный актуальный код вместе с актуальным текстом ошибки в студию!

Vitali-71
Offline
Зарегистрирован: 25.04.2017
//We always have to include the library
#include "LedControl.h"
#include <Wire.h>
#include <TimeLib.h>
#include <DS1307RTC.h>

#include <DHT_U.h>
#define DHTPIN            3         // Pin which is connected to the DHT sensor.
#define DHTTYPE           DHT22     // DHT 22 (AM2302)

/* pin 13 is connected to the DIN
   pin 12 is connected to the CLK 
   pin 11 is connected to CS
   We have only a single MAX72XX.*/
LedControl lc=LedControl(13,12,11,1);

byte a[1]={B10000000};
byte b[1]={B00000000};
byte c[1]={B01100011};

DHT_Unified dht(DHTPIN, DHTTYPE);
uint32_t delayMS;

//int event;


void setup() {
  Serial.begin(9600);
  while (!Serial) ; // wait for serial
  delay(200);
  Serial.println("DS1307RTC Read Test");

  /* MAX72XX находится в режиме энергосбережения при запуске,
     мы должны сделать пробуждение*/
  lc.shutdown(0,false);
  /* Установите яркость на средние значения */
  lc.setIntensity(0,8);
  /* и очистить дисплей */
  lc.clearDisplay(0);
  
  //lc.setRow(0,6,a[0]);
  dht.begin();
  Serial.println("DHTxx Unified Sensor Example");
  // Print temperature sensor details.
  sensor_t sensor;
  dht.temperature().getSensor(&sensor);
  Serial.println("------------------------------------");
  Serial.println("Temperature");
  Serial.print  ("Sensor:       "); Serial.println(sensor.name);
  Serial.print  ("Driver Ver:   "); Serial.println(sensor.version);
  Serial.print  ("Unique ID:    "); Serial.println(sensor.sensor_id);
  Serial.print  ("Max Value:    "); Serial.print(sensor.max_value); Serial.println(" *C");
  Serial.print  ("Min Value:    "); Serial.print(sensor.min_value); Serial.println(" *C");
  Serial.print  ("Resolution:   "); Serial.print(sensor.resolution); Serial.println(" *C");  
  Serial.println("------------------------------------");
  // Print humidity sensor details.
  dht.humidity().getSensor(&sensor);
  Serial.println("------------------------------------");
  Serial.println("Humidity");
  Serial.print  ("Sensor:       "); Serial.println(sensor.name);
  Serial.print  ("Driver Ver:   "); Serial.println(sensor.version);
  Serial.print  ("Unique ID:    "); Serial.println(sensor.sensor_id);
  Serial.print  ("Max Value:    "); Serial.print(sensor.max_value); Serial.println("%");
  Serial.print  ("Min Value:    "); Serial.print(sensor.min_value); Serial.println("%");
  Serial.print  ("Resolution:   "); Serial.print(sensor.resolution); Serial.println("%");  
  Serial.println("------------------------------------");
  // Set delay between sensor readings based on sensor details.
  delayMS = sensor.min_delay / 1000;

}

void loop() {
  tmElements_t tm;
  
  if (RTC.read(tm)) {
      
    Serial.print("Ok, Time = "); //Надпись перед часами
    print2digits(tm.Hour);       //время - часы
    Serial.write(':');
    print2digits(tm.Minute);     //время - минуты
    Serial.write(':');
    print2digits(tm.Second);     //время - секунды
    Serial.write(';');
    Serial.println();            //печать с новой строки
    
    lc.setDigit(0,7, tm.Hour / 10,false);
    lc.setDigit(0,6, tm.Hour % 10,false); //печать точки как секунда
    lc.setDigit(0,5, tm.Minute / 10,false);
    lc.setDigit(0,4, tm.Minute % 10,false);
    delay(300);
    lc.setDigit(0,6, tm.Hour % 10,true);
    delay(300);
    } else {
    if (RTC.chipPresent()) {
      Serial.println("The DS1307 is stopped.  Please run the SetTime");
      Serial.println("example to initialize the time and begin running.");
      Serial.println();
    } else {
      Serial.println("DS1307 read error!  Please check the circuitry.");
      Serial.println();
    }
    delay(9000);
  }
  //delay(500);

  
// Delay between measurements.
  delay(delayMS);
  // Get temperature event and print its value.
  sensors_event_t event;  
  dht.temperature().getEvent(&event);
  if (isnan(event.temperature)) {
    Serial.println("Error reading temperature!");
    } else {
    Serial.print("Temperature: ");
    Serial.print(event.temperature);
    Serial.println(" *C");
    
    lc.setDigit(0,2, event.temperature / 10,false);
    lc.setDigit(0,1, event.temperature % 10,false);
    lc.setRow(0,0,c[0]);  
        
  }
  // Get humidity event and print its value.
  dht.humidity().getEvent(&event);
  if (isnan(event.relative_humidity)) {
    Serial.println("Error reading humidity!");
  } else {
    Serial.print("Humidity: ");
    Serial.print(event.relative_humidity);
    Serial.println("%");
  } 
  delay(500);
}

void print2digits(int number) {
  if (number >= 0 && number < 10) {
    Serial.write('0');
  }
  Serial.print(number);
}

ошибка - 

 
exit status 1
invalid operands of types 'float' and 'int' to binary 'operator%'
Vitali-71
Offline
Зарегистрирован: 25.04.2017

Ребята все!!! до ТугоДумался ! все работает!!!

Есть пара вопросов!

переключение экрана с помощью millis делается?

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

По всякому делается. И при millis тоже.

Vitali-71
Offline
Зарегистрирован: 25.04.2017

а как еще можно?

 

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

Можно - по кнопке.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

По обновлению информации с датчика. Какой датчик обновился, такой экран и вылазит. Все зависит от вашей компитентности. Но компитентность ее нельзя купить или "спросить на форуме" , ее надо наработать.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

qwone пишет:

компитентность ее нельзя купить или "спросить на форуме"

«Компитентность» - это да. «Граматность» - тоже.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

Ворота, если вам нужна «Граматность» , то "покупайте" или "спрашивайте на соответсвующем форуме".

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Да, она тебе нужна, а не мне. Ты же тут учить "некомпитентых" людей на путь истинный наставляешь, а не я.