Показать сообщение отдельно
Старый 11.10.2013, 15:43   #264
indy
Пользователь
 
Регистрация: 29.04.2007
Город: Москва
Регион: 77, 97, 99, 177
Машина: GT 86, Pajero4
Сообщений: 63
indy is on a distinguished road
По умолчанию

приехала новая плата контроллера, все заработало.

Кто хочет рулить яркостью через Arduino - не надо резать дорожки на плате чтобы внедрить транзистор в цепь подсветки, не повторяйте чужих ошибок. Только убъете драйвер, он не переносит работы "вхолостую".

Штатный драйвер LED подсветки понимает PWM сигнал от Arduino без каких-либо дополнительных элементов, подать его надо на 7ю ногу. Максимальная скважность подсветки в понятии Arduino равна 52, это соотв. 1 вольту на входе в драйвер.

Пример скетча:
Код:
int LIGHT_REO = 1;  // штатный реостат подсветки, вход A1
int ledPin = 9;  // выход ШИМ на драйвер LED подсветки, D9
int sens = 0; // обнуляем переменные 
int light = 0;

void setup()   
{   
 pinMode(ledPin, OUTPUT); 
  Serial.begin(115200);
}  

void loop()   
{   
sens = analogRead(LIGHT_REO);

if ((sens > 750) && (sens<1000)) {light = 1;} //min, реостат 4.0V
if ((sens > 600) && (sens<750)) {light = 9;}  // 3.3V
if ((sens > 450) && (sens<600)) {light = 18;} // 2.6V
if ((sens > 300) && (sens<450)) {light = 27;} // 1.9V
if ((sens > 150) && (sens<300)) {light = 36;} // 1.15V
if ((sens > 50) && (sens<150)) {light = 45;}  // 0.45V
if ((sens > 0) && (sens<50)) {light = 52;}    //max 0.01V
// ШИМ скважностью "52" = 1.0V Vbrt на 7 контакте MIC2297, это максимум для Samsung LMS700KF07-004

analogWrite(ledPin, light);


//Serial.print(" REOSTAT=");
//Serial.print(sens, DEC);
//Serial.print(" light=");
//Serial.println(light, DEC);

 delay(50);
}
Миниатюры
Нажмите на изображение для увеличения
Название: IMG00685.jpg
Просмотров: 823
Размер:	156.4 Кб
ID:	33149  

Последний раз редактировалось indy; 19.01.2014 в 11:43.
indy вне форума   Ответить с цитированием