Analoga Discovery PWM och Digital IO styr dock LabVIEW (5 / 6 steg)
Steg 5: Digital utgång GUI koden
Detta VI som hanterar GUI animationer samt anropa funktioner för att styra analoga upptäckten. Detta steg kommer att diskutera koden i samband med karta färgkod, Animation koden, Analog Discovery styrkoden.
Obs: projektet koden fästas ovanför.
Färgkarta
Innan du börjar kretsa läser VI i pixel karta över en JPEG. JPEG är en bild av en
. RGB-värden för varje pixel i pixel karta är sorterade i tre matriser, en för varje färg. En 2: a kopia av pixel karta är gjord och dragit på framsidan där det kan klickas. Denna klickbar bild är märkt "2D färgkarta". Beroende på var du klickar 2D färg kartan är ett RGB-färgvärde markerat. Detta görs med hjälp av muspekaren koordinaterna (i förhållande till 2D färg kartans gränser) att komma åt de sorterad färg matriser som har skapats från pixel karta. Dessa färgvärden används för animeringsändamål som väl så kontrollerande Analog upptäckten.
Animering
För att ge en virtuell visualisering av vad verklig Tricolor LED skulle se ut, animeras virtuella lysdioder på panelen. RGB-värden tog från sorterad färg matriser tillämpas på lysdioderna på frontpanelen. En av lamporna på frontpanelen (tricolor LED) visar de blandade RGB-värdena. Var och en av de andra tre lysdioderna är hängivna att enstaka färgkanaler (röd, blå eller grön). Lysdioderna på frontpanelen är gjorda av dekoration former. I LabVIEW finns alla dekoration referenser för en VIs frontpanel i en matris kallas Decos []. Med hjälp av en dekorationer referens kan du styra vissa egenskaper hos dekoration som färg. När jag hade ritat lampor (med två rektanglar och en cirkel för alla), beslöt jag deras position i matrisen Decos []. Jag gjorde detta genom att koppla in indexvärdet (att få referera till dekorationer) och dölja och ta fram utsmyckningen. Efter seende vad dekoration förändrats försvann visste jag vilken index i Decos [] motsvarade det. Med denna process kommer jag klustret konstanter "LED form ID-nummer". Observera att jag kallar alla nummer "form ID-nummer" men de är verkligen indexvärden i Decos [] matrisen. Se upp om du lägger till en dekoration, eller ändra en dekoration indexvärdena i Decos [] förändring. Detta kommer att orsaka animeringen till maskinfelen. Med rätt form-ID nummer jag använda en for-loop att välja en grupp av dekorationer och tillämpa lämpliga RGB-färger. Detta är hur lysdioderna är animerade på frontpanelen.
Analoga Discovery kontroll
För att styra Analog upptäckten en händelse struktur används. De struktur händelseutlösare varje gång musen flyttas, eller klickade inom 2D färg-kartan. Den händelse strukturen utlöser också om PWM värden eller PWM ändrar. PWM värden beräknas baserat på de RGB-värdena. I en JPEG är färger 8 bitar vilket betyder siffrorna 0 till 255 används för att representera hur intensiv en färgkanal är (dvs hur intese röd grön eller blå värde i en pixel är). För att beräkna PWM duty cycle, är färgvärden uppdelade efter 255. Dessa värden matas in "Tricolor LED PWM Out.vi"This VI är främst för organisationen. Den innehåller 3 identiska VIs att generera PWM signaler på Analog upptäckten. Se nästa steg för detaljer om hur PWM genereras. Den händelse struktur som styr den PWM VI utlöser också några digitala skriva kommandon för Analog upptäckten. Detta är vad som orsakar valfria sju segment display att lysa upp. Pin-kod kodade för den digitala skriva är hård vid struktur. Känn dig fri att ändra dem och experimentera, men var säker på att du inte försöker använda samma PIN-koden för digitala och PWM skriva. För detaljer om hur den digitala skriver VI fungerar, se nästa steg.