Ommatid sferisch Display: Elektronica, de programmering en de interactiviteit van de (8 / 8 stap)

Stap 8: Architectuur en programmering


Hoewel ik kon hebben verdreven van elk bord LEDs de lokale microcontroller, heeft de architectuur ik koos voor de keten van LED en de sensor-array, volledig gescheiden blijft. Dit was een zeer pragmatische redenen: als om wat voor kon ik niet krijgen de sensor-array of multiprocessor communicatie werkt reden, Nou, ik zou nog een perfect grote bolvormige weergave! In ieder geval het allemaal goed uitgepakt. Een nadeel van deze architectuur is dat er een centrale computer om te rijden de LEDs in reactie op sensor gebeurtenissen (in tegenstelling tot een lokale architectuur waar elk bord de microcontroller de lokale LEDs met geen datacommunicatie nodig licht kan). Ik koos voor een Raspberry Pi omdat ik wist dat de seriële stuurprogramma's gesprekspartner mijn hoge rente en niet-standaard 250 kbaud goed, dit is niet het geval is met veel Linux systemen. In tegenstelling tot de BeagleBone heeft ook 4 USB-poorten zodat kon ik zowel de RS-485 seriële interface en de Fadecandy -board die de LED's, evenals een USB wifi dongle zonder een hub drijft aansluiten. Dit is essentieel aangezien al deze spullen uiteindelijk moet passen in het interieur van de uitgeholde-out van de base.

Dus de algemene architectuur als volgt werkt: de hostcomputer (Raspberry Pi) herhaaldelijk vragen elke PCB voor haar sensor-waardes in een round robin-mode. Omdat elke PCB verlichting alleen de sensor IR LEDs in reactie op een query, wordt tussen vierkanaals optische Overspraak geëlimineerd. Nadat de staat van alle sensoren worden gelezen, is het LED-patroon berekend in reactie en verzonden via OPC aan het bestuur van de Fadecandy.

Ik heb nog heel wat werk te doen op de programmering en de interactiviteit: op dit ogenblik de Ommatid draait een veredelde testprogramma geschreven in Python. In de toekomst ik zal brengen de sensor query en LED generatie code in afzonderlijke processen om latency, en kan ik de bovenkant en onderkant bollen op aparte RS-485 bussen naar dubbele doorvoer. Ik heb ook moedige ideeën (en enige vooruitgang in simuleren) over sensing geavanceerder gebaren zoals knijpen en globe-spinning (voor trackball-achtige responsiviteit) alsook met behulp van de grafiek van de verbinding voor de simulatie van reactieve patronen. Als ik de Laplaciaan op de driehoekige Maas berekenen kunt, kan ik de golfvergelijking en reactie-diffusie patronen in reactie op de aanraking simuleren. Ik wil ook onderzoeken maken de Ommatid genereren OSC gebeurtenissen zodat het kan worden gebruikt als een muzikale controller. Stel je een voorstelling waar Ableton wordt gecontroleerd met een Ommatid in plaats van een laptop!

Gerelateerde Artikelen

Ommatid sferisch Display: bouw van de behuizing en optische globe

Ommatid sferisch Display: bouw van de behuizing en optische globe

Dit is het pièce de résistance van mijn artiest in residentie bij Pier 9: een interactieve sferische LED-display met 76 aanraakgevoelige verlichte facetten. IR detectoren op elk facet reageren op touch en tactiele interactie.Dit Instructable details
81 seconden besparen: snel Arduino Bootload/programma voor de productie van

81 seconden besparen: snel Arduino Bootload/programma voor de productie van

Vereist: AVRISP mkII en een Linux computer (of virtuele machine)Dit Instructable laat zien hoe te automatiseren en versnellen van de installatie van een bootloader en demo programma op een Arduino-compatibel apparaat.De Arduino bootloader en IDE make
Android gereguleerde LCD/LED Display - geen Andriod programmering, No solderen vereist.

Android gereguleerde LCD/LED Display - geen Andriod programmering, No solderen vereist.

IntroductionDeze build het Arduino-platform gebruiken om een LCD/LED-weergave van uw Android mobiele telefoon te besturen.  Het is een plug en play te bouwen die geen Android programmering vereist, geen solderen en geen schrijven van Arduino code, he
Maak uw eigen U3 programma's met behulp van Freeware

Maak uw eigen U3 programma's met behulp van Freeware

In dit Instructable waren gaan bouwen U3 programma's gebruik van het freeware programma pakket fabriek door eure.caStap 1: Bestanden krijgen Wat je nodig hebt:Pakket fabriekBestand om te zetten van U3 (ik recemend een programma van hier)Een compatibe
Elektronica lesgeven aan kinderen met delen van oude PC's

Elektronica lesgeven aan kinderen met delen van oude PC's

sommige delen van oude computers kunnen opnieuw worden gebruikt elektronica en sommige solderen basisvaardigheden om kinderen te leren. Ze zal veel plezier uit elkaar te halen dingen zoals een CD-speler.Uit een computer kunt kostenloos: motoren, magn
Programmering ATmega16A met behulp van de arduino IDE

Programmering ATmega16A met behulp van de arduino IDE

Assalamualaikum warahmatullahi wabarakatuhHallo, is mijn naam Ekky Hermestian IW uit IndonesiëDit leerprogramma zal u tonen hoe te programmeren van een ATmega16 met behulp van de Arduino IDEWe kunnen gebruiken syntaxis zoalspinMode()digitalWrite()dig
Java-programma voor het berekenen van samengestelde rente

Java-programma voor het berekenen van samengestelde rente

/ / dit programma bepaalt de hoeveelheid geld die wordt verergerd op 8%na verloop van tijd (30% per maand voor belastingen aftrekken.Dit programma starten vanaf de opdrachtregel.Gebruiker gevraagd op te geven van het aantal jaren dat ze investeren wi
Begin Microcontrollers deel 7: Herziening van het eerste programma om het knipperen van LED

Begin Microcontrollers deel 7: Herziening van het eerste programma om het knipperen van LED

Het eerste programma, dat een LED ingeschakeld die u hebt geschreven. Ja, dat spectaculair was! Nou, niet echt, maar laten we introduceren een beetje gekte op de LED. We geven het een "bi-polaire" persoonlijkheid doordat het knipperen. Toen we h
Eenvoudige tracker voor programma's met behulp van internet

Eenvoudige tracker voor programma's met behulp van internet

Hallo instructables Gemeenschap, ik heb nog een ander .bat programma te tonen y'all. Dit programma is eigenlijk twee programma's, maar ze zal openen op hetzelfde moment, anyway Dit zal u toelaten om te zien welke processen zijn verbonden met het inte
Een bash-programma voor het genereren van de output van de stem van de lokale tijd op de Raspberry Pi

Een bash-programma voor het genereren van de output van de stem van de lokale tijd op de Raspberry Pi

Hey netizens! Dit is de eerste Instructable die ik heb gemaakt! Deze site heeft mij enorm geholpen als student, leren DIY. Ik wil deze site helpen in ruil.Nu, voor een, dit is een eenvoudige sprekende klok die zegt dat de dag, datum, maand, tijd en j
Het gebruik van het programma voor het ontwerpen van aangepaste IC cadans te bouwen de schematische weergave van een omvormer

Het gebruik van het programma voor het ontwerpen van aangepaste IC cadans te bouwen de schematische weergave van een omvormer

De CadenceCustom IC design tool, virtuoos is een geïntegreerd circuit design tool welke ontwerpers kunnen ontwerpen, de vorm, grootte, enz van Integreer circuits voordat echte fabricage. Het doel van dit instructable is om mensen te leren hoe met vir
FunShield, een Arduino onderwijsplatform

FunShield, een Arduino onderwijsplatform

Ik heb met behulp van de uitvinder van de SparkFun Kit om te helpen leren van elektronica en programmering aan de Makers van de tiener bij onze lokale openbare bibliotheek in Corvallis, Oregon. We hebben veel succes gehad, maar in staat om een werken
Programmeerbare pompoen licht

Programmeerbare pompoen licht

Dit Instructable is voor het maken van een programmeerbare pompoen licht met een ATTiny microcontroller. Dit werd ontworpen als een demo leren om iedereen (leeftijd 8 +) in de elektronica en programmering microcontrollers met behulp van de Arduino ID
N00tron 3D sferische volumetrische Display - interactieve vertonen

N00tron 3D sferische volumetrische Display - interactieve vertonen

n00tron is een unieke technologie en kunst exposeren. Generatieve licht kunst wordt gemaakt in het bolvormige volumetrische display met volledige interactiviteit.  Deelnemers hebben realtime controle van het scherm tekenen met behulp van knoppen en s