Hier gaat een steeds meer uitgebreide ontwerpdocumentatie overzicht van mijn nieuwste project. Hieronder is een video die ik heb geupload tonen bepaalde functionaliteit:
Het oorspronkelijke idee progressie ging ongeveer als volgt:
- Adresseerbaar LED strip (s we willen altijd meer glimmende dingen!!!) naar get cool visuele effecten die kunnen worden geprogrammeerd (een of andere manier)
- gecontroleerd door een iPhone (of Android telefoon) met behulp van de verschillende beschikbare hardwarefunctionaliteit aanwezig in de meeste moderne smartphones (versnellingsmeter, touchscreen, wifi/bluetooth vermogen, kundig voor stormloop meer & meer complexe toepassingen nu)
- niet nodig een werkelijke desktopcomputer of laptop uit te voeren. Ik had vrienden gebruiken de Python programmeertaal met diverse GitHub repositories te integreren Wiimote input, of iPad versnellingsmeter-gegevens voor verschillende verschillende projecten gezien. Ook noodzakelijk is omdat het zou worden gebruikt voor kunstinstallatie en ik niet te wilde moet een computer worden weggelaten met de structuur van de kunst.
- Ik wist dat de Raspberry Pi een goedkope levensvatbare microcomputer (een stap boven microcontrollers in functionaliteit en snelheid), dat een bepaalde programma tot de dag dat zij stierf uitvoeren kan, vooral met Python en C talen. Ik heb niet echt geen Python ervaring hebben en vond de meeste van wat ik instellen in Python moest dus heb ik besloten om die route te gaan. De werkelijke Pi-computer is de grootte van een creditcard en de dikte van een kwartaal. Moet geen heatsink en is goedkoop (onder 40 dollar, maar eindigt zijn rond $70 met een aantal noodzakelijke en luxe accessoires)
Ik vond hele hijs zootje van hulp via de Adafruit leren gidsen, en een heleboel setup ideeën van hun geweldige team waren geënt, maar een heleboel ontwerp toevoegingen werden toegevoegd op mijn setup ook. Bijvoorbeeld:
- Ik heb mijn setup kan worden uitgevoerd via een Python programma (vs. nodig hebben een netwerkcomputer)
- Ik heb toegevoegd de afstandsbediening draadloze telefoon van de LEDs via PyOSC (staat toe het Python programma en de telefoon met TouchOSC app te communiceren)
- Ik heb het Python programma setup kan worden uitgevoerd bij het opstarten zodat als ik uit het midden van nergens, alles wat ik heb te doen is de stekker in het stopcontact en de LED effecten programma zal opstarten (en ook niet de telefoon app open nodig om dit te doen)
- Geen monitor of muis nodig eens SSH setup
- Integratie van PyOSC met PyOPC, en in sommige nuttig bibliotheken op te nemen die helpen met sommige gemeenschappelijke gebeurtenissen met LED programmering toe te voegen
- Wat extra uitleg over een aantal van de programmering aanpassingen die aangebracht moeten ter verantwoording voor levensechte digitale interactie (gammacorrectie en dithering als voorbeelden)
Adafruit (forum, component detailhandelaar en kennis hub http://www.adafruit.com/ ) verkoopt de WS2811/WS2812 strips (zij noemen ze "Neopixels"), en ze hebben een heleboel grote middelen voor meer geweldige projecten. Hun forum Gemeenschap en moderator/admins/project sjamanen gidsen zijn geweldig.
De LED strips normaal gesproken moeten een Arduino controller uit te voeren, maar Micah Scott van Scanlime ontworpen een speciale controller /driver dat helpt dat de noodzaak weg te verduisteren. / Stuurprogramma voor de controller voor de LED strips integreert de mogelijkheid Open Pixel besturingselement gebruiken met dithering en gamma correctie mogelijkheden.
Hier is de Scanlime van artikel over de Fadecandy:
http://scanlime.org/2013/11/fadecandy-easier-tasti...
Dithering is een relevant zijn voor de perceptie van de frequentie effect. Het kan worden toegepast op muziek net zoals het is aan beelden. Dithering fungeert als een verspreiding tussen twee gebieden van lage kleurdiepte. Het ontbreken van kleurdiepte leidt tot artefacten in digitale opnamen van een milieu en dithering helpt vloeiende die overgangen. Met LEDs leidt dit tot gemoduleerde intensiteiten geven meer kleurdiepte, en zal vaak leiden tot een soort twinkle (waarvan ik denk dat ziet er geweldig uit, zoals de flonkerende startlight).
De gammacorrectie helpt opnieuw schalen de curve van elke rood groen blauw LED-intensiteit. Onze ogen doen lichtintensiteit op een lineaire wijze zodat gammacorrectie maakt een lineaire fade op rode van 0 tot 255 lijken meer lineaire voor onze ogen niet waarnemen. Als een lichte dimmer was ingesteld op lineaire schaal, de eerste helft lijkt te draaien op uiterst snel, maar de laatste helft zou lijken niet veel helderder familielid. Gammacorrectie dan geldt de inverse van de natuurlijke curve van onze ogen om ervoor te zorgen dat de LED's op een visueel juiste wijze functioneren.
Open Pixel controle (OPC) voorziet in een eenvoudige manier om te netwerken en stroomlijnen van de communicatie met RGB-pixel arrays. PyOPC dan is dat de noodzakelijke stap verder en zorgt voor de programmeertaal Python te regelen een OPC-client-server tussen de strengen pixel en Fadecandy/stuurprogramma voor de controller die OPC berichten kunt ontvangen.
TouchOSC is het laatste stukje van de puzzel en is wat laat voor sommige ontzagwekkende unieke en aanpasbare functies. Ik wist over TouchOSC van DJ gebruik. In dat scenario gebruik ik de MIDI functionaliteit van TouchOSC, maar ik wist dat het ook in staat was om gelijktijdige Open Sound Control te verzenden. Ik deed wat onderzoek en vond dat het kon inderdaad interface met Python programmeertaal via PyOSC.
De beste delen over TouchOSC app:
- Makkelijk te gebruiken TouchOSC Editor applicatie kan snel intuïtieve controller ontwerp
- Eenvoudige synchronisatie-aan-telefoon functie via algemeen WIFI verbinding kunt eenvoudig manier om te werken de lay-outs die u in de Editor aanbrengt (ik heb gebruikt een ad-hoc-verbinding om te synchroniseren wanneer een router niet aanwezig was)
- maakt gebruik van de telefoon van bestaande hardwarefunctionaliteit (versnellingsmeter & multi-input touch-staat schermen)
- app van de schone easy-to-use interface / design