Заметил такую особенность, что зрительно яркость светодиода меняется совершенно не линейно... в итоге при работе ШИМа в значениях 1-63 идет достаточно быстрое нарастание рякости а в диапазоне 127-255 практически незаметно изменение уже.... Подскажите пожалуста простенький алгоритм или формулу, как пересчитать диапазон 1-255 дабы вначале нарастание было медленне, чем в концу (по параболе)
ветвь параболы или экспонента но формулы.... и да, это тини13 - ресурсов мало, пробовал и варианты со степенью и корнем... не говоря уж о тангенсе - очень ресурсоемки
А если б ты в университете на все предметы ходил, а не только языки изучал, ты бы это просто знал, а не токащас случайно заметил. Кста, я тебе тайну открою, к звуковосприятию это тоже относица.
вы прекрасно умеете флудить, но вот полезных постов от вас 1 из 10ти в лучшем случае если нечего по теме сказать - попрошу не разводить демагогии и прочего флуда в моих темах
в целом да, уровней 64 вполне хватит, но даже так не хочется тратить 64 байта.... н тогда использовать мап для изменения диапазона... - а мап жирный .... просто /4 ... щас попробую....
хотя не, 64 градации уже весьма отчетливо видно разницу... надо весь диапазон в 256 значений использовать
Нах таблицу. Делай map в двух диапазонах и все. Оба диапазона считай линейными. Ни один глаз не заметит.
похоже Кот прав, вы математику в вузе все ж прогуливали. Попробуйте создать реальные уровни на экспоненте - вы увидите, что в одном байте даже близко 64 уровня не сделать. дай бог 8-16
да, уже разложил на 64... всего 12 уровней боле-менее влезает это вообще не выгодно, придется делать 256 а то и 512 массив для плавности... не вариант
Кривая чувствительности глаза выглядит так и описывается слеедующим соотношением y(x) = k1•x2 + k2•x + k3, где k1, k2, k3 – неизвестные коэффициенты У меня есть табличка из ста значений. Если надо - вечером кину.
Я вот смотрю на "Кривую чувствительности глаза" - там всего 4 участка. Может будет достаточно сделать 4 условия для разного приращения значения ШИМА?
Код (Text): 9781 9780 9778 9775 9769 9761 9752 9740 9726 9710 9692 9672 9650 9626 9600 9572 9542 9510 9476 9440 9402 9362 9319 9275 9229 9181 9131 9078 9024 8968 8909 8849 8786 8722 8656 8587 8517 8444 8370 8293 8215 8134 8051 7967 7880 7791 7701 7608 7513 7416 7318 7217 7114 7009 6902 6793 6682 6569 6455 6338 6219 6097 5974 5849 5722 5593 5462 5329 5194 5056 4917 4776 4633 4487 4340 4191 4039 3886 3731 3573 3414 3252 3089 2923 2756 2586 2415 2241 2065 1888 1708 1526 1343 1157 969 779 588 394 198 0 256 уровней и 256 отсчетов Код (Text): 0,8697 0,8605 0,8593 0,8659 0,8805 0,9030 0,9335 0,9718 1,0181 1,0723 1,1344 1,2044 1,2824 1,3682 1,4620 1,5638 1,6734 1,7910 1,9164 2,0498 2,1912 2,3404 2,4976 2,6627 2,8357 3,0166 3,2054 3,4022 3,6069 3,8195 4,0401 4,2685 4,5049 4,7492 5,0014 5,2615 5,5296 5,8056 6,0895 6,3813 6,6811 6,9887 7,3043 7,6278 7,9593 8,2986 8,6459 9,0011 9,3642 9,7352 10,1142 10,5011 10,8959 11,2986 11,7092 12,1278 12,5543 12,9887 13,4310 13,8813 14,3394 14,8055 15,2795 15,7615 16,2513 16,7491 17,2548 17,7684 18,2899 18,8194 19,3568 19,9021 20,4553 21,0164 21,5855 22,1625 22,7474 23,3402 23,9410 24,5496 25,1662 25,7907 26,4232 27,0635 27,7118 28,3680 29,0321 29,7042 30,3841 31,0720 31,7678 32,4715 33,1832 33,9027 34,6302 35,3656 36,1090 36,8602 37,6194 38,3865 39,1615 39,9444 40,7353 41,5341 42,3408 43,1554 43,9779 44,8084 45,6468 46,4931 47,3473 48,2094 49,0795 49,9575 50,8434 51,7372 52,6390 53,5486 54,4662 55,3918 56,3252 57,2666 58,2158 59,1730 60,1381 61,1112 62,0922 63,0810 64,0778 65,0826 66,0952 67,1158 68,1443 69,1807 70,2250 71,2773 72,3374 73,4055 74,4816 75,5655 76,6574 77,7571 78,8648 79,9805 81,1040 82,2355 83,3748 84,5222 85,6774 86,8405 88,0116 89,1906 90,3775 91,5723 92,7751 93,9858 95,2044 96,4309 97,6653 98,9077 100,1580 101,4162 102,6823 103,9563 105,2383 106,5282 107,8260 109,1317 110,4454 111,7669 113,0964 114,4338 115,7792 117,1324 118,4936 119,8627 121,2397 122,6247 124,0175 125,4183 126,8270 128,2436 129,6682 131,1007 132,5410 133,9893 135,4456 136,9097 138,3818 139,8618 141,3497 142,8455 144,3493 145,8610 147,3806 148,9081 150,4435 151,9869 153,5382 155,0974 156,6645 158,2396 159,8225 161,4134 163,0122 164,6190 166,2336 167,8562 169,4867 171,1251 172,7714 174,4257 176,0879 177,7580 179,4360 181,1219 182,8158 184,5176 186,2273 187,9449 189,6705 191,4039 193,1453 194,8946 196,6519 198,4170 200,1901 201,9711 203,7600 205,5569 207,3616 209,1743 210,9949 212,8234 214,6599 216,5042 218,3565 220,2167 222,0849 223,9609 225,8449 227,7368 229,6366 231,5443 233,4600 235,3836 237,3150 239,2545 241,2018 243,1571 245,1203 247,0914 249,0704 251,0573 253,0522 255,0550
Для первой таблицы требуется минимум 512 байт. Для второй - 1024... А еще куда-то надо впихнуть программу... Тини13 явно пролетает...
Если хранить начальное значение, а потом только дельты от предыдущих, можно сыканомить Максимальная разность укладывается в байт