Mijn LED project

Plaats hier algemene onderwerpen die betrekking hebben op de Goldwing
Gebruikersavatar
Devoraz
Berichten: 2524
Lid geworden op: 02 apr 2012, 16:17
Type Goldwing: GL1800
Locatie: Swifterbant, Flevoland
Contacteer:

Mijn LED project

Bericht door Devoraz » 06 jun 2017, 00:33

Al een tijdje loop ik met het idee rond om iets met LED's op mijn motor te doen maar kon geen geschikte oplossing vinden. Toen kwam ik de Rollin' Eyes van Ergomot tegen. Dat was nu iets waarvoor ik kon gaan. Alleen was er toen nog geen applicatie beschikbaar voor de iPhone, dus was het wachten. Uiteindelijk werden ook de prijzen langzamerhand bekend en toen schrok ik toch wel even. Een controller voor 360 euro en daar moeten dan nog LED strips/rings/matrix voor aangeschaft worden. De prijzen daarvoor zijn ook niet misselijk. Voor een ring van 30 LED's (diameter 80mm binnen - 90mm buiten), betaal je ook al 100 euro. 2x een 36 LED strip kost 82 euro.

Dat ga ik er helaas niet voor betalen, dus werd het op de lange baan geschoven.

Met de komst van de Arduino (een kleine computer) en de zogenaamde WS2812 LED's is het mogelijk om een betaalbaar systeem zelf te maken. Ik zal jullie meenemen in mijn project dat ik samen met mijn vader ben gestart.

Allereerst even kennis maken met: de Arduino Nano

Afbeelding

Met behulp van een simpele programeertaal kun je deze computer bepaalde poorten als in- of uitgang gebruiken en daarmee o.a. LED's aansturen (uitgang) of de stand van een knop (of schakelaar) detecteren (ingang). Het volgende is een uitbreiding op deze Arduino, welke door mijn vader bedacht en gemaakt is: de gestabiliseerde voeding.

Afbeelding

Deze print zorgt ervoor dat er een voeding van tussen de 12 en 24 volt kan worden aangesloten (in mijn test is dit een oude laptop voeding van 18,2 V) en er altijd een spanning van 5V wordt afgegeven. De Arduino Nano is hierop te plaatsen en krijgt daarmee ook zijn voeding van deze print. Tevens zie je op de foto een aantal aansluitingen. De rood gemarkeerde aansluiting is om de LED's op aan te sluiten. Op de volgende foto is de Arduino Nano op deze print geplaatst.

Afbeelding

De witte en roze kabels zijn dus van de voeding. De Arduino Nano is voorzien van een mini-USB aansluiting waarmee je hem aan een PC kunt aansluiten om zo via de programeertaal de programma's in de Arduino te laden.

Afbeelding

Hier zie je Arduino aangesloten en de test LED strip (16 LED's) en de matrix (8x8 LED's) die ik als test gebruik. De spullen die we gebruiken komen uit China (via banggood.com). De strip bestaat uit twee strips van 8 LED's en elk deel kost €1,93 (dus €2,86 samen). De matrix kost €10,28. De Arduino die we gebruiken is eigenlijk een kloon en kost €4,45 (de officiele Arduino Nano kost €22,-). De voedingsprint is zelf gemaakt en qua onderdelen nog geen €5,-

Hieronder een filmpje met de eerste simpele test die ik gemaakt heb met de WS2812 LED strip.

youtu.be/mUSi6LDyDLw

In mijn volgende bericht zal ik wat meer ingaan op de gegevens van de onderdelen en de werking.
Groeten,
Pjotr

Goldwing GL1800 2001 Illusion Red (R259P)
Goldwing GL1500 SE 2000 Two-tone Red (R176C / inset R199C)
http://bikers.nightmarepatrol.net
The world is my menagerie.
"I never get lost because I don't know where I'm going..."
Live for today or fade away

Gebruikersavatar
Marco1
Winnaar "show your wing" fotowedstrijd
Berichten: 1591
Lid geworden op: 12 sep 2011, 00:51
Type Goldwing: GL1800
Locatie: Eindhoven de gekste

Re: Mijn LED project

Bericht door Marco1 » 06 jun 2017, 07:14

Heb je al een naam bedacht?
Is er al een website in de maak?
Kunnen we al bestellen?
Groeten Marco1.

Honda NX250 Wit MX-84-JP 1993 (1997-1999)
Yamaha XJ600S Diversion KanarieGeel MT-28-VF 1995 (1999-2006)
Honda GL1500 SE Zwart/grijs MB-HG-86 1998 (2015-2018)
Honda GL1800 Candy Jupiter Orange MN-GR-78 2002 (2018-????)

peter

Re: Mijn LED project

Bericht door peter » 06 jun 2017, 07:33

Prachtig gemaakt :!: :!: Zo zie je maar je maar wat je kan maken als je je hersens gebruikt voor een fraktie van wat ze vragen voor bijna hetzelfde. :D

Complimenten :!:

Gebruikersavatar
orie
Winnaar "show your wing" fotowedstrijd
Berichten: 615
Lid geworden op: 03 aug 2010, 23:56
Type Goldwing: GL1500
Locatie: Herveld

Re: Mijn LED project

Bericht door orie » 06 jun 2017, 11:19

goed hoor. prachtig en leuk bedacht op zo'n goedkope manier.
GL1800 2003
GL 1500 SE 1996
CB650 1981
GL1200 Aspencade 1987
CB650 1983

Gebruikersavatar
Devoraz
Berichten: 2524
Lid geworden op: 02 apr 2012, 16:17
Type Goldwing: GL1800
Locatie: Swifterbant, Flevoland
Contacteer:

Re: Mijn LED project

Bericht door Devoraz » 06 jun 2017, 11:33

Er is nog geen naam bedacht, geen website in de maak (hoewel ik op mijn eigen domein hier wat over zou kunnen vertellen) en bestellen... tja... ik heb geen voorraad. Ik bestel wat ik nodig heb via banggood.com.
Het lijkt mij handig dat ik eerst even zorg dat ik het systeem goed werkend en geïnstalleerd krijg op de motor. Mocht daarna voldoende interesse zijn, ben ik best bereid om e.e.a. te maken, mits mijn tijd het toelaat. :wink:

Mijn vader was hobby-matig al bezig met de (WS2812) LED's in de modeltreinwereld en ik vroeg of dit mogelijk op de motor toepasbaar was. Zodoende kwam hij met de gestabiliseerde voeding.

De onderstaande, schuingedrukte tekst is nogal technisch van aard, dus ben je niet zo technisch of je vind het niet zo interessant, kun je de rest van de tekst overslaan. 8)

Arduino is een open-source elektronica platform waarmee invoer gelezen kan worden (lichtsensor, schakelaar, knop, twitterbericht) en kan worden omgezet in een uitvoer (aansturing van een motor, schakelen van een LED, iets online publiceren). Via de programmeer software kun je het apparaat dingen laten doen met behulp van een set instructies. Deze software (gebaseerd op 'wiring') is te downloaden via de officiële Arduino website. Er zijn heel veel modellen van de Arduino. Het door mij gebruikte model is de Nano (nou ja, een kloon hiervan :wink: ).

Een WS2812 LED (RGB LED met ingebouwde controller) is individueel aan te sturen. Het heeft 4 aansluitingen; 5V, GND, Din en Dout. Als je er dus meerdere aan elkaar maakt (strip/ring/matrix) wordt de Dout van de voorgaande gekoppeld aan de Din van de volgende. Alle 5V aansluitingen worden met elkaar doorverbonden en ook de GND aansluiten worden aan elkaar gekoppeld. Zo worden alle LED's voorzien van spanning en is de positie vanaf het aansluitpunt bepalend voor de aansturing van de LED's. Adafruit's Neopixels waren zo'n beetje de pioniers maar inmiddels zijn daar ook al vele klonen van, allen gebaseerd op de WS2812-LED's.

Aangezien de LED (als hij oplicht) stroom verbruikt, wordt natuurlijk naar mate er meer LED's oplichten het stroomverbruik hoger. Bij LED's die niet oplichten, is het verbruik (nagenoeg) nihil. Bij maximaal oplichten, verbruikt 1 LED zo'n 20mA. Een I/O-poort van de Arduino Nano kan overweg met zo'n 40 mA. Daarmee zou ik dus hooguit 2 LED's kunnen aansturen. Omdat we voor ons doel maar een paar I/O poorten nodig hadden, is gekozen voor een Arduino Nano. Vanwege die lage stroombelasting en het feit dat er geen voedingsaansluiting op de Arduino Nano zelf aanwezig is, is dus de gestabiliseerde voedingsprint ontworpen. Deze kan een stroom aan van 2A en zou dus makkelijk 100 LED's moeten kunnen aansturen. Tevens is hij gemaakt zodat elke spanning tussen de 12V en 24V wordt teruggebracht naar 5V. Voor zowel de voeding van de Arduino Nano als de voeding van de LED's.

Bij het maken van de (software)aansturing wordt het aantal LED's opgegeven dat je wilt aansluiten op de Arduino. In mijn voorbeeldvideo zijn dat er 16. In de software kun je elke LED afzonderlijk aansturen door het nummer op te geven vanaf de aansluiting, beginnende bij '0'. Daarnaast kun je voor elke LED de kleur opgeven met de waardes voor Rood (0-255), Groen (0-255) en Blauw (0-255) waarbij dus meer dan 16 miljoen mogelijkheden zijn. Er zijn tegenwoordig ook al WS2812 LED's waarbij de kleur 'wit' als vierde kleur bij zit. Daarbij moeten dus vier waardes opgeven worden. Zodoende kun je dus een programma schrijven die bepaalde patronen in bepaalde kleuren uitvoert.


Volgende keer wat meer over de programmeer software en hoe je zo'n LED strip kunt laten werken.
Groeten,
Pjotr

Goldwing GL1800 2001 Illusion Red (R259P)
Goldwing GL1500 SE 2000 Two-tone Red (R176C / inset R199C)
http://bikers.nightmarepatrol.net
The world is my menagerie.
"I never get lost because I don't know where I'm going..."
Live for today or fade away

Gebruikersavatar
RonalT
Berichten: 13402
Lid geworden op: 11 okt 2007, 09:45
Type Goldwing: GL1800
Locatie: Dinteloord

Re: Mijn LED project

Bericht door RonalT » 06 jun 2017, 15:22

Marco1 schreef:Heb je al een naam bedacht?
Ja toch?


MLP


Mijn LED project :lol:
Groeten, RonalT


Kijk in de evenementen kalender wat er dan te doen is

And there is no better teacher than experience (Christain Horner)

Gebruikersavatar
director
Berichten: 3903
Lid geworden op: 22 mar 2006, 16:13
Type Goldwing: GL1800
Locatie: Volkel
Contacteer:

Re: Mijn LED project

Bericht door director » 06 jun 2017, 16:41

Ziet er mooi uit, ik ben benieuwd naar het eindresultaat als het op de motor zit. Ik volg het me belangstelling.

Wat mensen al niet doen om bij een volgende Show Your Wing te kunnen winnen... :wink:
Groeten uit Volkel,
Erik Windmeijer
oprichter van www.goldwingforum.nl

Mijn motorhistorie sinds 1985:
Verkocht: 1985, Honda CX500, (bj 1980); 1990, Honda CM400t; 1998, Yamaha XS 400 SE, (bj 1980); 2000, Honda CX500, (bj 1983); 2004, BMW K75RT, (bj 1990); 2005, Honda Goldwing 1200 Asp, (bj 1985); 2017, Yamaha XV 535, (bj 1987); 2011, Honda Goldwing 1500 Asp, (bj 1989), 2019, Honda Goldwing 1800, (bj 2002)
In bezit:
2017, Oldwing (voor mijn oude dag)
2022, Honda CB350 Four, bj 1975
2018, Honda CB500 Four, bj 1975
2023, Honda Goldwing Tour DCT, bj 2018

Gebruikersavatar
Devoraz
Berichten: 2524
Lid geworden op: 02 apr 2012, 16:17
Type Goldwing: GL1800
Locatie: Swifterbant, Flevoland
Contacteer:

Re: Mijn LED project

Bericht door Devoraz » 07 jun 2017, 14:54

Het programmeren van een LED strip/ring/matrix is redelijk eenvoudig. Er zitten bij de library van Adafruit's Neopixel een hoop voorbeelden die zeer bruikbaar zijn. Ik ga hierbij even uit van een standaard Arduino en een Neopixel LED strip. Sluit de Arduino aan op de USB poort van je PC, sluit een spanning van 5V op de LED strip (5V en GND) en sluit de Din van de eerste LED aan op poort 3 van de Arduino.

Pas op: het gaat nu heel technisch worden, dus interesseert het je niet of je begrijpt er niets van, sla de rest dan maar over! :wink:

In de Arduino IDE software zijn twee clusters belangrijk. Deze moeten in elk geval aanwezig zijn:

Code: Selecteer alles

void setup() {
}
void loop() {
}
In het 'Setup' gedeelte stel je een aantal zaken eenmalig in. In het 'Loop' gedeelte komt dan het eigenlijke programma dat zich continu blijft herhalen. Boven de 'Setup' kunnen nog definities geplaatst worden. In geval van de NeoPixels is dit wel belangrijk. Dit ziet er zo uit:

Code: Selecteer alles

#define PIN 3
Adafruit_NeoPixel strip = Adafruit_NeoPixel(16, PIN, NEO_GRB + NEO_KHZ800)
Eerst geef je aan dat PIN als het getal 3 wordt gedefinieerd.
In de volgende regel geef je aan dat de strip bestaat uit 16 LED's, poort 3 van de Arduino als uitgang fungeert voor de strip en de laatste settings zijn eigenlijk standaard en dient alleen van te worden afgeweken bij speciale (niet standaard) WS2812 LED's.

Als 'Setup' gebruiken we voor de NeoPixel eigenlijk een standaard instelling, waarmee we alle LED's van de strip uit zetten:

Code: Selecteer alles

void setup() {
  strip.begin();
  strip.show();
}
Voordat ik jullie ga vervelen met alle verschillende routines die ik aan het bouwen ben, geef ik jullie 1 voorbeeld van een routine. Voor mensen die al eens eerder hebben geprogrammeerd, zal het volgende enigszins herkenbaar zijn:

Code: Selecteer alles

void loop() {
  colorWipe(strip.Color(255, 0, 0), 50);
  colorWipe(strip.Color(0, 255, 0), 50);
  colorWipe(strip.Color(0, 0, 255), 50);
}

void colorWipe(uint32_t c, uint8_t wait) {
  for(uint16_t i = 0; i < strip.numPixels(); i++) {
    strip.setPixelColor(i, c);
    strip.show();
    delay(wait);
  }
}
Wat er in de 'Loop' staat is hetgeen wat uitgevoerd moet worden. In dit voorbeeld dus drie keer het commando colorWipe, telkens met een andere kleur. strip.Color geeft een kleur aan opgebouwd uit de waardes voor rood, groen en blauw. Dus in ons voorbeeld; Eerst in het rood, dan in het groen en als laatste in het blauw. Aangezien het commando 'colorWipe' geen standaard commando is, moet deze dus nog wel even gedefinieerd worden. Dat gebeurd dus in de routine NA de 'Loop'. Aangezien we twee variabelen opgeven bij het aanroepen, worden deze meteen gedefinieerd. 'c' (voor de kleur) en 'wait' (voor de wachttijd). uint8_t, uint16_t en uint32_t staan voor 8-, 16- en 32-bits variabelen. Dus: c = een 32-bits getal en kan een getal bevatten tussen 2.147.483.647 en -2.147.483.648. wait is gedefinieerd als een 8-bit getal en dit ligt tussen 0 en 255. i is een 16-bits getal dat tussen 32.767 en -32.768 ligt.
Binnen het colorWipe commando wordt een for-loop gestart, waarbij eerst i op nul gezet wordt, daarna bij elke loop gecontroleerd wordt of i niet boven het maximum aantal pixels (LED's) gestegen is (aantal LED's heb je in de eerste regels opgegeven, in dit voorbeeld dus 16). Daarna wordt i elke loop verhoogt met 1 (i++ is het zelfde als i=i+1).
strip.setPixelColor is wel een standaard commando uit de library. Hiermee geef je aan welke pixel (LED) welke kleur krijgt. De kleur was bij de eerste keer ingesteld als zijnde rood en bij de eerste loop is i nog steeds 0, dus: Pixel 0 (de eerste LED) moet de kleur rood krijgen. Om de LED ook daad werkelijk AAN te zetten, gebruik je strip.show(). Daarmee worden de op dat moment ingestelde waarden voor alle LED's naar de strip gestuurd. Aangezien we alleen Pixel 0 de kleur rood hebben gegeven en de rest nog niets, gaat alleen de eerste LED rood branden. Dan komen we het commando delay(wait) tegen. Dit is ook een commando uit de library en geeft een pauze aan van 1/1000ste seconde maal het getal dat is opgegeven tussen de haakjes. Het opgegeven getal voor wait was 50, dus 50/1000ste (oftewel 1/20ste) van een seconde. Hierna wordt dus de loop herhaald. i wordt 1 hoger (dus nu 1), gecontroleerd of hij nog niet op het maximum aantal pixels zit en de loop gaat weer van start. Aangezien i nu 1 is, wordt dus nu pixel 1 (LED 2) op rood gezet. Daar de eerste LED niet is uitgezet, blijft deze de waarde rood behouden en gaan dus nu de eerste twee LED's rood branden. Zodoende gaan dus alle LED's stuk voor stuk rood branden totdat het maximum bereikt is. Dan stopt het commando colorWipe en keert terug naar waar hij vandaan gesprongen was in de hoofdlus. Daar wordt een tweede keer colorWipe aangeroepen, maar dan met een groene kleur. Hiermee wordt een groene rij opgebouwd over de rode (omdat deze niet uitgezet zijn, blijven ze de oude waarde houden totdat ze een nieuwe krijgen). Als alles groen is, springt het programma weer terug en komt de regel tegen waarin het verhaal nog een keer doorlopen wordt voor blauw. Als ook deze cyclus doorlopen is, begint het programma helemaal opnieuw. Dus alles wat in void loop() staat, blijft herhalen zolang de Arduino aanstaat of er een nieuw programma naar de Arduino gestuurd wordt.

Droge materie, maar erg leuk om te doen. Het is heel erg leuk als je goed geprogrammeerd krijgt wat je in gedachten had. Zo heb ik een leuke benadering van de Europese en Amerikaanse politie zwaailichten. :lol:

Ik wacht nu nog op de LED rings die ik besteld heb om nog duidelijker patronen te kunnen programmeren.
Groeten,
Pjotr

Goldwing GL1800 2001 Illusion Red (R259P)
Goldwing GL1500 SE 2000 Two-tone Red (R176C / inset R199C)
http://bikers.nightmarepatrol.net
The world is my menagerie.
"I never get lost because I don't know where I'm going..."
Live for today or fade away

Gebruikersavatar
Henkie de ledman
Winnaar "show your wing" fotowedstrijd
Berichten: 2644
Lid geworden op: 03 feb 2008, 18:23
Type Goldwing: GL1800
Locatie: zwijndrecht (nl)

Re: Mijn LED project

Bericht door Henkie de ledman » 11 jul 2017, 20:53

Zelfs ik ben zeeer geintresseerd
Voor LED dingen kon je mij mailen.




发件人= henk

Gebruikersavatar
Devoraz
Berichten: 2524
Lid geworden op: 02 apr 2012, 16:17
Type Goldwing: GL1800
Locatie: Swifterbant, Flevoland
Contacteer:

Re: Mijn LED project

Bericht door Devoraz » 11 jul 2017, 22:18

OK, het heeft even geduurd maar ik heb de LED ringen binnen en even getest.
Zie hier een filmpje van zo'n 3 en een halve minuut met nagenoeg alle patronen die ik tot op dit moment heb geprogrammeerd. Ik heb een stukje wit papier over de ring liggen omdat de LED's te fel waren voor een rechtstreekse opname.

youtu.be/4Iu6vBzLz_E
Ik moet nu even wat kabeltjes maken en wat andere fratsen uithalen om wat dingen te testen. Namelijk het gebruik als richtaanwijzer.
Volgende keer meer.
Groeten,
Pjotr

Goldwing GL1800 2001 Illusion Red (R259P)
Goldwing GL1500 SE 2000 Two-tone Red (R176C / inset R199C)
http://bikers.nightmarepatrol.net
The world is my menagerie.
"I never get lost because I don't know where I'm going..."
Live for today or fade away

Gebruikersavatar
RonalT
Berichten: 13402
Lid geworden op: 11 okt 2007, 09:45
Type Goldwing: GL1800
Locatie: Dinteloord

Re: Mijn LED project

Bericht door RonalT » 11 jul 2017, 23:02

Mooi Pjotr, wat je voor een paar centen kunt maken.... :wink: :wink:
Groeten, RonalT


Kijk in de evenementen kalender wat er dan te doen is

And there is no better teacher than experience (Christain Horner)

Gebruikersavatar
Henkie de ledman
Winnaar "show your wing" fotowedstrijd
Berichten: 2644
Lid geworden op: 03 feb 2008, 18:23
Type Goldwing: GL1800
Locatie: zwijndrecht (nl)

Re: Mijn LED project

Bericht door Henkie de ledman » 11 jul 2017, 23:54

Ben zeer jaloers.. ik zou graag in contact met je komen..
Voor LED dingen kon je mij mailen.




发件人= henk

Gebruikersavatar
Rongoos
alias Stuiterbal
Berichten: 2316
Lid geworden op: 04 sep 2011, 22:01
Type Goldwing: GL1500
Locatie: Velserbroek

Re: Mijn LED project

Bericht door Rongoos » 12 jul 2017, 11:54

Sorry Henk, dit is alleen voor Goldwing rijders :lol:

Ga jij een beetje de bink uithangen bij die Harley boys kijk eens wat ik heb :lol:
Gr. Ron

Puur geluk zit soms in een hoopje plastik, rubber, ijzer en wat vloeistof.

Gebruikersavatar
Henkie de ledman
Winnaar "show your wing" fotowedstrijd
Berichten: 2644
Lid geworden op: 03 feb 2008, 18:23
Type Goldwing: GL1800
Locatie: zwijndrecht (nl)

Re: Mijn LED project

Bericht door Henkie de ledman » 12 jul 2017, 12:13

Wie zegt dat ik ook geen goldwing heb dan. ??? Dus verklaar je nader.
Voor LED dingen kon je mij mailen.




发件人= henk

Gebruikersavatar
Rongoos
alias Stuiterbal
Berichten: 2316
Lid geworden op: 04 sep 2011, 22:01
Type Goldwing: GL1500
Locatie: Velserbroek

Re: Mijn LED project

Bericht door Rongoos » 12 jul 2017, 19:38

dat is nieuws Henk, iets voor naast de ultra classic,? (wat ik overigens een prachtding vind)
maar lighten up het maken van een grapje lukt mij slecht de laatste tijd, waar men vroeger een beetje kon voelen in wat voor contest je de woorden plaatst
denkt tegenwoordig iedereen : zou hij dit menen? al zet je nog 85 smileys erachter :D :D :D :D maar ok, dat is iets waar ik mee moet leren omgaan, naast iemand staan met een grote glimlach op je mond komt nu eenmaal anders over
Gr. Ron

Puur geluk zit soms in een hoopje plastik, rubber, ijzer en wat vloeistof.

Plaats reactie