Hel/Halvljus automatik till bilen med Arduino kort.

Berätta om dina pågående projekt.
Timpa
Inlägg: 13
Blev medlem: 8 april 2012, 09:46:06

Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Timpa »

Dom ljussensorer som blev tillövers vid regnsensor projektet tänkte jag använda i detta projekt
som går ut på att dom ska känna av omgivande ljus för att aktivera halvljuset.
Byter ut bygeln under reläboxen i motorutrymmet med ett relä och när
halvljuset är av så tänkte jag koppla in en lampa i den bakre delen av blinkersen.

Och den andra funktionen blir automatiskt avbländning av helljuset vid möte.
Så en sensor är riktad framåt och en uppåt som mäter bakgrundsljuset.
Samt en signal in när helljuset är aktivt.
Så just nu kör jag omkring i tunnlar mm. för att se hur stabilt det fungerar.
Jag har hittat en tunnel som verkar påverka allt brutalt så klara man den ska man nog klara
höstmörkret.
Återkommer med lite scheman och bilder mm.
Senast redigerad av Timpa 12 augusti 2012, 18:28:15, redigerad totalt 3 gånger.
Timpa
Inlägg: 13
Blev medlem: 8 april 2012, 09:46:06

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Timpa »

Kod: Markera allt

//  Testversion utan relän på utgångarna bara dioder som indikerar.

int frontlightPin = 3;    // ljussensor ingång
int reflightPin = 4;    // refljus sensor ingången 
int lightrelayPin = 3;      // avbländar helljuset vid möte
int headlightPin = 2; //  halvljus på vid mörker
const int numReadings = 30;      // antal värden för medelvärdesbildningen
 int readings[numReadings];      // the readings from the analog input
 int index = 0;                  // the index of the current reading
 int total = 0;                  // the running total
int lightsensorValue = 0;  // variable to store ljussensorn värdet
int refValue = 0;  // variable to store ref.sensor value
int headlightIN = 0;  //  headlight is on or off 12 volt/3 = 4 volt
int lightOn = LOW ;  // blir HIGH när halvljuset är aktiverat
int sense = 600 ;  // ljus skillnad
int dark = 200 ;  // mörker värde
void setup() {
Serial.begin(9600);
pinMode(lightrelayPin, OUTPUT);    // avbländnings ljusrelä
pinMode(headlightPin, OUTPUT);    // halvljus utgång ON/OFF
  for (int thisReading = 0; thisReading < numReadings; thisReading++)
    readings[thisReading] = 0; 
pinMode(5,OUTPUT);
    delay(3000);
    digitalWrite(5, HIGH);  //test signal 
    digitalWrite(lightrelayPin,HIGH);    //test signal diod
    digitalWrite(headlightPin,HIGH);    //test signal diod
                delay(300);
    digitalWrite(5, LOW);
    digitalWrite(lightrelayPin,LOW);      
    digitalWrite(headlightPin,LOW);    
  }  
void loop() {
    lightsensorValue = analogRead(frontlightPin);    //läser ljusensor värdet
    refValue = analogRead(reflightPin);            //läser ref.ljusensor värdet
    headlightIN = analogRead(5);         //läser av om helljuset är på pin 5 analog ingång
 //if (headlightIN > 500 && lightsensorValue - sense > refValue) // helljuset är på och ljussensorn ind. mer ljus än ref. sensorn
 if (lightsensorValue - sense > refValue)
             { 
     delay(60);
    lightsensorValue = analogRead(frontlightPin);    //läser ljusensor värdet
    refValue = analogRead(reflightPin);            //läser ref.ljusensor värdet
      if (lightsensorValue - sense > refValue)      // bekräftar att ljussensorn ind. mer ljus än ref. sensorn
              { 
                digitalWrite(lightrelayPin,HIGH);  // bländar av helljuset
                delay(50);
              }  
            }
 else  {
                digitalWrite(lightrelayPin,LOW);  // bländar av helljuset
       }
 //if (headlightIN < 200 && refValue > 400 && lightsensorValue >400)  
 if (lightOn == LOW && refValue > dark && lightsensorValue > dark)
    { 
        for (int index=0; index < numReadings ; index++)
  {
    total= total - readings[index]; // subtract the last reading:        
   readings[index] = analogRead(reflightPin);    // add the reading to the total:
     delay(10);        // delay in between reads for stability     
   total= total + readings[index];         // advance to the next position in the array:  
  }
   if (index >= numReadings)                // if we're at the end of the array...
    index = 0;                           // ...wrap around to the beginning: 
   refValue = total / numReadings;           // calculate the average:
  delay(1);        // delay in between reads for stability     
      if (refValue > dark && lightsensorValue > dark)    //bekräftar att ref.ljusensor värdet indikerar mörker
              { 
                digitalWrite(headlightPin,HIGH);
                delay(50);
                lightOn = 1;  
              }   
    }         
if(lightOn == HIGH && refValue < dark && lightsensorValue < dark)
   { 
        for (int index=0; index < numReadings ; index++)
  {
    total= total - readings[index]; // subtract the last reading:        
   readings[index] = analogRead(reflightPin);    // add the reading to the total:
     delay(10);        // delay in between reads for stability     
   total= total + readings[index];         // advance to the next position in the array:                 
  }
   if (index >= numReadings)                // if we're at the end of the array...
    index = 0;                           // ...wrap around to the beginning: 
   refValue = total / numReadings;           // calculate the average:
  delay(1);        // delay in between reads for stability     
        if (refValue < dark && lightsensorValue < dark)
              { 
                digitalWrite(headlightPin,LOW);
                delay(50);
                lightOn = 0;  
              } 
   }
 }
Senast redigerad av Timpa 8 augusti 2012, 13:41:47, redigerad totalt 1 gång.
Användarvisningsbild
Swech
EF Sponsor
Inlägg: 4750
Blev medlem: 6 november 2006, 21:43:35
Ort: Munkedal, Sverige (Sweden)
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Swech »

Trevligt projekt.
Kör koden inom CODE taggar så blir det lättare att läsa och du får inte skäll :D

Swech
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Bosen »

lite OT: Jag har automatisk avbländning på min cadillac från 1964. Fungerar ganska hyfsat, men bländar av för gatbelysning (vilket faktiskt inte är fel) men klarar inte att blända av om man kör ifatt en bil.... jag är mest irriterad på det, så jag har kopplat ur funktionen och bländar av manuellt istället. På min bil sitter ljussensorn på instrumentbrädan, men senare 60-talare har den i grillen, och då ska det visst fungera lite bättre....

EDIT: felstavat...
Timpa
Inlägg: 13
Blev medlem: 8 april 2012, 09:46:06

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Timpa »

En bortglömd teknik till idag :P
Avbländning när man hinner upp en bil kommer nog heller
inte att funka för mig så man får väl jobba lite.
Schema:
Bild
Och sensorn:
Bild
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Bosen »

bortglömd och bortglömd...... cadillac har haft det på både 80 och 90-tals modeller.... det är bara en funktion som inte har använts så mycket i europa.
Jag tror faktiskt att Citroën har haft det på någon modell på 90-talet...
Timpa
Inlägg: 13
Blev medlem: 8 april 2012, 09:46:06

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Timpa »

Har du den här smarta kantsten "sensorn" på bilen ? En fjäder "pinne" som sticker ut och skrammlar när man
kommer för nära trottoarkanten. Det är väl en bort glömd funktion utan krånglig elektronik :lol:
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Bosen »

Jag tror faktiskt inte det har varit någon orginalutrustning på någon bil. Det är rena eftermarknadsgrejer.
Användarvisningsbild
MiaM
Inlägg: 12819
Blev medlem: 6 maj 2009, 22:19:19

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av MiaM »

Eftermarknad och den är ju för att rädda dyra däck och fälgar i första hand. Lite märkligt att det slagit igenom på (oftast amerikanska) veteranbilar men sällan på andra bilar. Är moderna bilar för ljudisolerade så att man inte hör skramlet?



För auto-avbländning behöver man nog nästan bildigenkänning. Hur ska man annars klara att blända av i tid när man möter en lastbil på var sida av ett backkörn?
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Bosen »

Här i Sverige har vi i regel för låga trotoarkanter för att det skall fungera optimalt... Spröten måste sitta så lågt att dom även skrapar i vid nedfjädring.... Sen råder det ju delade meningar om det är snyggt eller inte :)
Användarvisningsbild
MiaM
Inlägg: 12819
Blev medlem: 6 maj 2009, 22:19:19

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av MiaM »

Man kanske skulle montera en såndär ofjädrat? :)
Användarvisningsbild
anlamotte
Inlägg: 859
Blev medlem: 5 augusti 2003, 15:54:34
Ort: Stockholm
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av anlamotte »

Lite skillnad på att repa en fin gammal jänkare än en modern dussinbil :)
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Bosen »

MiaM skrev:För auto-avbländning behöver man nog nästan bildigenkänning. Hur ska man annars klara att blända av i tid när man möter en lastbil på var sida av ett backkörn?
Jag hänger inte med... Du behöver bara bläna av när ljuskäglorna kommer, innan dess kan du omöjligt störa mötande lastbil....
När jag tog körkort så ansåg teoriläraren att vi i Sverige använder helljus för lite. Man behöver inte blända av långt innan. När DU känner att DU börjar bli besvärad av mötande helljuset, då ska du blända av, ELLER om mötande bländar av, då skall du blända av (för då börjar mötande bli besvärad).
Användarvisningsbild
MiaM
Inlägg: 12819
Blev medlem: 6 maj 2009, 22:19:19

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av MiaM »

Lastbilsföraren sitter ju mycket högre upp, så föraren ser dina ljus långt innan du ser lastbilens ljus. Du ser dock reklamloggan och positionsljusen upptill på taket på hytten före du bländar föraren.
Användarvisningsbild
Bosen
Inlägg: 1753
Blev medlem: 18 juli 2005, 10:56:31
Ort: Karl Gustav, Varberg
Kontakt:

Re: Hel/Halvljus automatik till bilen med Arduino kort.

Inlägg av Bosen »

Avbländaren mäter hur mycket ljus som kommer, inte exakt var ljusen sitter, så jag vågar påstå att i just det avseendet så funkar det ganska bra, däremot bländar den av lite mer ofta än vad den behöver, viöket kan vara irriterande, men som sagt: nyare bilar har ljussensorn i fronten på bilen istället för i framrutan som jag har, och då ska det visst funka bättre. Dessutom så har de flesta lastbilar jag möter här omkring extraljus på taket ;)
Skriv svar