Stap 5: Digitale uitgang GUI Code
Deze VI die behandelt de GUI animaties, evenals het aanroepen van de functies om de controle van de analoge ontdekking. Deze stap zal de code in de context van de kleurcode van de kaart, de Code van de animatie, de Analog Discovery controlecode bespreken.
Opmerking: de projectcode is gekoppeld hierboven.
Kleurkaart
Voordat u begint de lus leest de VI in pixel kaart van een JPEG-bestand. JPEG is een afbeelding van een
. De RGB-waarden voor elke pixel in de pixel-kaart zijn ingedeeld in drie arrays, één voor elke kleur. Een 2e exemplaar van de kaart van de pixel is gemaakt en getekend op het voorpaneel waar het kan worden geklikt. Dit klikbare plaatje heet "2D kleurkaart". Afhankelijk van waar u klikt het 2D kleurplan is een RGB-waarde geselecteerd. Dit wordt gedaan met behulp van de muisaanwijzer coördinaten (ten opzichte van het 2D kleurplan grenzen) voor toegang tot de gesorteerde kleur arrays die zijn gemaakt met de pixel-kaart. Deze kleurwaarden worden gebruikt voor animatiedoeleinden als goed als controlerende de analoge ontdekking.
Animatie
Om een virtuele visualisatie van wat de echte Tricolor LED zou uitzien, zijn virtuele LEDs geanimeerd op het voorpaneel. De RGB-waarden greep van de gesorteerde kleur arrays worden toegepast op de LED's getrokken op het voorpaneel. Een van de LED's op het voorpaneel (de tricolor LED) toont de gemengde RGB-waarden. Elk van de andere drie LEDs zijn gewijd aan één kleurkanaal (rood, blauw of groen). De LED's op het voorpaneel zijn gemaakt van decoratie vormen. Alle decoratie verwijzingen voor een VIs voorpaneel bevinden zich in LabVIEW binnen een matrix genoemd Decos []. Met behulp van een verwijzing van de decoraties kunt u bepaalde eigenschappen van de decoratie zoals kleur bepalen. Nadat ik had getrokken de LEDs (met behulp van twee rechthoeken en een cirkel voor elk), vastbesloten ik hun positie in de matrix Decos []. Ik deed dit door inpluggen in een indexwaarde (het verkrijgen van de decoraties verwijst naar) en verbergen en zichtbaar maken van de decoratie. Na zien welke decoratie veranderd verdwenen wist ik welke index in Decos [] overeenkwam met het. Met behulp van dit proces ik afgeleid van de cluster-constanten "LED Shape-ID's". Merk op, dat ik bel het nummer "Shape-ID nummers", maar ze zijn echt indexwaarden van de array Decos []. Let op als u een decoratie toevoegen of wijzigen van een decoratie de indexwaarden in Decos [] verandering. Hierdoor wordt de animatie kuren te vertonen. Met de juiste ID-nummers van shapes die ik gebruik een for-lus een groep decoraties selecteren en toepassen van de juiste RGB-kleuren. Dit is hoe de LED's op het voorpaneel worden geanimeerd.
Analoge Discovery controle
Als u wilt bepalen van de analoge ontdekking een Wedstrijdstructuur wordt gebruikt. De structuur gebeurtenistriggers wanneer de muis wordt verplaatst, of in het 2D kleurplan geklikt. De structuur van de gebeurtenis activeert ook als de waarden van de PWM of PWM wijzigt. Het PWM-waarden worden berekend op basis van de RGB-waarden. In een JPEG zijn kleuren 8 bit, wat betekent dat de getallen 0 tot en met 255 gebruikt worden om hoe intens een kleurkanaal is (dat wil zeggen hoe levendig rood groen of blauw-waarde van een pixel is). Voor het berekenen van de PWM plicht cyclus percentage, worden de kleurwaarden met 255 gescheiden. Deze waarden zijn ingevoerd in de "Tricolor LED PWM Out.vi"This VI is voornamelijk voor de organisatie. Het bevat 3 identieke VIs die genereren PWM-signalen op de analoge ontdekking. Verwijzen naar de volgende stap voor informatie over hoe PWM wordt gegenereerd. De structuur van de gebeurtenis waarmee de PWM VI's leidt ook tot een paar digitale schrijven commando's voor de ontdekking van de analoge. Dit is wat optionele zeven segment display aan het licht van de oorzaak. Het pin-nummer voor de digitale schrijven hard is gecodeerd in het gebeurtenislogboek structuur. Voel je vrij om ze veranderen en experimenteren, maar zorg ervoor dat u niet probeert te gebruiken dezelfde pincode voor PWM en digitale schrijven. Voor meer informatie over de werking van de digitale schrijven VI verwijzen naar de volgende stap.