Arduino att läsa av blinkande mönster?
-
- Inlägg: 19
- Blev medlem: 31 januari 2010, 18:53:41
- Ort: Trollhättan
Arduino att läsa av blinkande mönster?
Har precis börjat med lite programmering för att lösa lite vardagsbestyr.
Jag har en garageportöppnare som har en reläingång. Den skulle jag vilja aktivera genom att läsa av bilens blinkers.
Alltså när bilen står i garaget och jag ska öppna garaget så låser jag upp bilen, då blinkar den tre gånger vilket triggar en ljussensor som skickar signal till relät.
Det programmet ska göra är helt enkelt:
Vänta på ljus
Se om det blinkar enligt de bestämda reglerna på-av-på-av-på-av, med ett viss tid av, detta genom att jämföra tiderna som är av.
Kommer det ljus som inte är rätt ska programmet resettas efter 5 sekunder och vänta på nästa puls av ljus.
Jag tror jag har en lösning på det, men tar gärna emot kritik:
If-sats som kollar om ljussensor = 1
i denna if sats en ny if sats som startar timer när ljusensor = 0
ytterligare en if sats om tiden stämmer med mönstret
ytterligare en if sats för att säkerställa sista blinket.
Eller kan man skriva den snyggare, t.ex genom att låta det gå 5 sekunder från första blinket och lagra in datan för att sedan göra en enda if sats där man kollar värdena från tre timer?
Jag har en garageportöppnare som har en reläingång. Den skulle jag vilja aktivera genom att läsa av bilens blinkers.
Alltså när bilen står i garaget och jag ska öppna garaget så låser jag upp bilen, då blinkar den tre gånger vilket triggar en ljussensor som skickar signal till relät.
Det programmet ska göra är helt enkelt:
Vänta på ljus
Se om det blinkar enligt de bestämda reglerna på-av-på-av-på-av, med ett viss tid av, detta genom att jämföra tiderna som är av.
Kommer det ljus som inte är rätt ska programmet resettas efter 5 sekunder och vänta på nästa puls av ljus.
Jag tror jag har en lösning på det, men tar gärna emot kritik:
If-sats som kollar om ljussensor = 1
i denna if sats en ny if sats som startar timer när ljusensor = 0
ytterligare en if sats om tiden stämmer med mönstret
ytterligare en if sats för att säkerställa sista blinket.
Eller kan man skriva den snyggare, t.ex genom att låta det gå 5 sekunder från första blinket och lagra in datan för att sedan göra en enda if sats där man kollar värdena från tre timer?
- Lennart Aspenryd
- Tidigare Lasp
- Inlägg: 12607
- Blev medlem: 1 juli 2011, 19:09:09
- Ort: Helsingborg
Re: Arduino att läsa av blinkande mönster?
Flagga upp varje triggning!
reset om tiden till nästa är för lång!
reset om tiden till nästa är för lång!
Re: Arduino att läsa av blinkande mönster?
Först måste du få en tillförlitlig avläsning av blinkersljustet. Förhoppningsvis
är det ganska konstanta ljusförhålladen i garaget när porten är stängs.
Finns det fönster på garaget?
Programmet finns det flera olika metoder för att lösa. Men generellt
så är det ju ganska långsamma förlopp som ska mätas, så det är
inte speciellt kritiskt hur man väljer att göra.
är det ganska konstanta ljusförhålladen i garaget när porten är stängs.
Finns det fönster på garaget?
Programmet finns det flera olika metoder för att lösa. Men generellt
så är det ju ganska långsamma förlopp som ska mätas, så det är
inte speciellt kritiskt hur man väljer att göra.
Re: Arduino att läsa av blinkande mönster?
Att skriva koden är nog relativt trivialt jämfört med att detektera blinkningarna. Jag skulle nog köra på en raspberry pi med en kamera och med den kolla efter gula färger, jag gillar även att överkomplicera saker och ting...
Angående koden: Det finns oändligt många sätt att skriva ett program. Ditt sätt funkar nog och om det funkar så funkar det.
Angående koden: Det finns oändligt många sätt att skriva ett program. Ditt sätt funkar nog och om det funkar så funkar det.

Re: Arduino att läsa av blinkande mönster?
Kul ideé RealElwood .....
Kan bli att göra min egen version den dagen jag får in bilen i garaget samt har möjlighet att styra garageporten elektriskt.

Kan bli att göra min egen version den dagen jag får in bilen i garaget samt har möjlighet att styra garageporten elektriskt.
Re: Arduino att läsa av blinkande mönster?
öppnar du aldrig bilen i garaget utan att åka iväg ? typ om du ska hämta nåt i den eller liknande ?
Då kanske man inte vill att dörren ska öppnas menar jag
Då kanske man inte vill att dörren ska öppnas menar jag

-
- Inlägg: 19
- Blev medlem: 31 januari 2010, 18:53:41
- Ort: Trollhättan
Re: Arduino att läsa av blinkande mönster?
Det är garage i länga så jag kan bara komma in i garaget genom porten.
@Lasp, tack för input, ska undersöka den funktionen. Återkommer säkert med fler frågor när jag har något att felsöka.
@Lasp, tack för input, ska undersöka den funktionen. Återkommer säkert med fler frågor när jag har något att felsöka.
Re: Arduino att läsa av blinkande mönster?
Aha, så du kommer stå på utsidan och trycka på "lås-upp" på bilnyckeln och då öppnar porten automatiskt.
Men finns det inte redan en garageöppnarfjärr? Eller var det för att slippa bära runt på den också?
/johan
Men finns det inte redan en garageöppnarfjärr? Eller var det för att slippa bära runt på den också?
/johan
Re: Arduino att läsa av blinkande mönster?
[samma fråga som johano] 
Sen får man ju se till att larmblinket inte utlöser öppnaren också, alltså om nån släpper ner en container utanför och larmet aktiveras så den börjar blinka, och din mojott glatt tolkar de tre första blinken som "lås upp och öppna garageporten", dte går väl att lösa med mjukvara men man får tänka på det

Sen får man ju se till att larmblinket inte utlöser öppnaren också, alltså om nån släpper ner en container utanför och larmet aktiveras så den börjar blinka, och din mojott glatt tolkar de tre första blinken som "lås upp och öppna garageporten", dte går väl att lösa med mjukvara men man får tänka på det

Re: Arduino att läsa av blinkande mönster?
En annan lösning kan kanske vara att trigga på bilens fjärr direkt för att öppna porten...
Re: Arduino att läsa av blinkande mönster?
Precis vad jag tänkte, förvisso kör bilens fjärr med någon slags roterande kodning men troligen ASK/OOK-modulerad på 868MHz (mycket enklare än vad det låter) och ofta finns ett id, serienummer eller dylikt som klartext. Detta id kan man ta emot och trigga på.
Betänk dock att du i detta förlorar den säkerhet som kodrotation annars tillför men om du kan acceptera öppning vid ljusblink så gör det ju inte så mycket
Med en DVB-T USB-pinne kopplad till datorn kan du kolla hur bilnyckelns kod ser ut, dess längd och vilken del i sekvensen som är oföränderlig. Sen kopplar du en RF-mottagare till Arduinon.
Betänk dock att du i detta förlorar den säkerhet som kodrotation annars tillför men om du kan acceptera öppning vid ljusblink så gör det ju inte så mycket

Med en DVB-T USB-pinne kopplad till datorn kan du kolla hur bilnyckelns kod ser ut, dess längd och vilken del i sekvensen som är oföränderlig. Sen kopplar du en RF-mottagare till Arduinon.