Quellcode durchsuchen

Доделал регулровку яркости.

Vladimir N. Shilov vor 9 Jahren
Ursprung
Commit
42de6e3db4
2 geänderte Dateien mit 28 neuen und 2 gelöschten Zeilen
  1. 14 0
      Changelog.txt
  2. 14 2
      app/application.cpp

+ 14 - 0
Changelog.txt

@@ -150,3 +150,17 @@ UDP Server тоже влез. Если я всё правильно понял,
 
 Нужно вынести в настройку адрес ntp сервера.
 Нужно доделать регулировку яркости. Возможно стоит заменить на плавную.
+
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+2016.02.07
+
+Делаю автоматическую регулировку яркости.
+
+Немогу понять, почему я фоторезистор поставил на землю? Ведь так получается
+не уровень яркости, а уровень темноты...
+
+Как-то я собирал несколько дней инфу с подобнго датчика смотрящего на улицу.
+Статичечки, его знчение приведённые к уровням 0-16 имеют значимую величину
+в диапазоне оот 12 до 16, т.е. всего 4 значения.
+Попробую это дела как-то нормализовать.
+ 

+ 14 - 2
app/application.cpp

@@ -124,10 +124,22 @@ void showWatch()
 	// Новая секунда
 		oldTime = Time;
 
-		// Регулировка яркости иникаторов
-		uint8_t bright = system_adc_read() << 6;
+		// Регулировка яркости индикаторов
+		// приведём к диапазону 0-16
+		uint8_t bright = (1024 - system_adc_read()) >> 6;
+		// растянем диапазон значений 12-16
+		if (bright > 11)
+		{
+			bright = ( (bright - 12) * 3 ) + 2;
+		}
+		else
+		{
+			bright = 1;
+		}
+		/*
 		if (bright < 1) { bright = 1; }
 		if (bright > 15) { bright = 15; }
+		*/
 		MAX7219_writeData(MAX7219_MODE_INTENSITY, bright);
 
 		// Обновление индикаторов