Inhoudsopgave:

Interactieve Ledlamp - Tensegrity-structuur + Arduino - Ajarnpa
Interactieve Ledlamp - Tensegrity-structuur + Arduino - Ajarnpa

Video: Interactieve Ledlamp - Tensegrity-structuur + Arduino - Ajarnpa

Video: Interactieve Ledlamp - Tensegrity-structuur + Arduino - Ajarnpa
Video: How i Made this Amazing Hollow Clock | Arduino 2024, Juli-
Anonim
Interactieve Ledlamp | Tensegrity-structuur + Arduino
Interactieve Ledlamp | Tensegrity-structuur + Arduino
Interactieve Ledlamp | Tensegrity-structuur + Arduino
Interactieve Ledlamp | Tensegrity-structuur + Arduino
Interactieve Ledlamp | Tensegrity-structuur + Arduino
Interactieve Ledlamp | Tensegrity-structuur + Arduino

Dit stuk is een bewegingsgevoelige lamp. Ontworpen als een minimale tensegrity-sculptuur, verandert de lamp zijn configuratie van kleuren in reactie op de oriëntatie en bewegingen van de hele structuur. Met andere woorden, afhankelijk van de oriëntatie, verandert de lamp in een bepaalde kleur, helderheid en lichtmodus.

Wanneer de icosaëder draait (over zijn eigen as), selecteert hij een waarde uit een virtuele bolvormige kleurenkiezer. Deze kleurenkiezer is niet zichtbaar, maar kleuraanpassingen gebeuren in realtime. Zo kun je uitzoeken waar elke kleur zich in de ruimte bevindt, terwijl je met het stuk speelt.

De icosaëdrische vorm biedt 20 gezichtsvlakken en de tensegrity-structuur geeft het 6 extra standpunten. Dit levert in totaal 26 mogelijke kleuren op als de lamp op een vlakke ondergrond staat. Dit aantal loopt op als je de lamp in de lucht draait.

Het systeem wordt bestuurd door een Pro Trinket die is aangesloten op een accelerometer met drie assen. Het licht wordt geleverd door RGBW-ledstrips, die de kleur- en withelderheidswaarde afzonderlijk kunnen regelen. Het hele circuit, inclusief microprocessor, sensoren en verlichtingssysteem werkt op 5v. Om het systeem van stroom te voorzien, is een bron tot 10A nodig.

Een lijst van de belangrijkste elementen die in de lamp worden gebruikt, zijn de volgende:

- Adafruit Pro Trinket - 5V

- Adafruit LIS3DH drieassige versnellingsmeter

- Adafruit NeoPixel Digitale RGBW LED Strip - Witte PCB 60 LED/m

- 5V 10A schakelende voeding

Deze bewegingsgevoelige lamp is de eerste versie of prototype van een langer persoonlijk project. Dit prototype is gemaakt van gerecyclede materialen. Tijdens het ontwerp- en bouwproces heb ik geleerd van successen en fouten. Met dit in gedachten werk ik nu aan de volgende versie die een intelligentere structuur en robuuste software zal hebben.

Ik wil de LACUNA LAB-gemeenschap bedanken voor hun hulp, ideeën en suggesties tijdens de ontwikkeling van het project.

je kunt mijn werk volgen op:action-io / tumblraction-script / github

Stap 1: Het idee

Het idee
Het idee
Het idee
Het idee
Het idee
Het idee

Dit project was het resultaat van verschillende ideeën waar ik al een tijdje mee in mijn hoofd speelde.

Sinds ik begon, is het concept veranderd, het oorspronkelijke project is geëvolueerd en heeft daadwerkelijke vorm gekregen.

De aanvankelijke benadering was een interesse in geometrische vormen als interactiemiddel. Door zijn vormgeving dienen de meerdere veelhoekige vlakken van deze lamp als invoermethode.

Het eerste idee was om een dynamisch systeem te gebruiken om de icosaëder te laten bewegen. Dit kan worden beheerd door een interactieve applicatie of gebruikers van sociale media.

Een andere mogelijkheid zou zijn geweest om een interne knikker of bal op verschillende knoppen of sensoren te laten drukken en zo willekeurige invoer te genereren terwijl het stuk bewoog.

De tensegrity-structuur is later ontstaan.

Deze bouwwijze fascineerde mij: de manier waarop de delen van de constructie elkaar in evenwicht houden. Het is zeer visueel aantrekkelijk. De hele structuur is zelfbalancerend; de stukken raken elkaar niet direct. Het is de som van alle spanningen die het stuk creëert; het is fantastisch!

Omdat het oorspronkelijke ontwerp is veranderd; het project gaat vooruit.

Stap 2: De structuur

De structuur
De structuur
De structuur
De structuur
De structuur
De structuur
De structuur
De structuur

Zoals ik al eerder zei, was dit eerste model gemaakt van gerecyclede materialen die bedoeld waren om weggegooid te worden.

De houten planken die ik van een lattenbodem nam, vond ik op straat. De gouden versieringen maakten deel uit van de arm van een oude lamp en de stoppers voor de elastiekjes zijn kantoorclips.

Hoe dan ook, de constructie van de structuur is vrij eenvoudig en de stappen zijn hetzelfde als in elke tensegriry.

Wat ik met de borden heb gedaan, is ze bij elkaar brengen, in groepjes van twee. Een "sandwich" maken met de gouden afstandhouders, een opening achterlatend waar de lichten doorheen zouden schijnen.

De afmetingen van het project zijn volledig variabel en zullen afhangen van de grootte van de structuur die u wilt maken. De houten staven van de foto's van dit project zijn 38cm lang en 38mm breed. De afstand tussen de planken is 13 mm.

De houten planken zijn identiek gesneden, geschuurd (om de oude verflaag te verwijderen) en daarna aan beide uiteinden geperforeerd.

Vervolgens heb ik de planken gekleurd met rustieke donkere vernis. Om de stukken met elkaar te verbinden heb ik een draadstang van 5 mm gebruikt, in secties van 5 cm en 5 mm gesneden met een knoop aan elke kant.

De spanners zijn rode elastiekjes. Om het rubber aan de staven te bevestigen, heb ik een klein gaatje gemaakt waar ik de band doorheen heb gehaald en deze vervolgens met een stop opgesloten. Dit voorkomt dat de planken vrij kunnen bewegen en de te demonteren constructie verschuift.

Stap 3: Elektronica en verlichting

Elektronica en verlichting
Elektronica en verlichting
Elektronica en verlichting
Elektronica en verlichting
Elektronica en verlichting
Elektronica en verlichting
Elektronica en verlichting
Elektronica en verlichting

De configuratie van de elektronische componenten is ontworpen om dezelfde spanning te behouden, zowel logisch als voeding door het hele systeem met behulp van 5v.

Het systeem wordt bestuurd door een Pro Trinket die is aangesloten op een accelerometer met drie assen. Het licht wordt geleverd door RGBW-ledstrips, die de kleuren en de withelderheid individueel kunnen regelen. Het hele circuit, inclusief microprocessor, sensoren en verlichtingssysteem werkt op 5v. Om het systeem van stroom te voorzien, is een bron tot 10A nodig.

De Pro Trinket 5V gebruikt de Atmega328P-chip, dezelfde kernchip in de Arduino UNO. Het heeft ook bijna dezelfde pinnen. Het is dus erg handig als u uw UNO-project naar geminiaturiseerde ruimtes wilt brengen.

LIS3DH is een veelzijdige sensor, hij kan opnieuw worden geconfigureerd om te lezen in +-2g/4g/8g/16g en biedt ook detectie van tikken, dubbel tikken, oriëntatie en vrije val.

De NeoPixel RGBW LED Strip kan de tintkleur en de witintensiteit afzonderlijk beheren. Met een speciale witte LED hoef je niet alle kleuren te verzadigen om een wit licht te krijgen, het maakt je wit ook zuiverder en helderder en bovendien bespaart het energie.

Voor de bedrading en om de componenten met elkaar te verbinden heb ik besloten om de kabel door te voeren en sockets te maken met mannelijke en vrouwelijke pinnen met behulp van crimps en connectorbehuizingen.

Ik verbond de trinket met de accelerometer en gooi de SPI met de standaardconfiguratie. Dit betekent Vin aansluiten op de voeding van 5V. Sluit GND aan op de gemeenschappelijke stroom/data-aarde. Sluit de SCL (SCK)-pin aan op Digital #13. Sluit de SDO-pin aan op Digital #12. Sluit de SDA (SDI)-pin aan op Digital #11. Sluit de CS-pin Digital #10 aan.

De ledstrip wordt bestuurd door slechts één pin, die naar #6 gaat en de grond en 5v gaat rechtstreeks naar de voedingsadapter.

Alle documentatie die u nodig heeft, vindt u, gedetailleerder en beter uitgelegd op de adafruit-pagina.

De voeding is aangesloten op een vrouwelijke DC-adapter die tegelijkertijd de microcontroller en de LED-strip voedt. Het heeft ook een condensator om het circuit te beschermen tegen onstabiele stroom op het moment van "inschakelen".

De lamp heeft 6 lichtbalken, maar de LED-strips komen in een enkele lange band. De LED-band werd in secties van 30 cm (18 LEDS) gesneden en vervolgens gelast met mannelijke en vrouwelijke 3 pinnen om modulair aan te sluiten op de rest van het circuit.

Voor dit project gebruik ik een 5v - 10A voeding. Maar afhankelijk van het aantal leds dat u nodig heeft, moet u de stroom berekenen die nodig is om het systeem te voeden.

In de documentatie van het stuk kunt u zien dat de LED 80mA per LED heeft getrokken. Ik gebruik in totaal 108 LED's.

Stap 4: De code

De code
De code

Het schema werkt vrij eenvoudig. Een versnellingsmeter geeft informatie over beweging op de x, y, z-as. Op basis van de oriëntatie worden de RGB-waarden van de LED's bijgewerkt.

De werkzaamheden zijn onderverdeeld in de volgende fasen.

  • Doe een meting van de sensor. Gebruik gewoon de api.
  • Los met behulp van trigonometrie de waarden van "roll and pitch" op. Veel meer informatie vindt u in dit document van Mark Pedley.
  • Verkrijg de overeenkomstige kleur, gerelateerd aan de rotatiewaarden. Daarvoor schakelen we naar 0-360 RGB-waarde met behulp van een HSL - RGB-conversiefunctie. De waarde van de toonhoogte wordt op verschillende schalen gebruikt om de intensiteit van wit licht en kleurverzadiging te regelen. De tegenovergestelde hemisferen van de kleurkiezerbol zijn volledig wit.
  • Werk de buffer van lichten bij die informatie van individuele LED-kleuren opslaat. Afhankelijk van deze informatie zal de buffercontroller een animatie maken of reageren met complementaire kleuren.
  • Toon tenslotte de kleuren en ververs de LED's.

Aanvankelijk was het idee om een kleurenbol te maken waar je elke kleur kon kiezen. Het kleurenwiel op de meridiaan plaatsen en de donkere en lichte tinten poleward.

Maar al snel werd het idee verworpen. Omdat de LED's verschillende tonen creëren, uit en snel elke RGB-LED oplichten, geven de LED's, wanneer ze lage waarden krijgen om donkere kleuren weer te geven, een zeer slechte prestatie en kun je zien hoe ze beginnen te knipperen. Hierdoor kan de donkere hemisfeer van de kleurenbol niet goed functioneren.

Dan kom ik op het idee om complementaire kleuren toe te kennen aan de momenteel geselecteerde toon.

Dus één halve bol kiest een monochromatische kleurwaarde van een wiel uit 50% verlichting 90 ~ 100% verzadiging. Ondertussen kiest de andere kant een kleurverloop uit dezelfde kleurpositie, maar voegt aan de andere kant van het verloop de complementaire kleur toe.

Het lezen van gegevens van de sensor is onbewerkt. Een filter kan worden toegepast om het geluid en de trillingen van de lamp zelf af te vlakken. Op dit moment vind ik het interessant omdat het er meer analoog uitziet, op elke aanraking reageert en een seconde nodig heeft om volledig te stabiliseren.

Ik ben nog bezig met de code en het toevoegen van nieuwe features en het optimaliseren van de animaties.

Je kunt de nieuwste versies van de code bekijken op mijn github-account.

Stap 5: Afronden

Afsluiten
Afsluiten
Afsluiten
Afsluiten
Afsluiten
Afsluiten
Afsluiten
Afsluiten

De uiteindelijke montage is vrij eenvoudig. Lijm de siliconen afdekking van de LED strips met twee Component Epoxy Adhesive in de staven en verbind de 6 delen in serie achter elkaar.

Bevestig een punt waar u de componenten wilt verankeren en schroef de versnellingsmeter en de pro-snuisterij op het hout. Ik heb plastic afstandhouders gebruikt om de onderkant van de pinnen te beschermen. De voedingsadapter is goed bevestigd tussen de ruimte van de staven met meer epoxy-epoxylijm. Is ontworpen om te passen en voorkomt dat deze beweegt wanneer de lamp draait.

Opmerkingen en verbeteringen

Tijdens de ontwikkeling van het project zijn nieuwe ideeën ontstaan over manieren om problemen op te lossen. Ik realiseerde me ook enkele ontwerpfouten of onderdelen die kunnen worden verbeterd.

De volgende stap die ik graag zou willen zetten, is een verbetering van de productkwaliteit en de afwerking; meestal in de structuur. Ik kom met geweldige ideeën over betere structrea, nog eenvoudiger, door tensoren als onderdeel van het ontwerp op te nemen en de componenten te verbergen. Deze structuur vereist krachtigere tools zoals 3D-printers en lasersnijders.

Ik heb nog steeds in afwachting van de manier om de bedrading langs de structuur te verbergen. En werken aan een efficiënter energieverbruik; om uitgaven te verminderen wanneer de lamp lang werkt en de verlichting niet verandert.

Bedankt voor het lezen van het artikel en je interesse in mijn werk. Ik hoop dat je net zoveel van dit project hebt geleerd als ik.

Aanbevolen: