Jump to content

  •  

Photo
- - - - -

Автоматични фарове според осветеносттаЧовек без работа

Фарове Автоматични Дневни светлини

  • Please log in to reply
3 replies to this topic

#1 frxbg

frxbg

    Член на МБКБ

  • Замразено членство
  • 229 Posts:
  • Пол:Мъж
  • Град:София
  • Автомобил:
    Mercedes-Benz E-klasse T-mod. (S210) E 270 CDI

Posted 12 May 2015 - 22:19

И така какво ми се върти из главата последните дни да си направя на W210-та автоматични дневни светлини. За момента е само като идея зародена, че не съм набавил всичките части, но се надявам в скоро време да бъде осъществена. Е сигурен съм, че повечето ще кажат продават се готови модули купуваш един слагаш го и готово, :) е да но щеше да е прекалено лесно :) а пък и тук идеята е фаровете да си променят интензитета според светлината отвън.

 Изборът ми за микроконтролер е Ардуино (бързо, лесно, вкусно) за тези, които никога не са чували за него Ардуино е платка с отворен код, която може да изпълнява всевъзможни функции (стига да можете да го програмирате :) ) повече информация - тук. Силовата част ще е изпълнена с SSR реле ще има малко бушони и може би 2 диода (да не връщаме + назад по веригата).

Някои от частите за сега:

1. Arduino Nano

2. SSR реле за прав ток

3. Фоторезистора

4. Кутийка за бушони (в крайния вариант може да използвам празните гнезда на настоящите)

 

Начин на свързване (за момента само на фоторезистора)

 

FCRGMDPFVS7L2ET.MEDIUM.gif FBQD4AIFVS7L2ES.MEDIUM.gif

FJRQTJWFVS7L2EQ.LARGE.jpg

 

Продължаваме с програмата малка лесна по-натам може да я усложним като добавим автоматични дълги или нещо от сорта. :)

Сваляте си копмпилатора от тук, инсталирате го след това копирате и пускате кода

/* Avtomatichni farove. 

svurjete kraq na fotorezistora kum +5V drugiq krai kum A0 zaedno s edin 10K rezistor na koito drugiq krai e kum GND
*/
int ssrPin = 3 //Zadavane na izhoda za ssr releto
int photocellPin = 0; // Zadavane na analogoviq vhod
int photocellReading; // the analog reading from the analog resistor divider

void setup(void) {

}

void loop(void) {

pinMode(ssrPin, OUTPUT);

photocellReading = analogRead(photocellPin); 

// Sega da opredelim nivata na osvetenost i kakvo da pravi
if (photocellReading < 300) {
digitalWrite(ssrPin, HIGH); //100% farove
} else if (photocellReading < 500) {
analogWrite(ledPin, 127); //50% farove
} else {
analogWrite(ledPin, 100); 
}
delay(1000);
}

  • 6

#2 Илия Горанов

Илия Горанов

    Член на УС на МБКБ

  • Управителен съвет
  • 7,499 Posts:
  • Пол:Мъж
  • Град:София
  • Автомобил:
    CLK200 Kompressor
    163hp, 2001, dark blue

User's Awards

2
13
3
3
Garage View Garage

Posted 14 May 2015 - 18:53

Това хубаво, ама трябва да следиш и дали си на контакт (или запален двигател)... може да се добавят и други гъзарии от сорта на забавено включване - като запалиш двигателя, да светнат след известно време, при това плавно... а като изгасиш да светят още известно време и да изгаснат плавно. А при добро желание - един LCD екран и бутони и си слагаш и меню от което си настройваш кога и как да свети... и като тръгнеш по тоя път - край няма!
  • 0

Ако си задаваш въпроса "струва ли си да ремонтирам стария Мерцедес", по-добре го продай и си купи чисто ново Пежо, Мерцедес не е твоята марка!
Бабини деветиниclk.babailiica.comнаргиле


#3 frxbg

frxbg

    Член на МБКБ

  • Замразено членство
  • 229 Posts:
  • Пол:Мъж
  • Град:София
  • Автомобил:
    Mercedes-Benz E-klasse T-mod. (S210) E 270 CDI

Posted 12 June 2015 - 17:04

Не мога да редактирам първия пост за жалост та продължаваме по темата малко пооправих кода (че той 1-я въобще не работеше :)) сега съм добавил вход от алтернатора и плавно запалване и изключване след определено време ето го и новия код.

/* Автоматични фарове. 
от Тони Стоянов aka "frxbg" 
http://forums.mbclub.bg/topic/39004-%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D1%87%D0%BD%D0%B8-%D1%84%D0%B0%D1%80%D0%BE%D0%B2%D0%B5-%D1%81%D0%BF%D0%BE%D1%80%D0%B5%D0%B4-%D0%BE%D1%81%D0%B2%D0%B5%D1%82%D0%B5%D0%BD%D0%BE%D1%81%D1%82%D1%82%D0%B0/

Свържете фоторезистора към +5V другия край към A0 заедно с един 10K резистор на който другия край е към GND
*/
int ssrPin = 3; // Задаване на изхода за SSR релето
int photocellPin = 1; // Задаване на аналоговия вход
int photocellReading; // Данните от фоторезистора (0V=0 5V=1024)
int altPin = 4; // Задаване на входа за информация от алтернатора
int val = 0; // Променлива за статуса на алтернатора
int brightness = 0; // Колко е осветеността в момкента
int lastSet = 0; // Последната стойност на осветеността

void setup(void) {

  pinMode(ssrPin, OUTPUT); // Задаваме ssrPin като изход


  pinMode(altPin, INPUT); //Задаване на altPin като дигитален вход

}

void loop(void) {

  val = digitalRead(altPin); // Прочитаме входа алтернатора
  photocellReading = analogRead(photocellPin); //Прочитаме данните от фоторезистора

  if (val == HIGH) { // Ако имаме напрежение от алтернатора продължи
    //Сега да определим според осветеността какво да прави

    if (photocellReading <= 300) {
      for (; lastSet > 255; brightness--) {
        analogWrite(ssrPin, brightness); //100% осветеност
      }
      for (; lastSet < 255; brightness++) {
        analogWrite(ssrPin, brightness); //100% осветеност
      }
      brightness = lastSet;
    }


    if (photocellReading <= 500) {

      for (; lastSet > 125; brightness--) {
        analogWrite(ssrPin, brightness); //около 50% осветеност
      }
      for (; lastSet < 125; brightness++) {
        analogWrite(ssrPin, brightness); //около 50% осветеност
      }
      brightness = lastSet;
    }


    if (photocellReading >= 500) {
      for (; lastSet > 100; brightness--) { 
        analogWrite(ssrPin, brightness); //около 35% осветеност
      }
      for (; lastSet < 100; brightness++) {
        analogWrite(ssrPin, brightness); //около 35% осветеност
      }
      brightness = lastSet;
    }
  }


  else { // Ако нямае напрежение от алтернатора изключи плавно фаровете

    delay (25000); // Изчакай 25 секунди преди да изключиш фаровете

    for (lastSet = brightness; brightness >= 0; brightness--) {

      analogWrite(ssrPin, brightness);
      brightness = lastSet;
    }

  }
}

Скоро ще добавя и пълната схема и остава да взема да сглобя модула и да се тества.


  • 1

#4 frxbg

frxbg

    Член на МБКБ

  • Замразено членство
  • 229 Posts:
  • Пол:Мъж
  • Град:София
  • Автомобил:
    Mercedes-Benz E-klasse T-mod. (S210) E 270 CDI

Posted 31 March 2016 - 00:31

Ей сега на скоро си прерових старите проекти и се запитах защо така и не си сглобих модулчето, несериозник. Обещавам да се взема в ръце и като си оправя колата та да си имам фарове, на които да го монтирам  :) да пусна и снимки и клипчета. Ето все пак последната версия на програмата с добавени още малко опции. Добавени са: контрол за габаритите, отделно включване на фаровете ако са с ксенон (от пин 4) тогава халогените или дългите могат да се използват (с малко промени по кода) за дневни светлини, добавен вход от ключа за фаровете, добавена опция за плавно изключване на светлините всъщност вече всичко е плавно между отделните стъпки, заспиване на микроконтролера с цел енергоспестяване (в този режим консумира малко над 1 микроампер). Да продължим със схемата в симулатора съм използвал Arduino Pro Mini към което на пин VCC (захранване) могат да се подадат от +5В. до +12В които са близко до тези в колата и даже някои са пробвали директно и работи, но лично аз препоръчвам да се ползва външен линеен регулатор от типа 7805

 

Информация за използваните компоненти:

 

 Ардуино pro mini - 1бр. (по-избор каквото има, но това е най-евтино около 2$)

 линеен регулатор LM7805CV (Не е задължителен)

 резистор 1К - 2бр.

 резистор 2К - 2бр.

 резистор 10К - 1бр.

 резистор 470ОМ - 2бр.

 фоторезистор - 1бр.

 транзистор RFP30N06LE - 3бр. (в ebay - 5бр. около 5$, на схемата са други поради липса в симулатора)

 

Разбира се това са базовите компоненти другите: кутийки, платки, кабелчета, бушончета и тн. ще ви кажа като го сглобя. :)

 

 

Attached File  Фарове.jpg   72.43K   11 downloads

 

ето и нужните файлове: Attached File  farove.zip   8.01K   4 downloads

 

и както съм го почнал очаквайте следваща версия с дисплей, копчета, органайзър (винаги съм се радвал на тази дума :) )  и да свири Радка Пиратка :)


  • 2





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users