Goedkope DMX-Tester (4 / 7 stap)

Stap 4: Inleiding tot de logica van de Machine staat

Als u niet bekend bent met of nog niet staat machine logica in de programmering gebruikt, is het de gemakkelijkste manier om complexe problemen om in te breken beheersbaar Staten en staat overgangen. Een van de eenvoudigste manieren om een statusmachine is een instructie switch te gebruiken.

Voorbeeld van een statusmachine met behulp van een switch statement:

 switch(state) {case INITIAL: // process INITIAL state break; case STATE1: // process STATE1 state break; case CLEAR: clearAll(); state = INITIAL; break; default: break; } 

Afhankelijk van de staat zijn er alleen een paar geldige sleutels en waarden. Laat een kijkje nemen op de eerste staat met de naam van de eerste. Zoals je uit het diagram staat zien kunt de begintoestand kan slechts hebben de volgende sleutels: 0-9 en ' *' (sterretje), anders is het een bestandsfout.

Staat Toetsen Volgende staat Commentaar Eerste 0-9 Begindatum1 X
* JOKERTEKEN1 * @
Iets anders initiële opmaken fout

Hier is een stukje van de code tonen hoe ik de begintoestand geïmplementeerd:

 char key = keypad.getKey ();<br> if (key != NO_KEY) { switch(state) { case INITIAL: // X if(validKeys0to9(key)) { pos = displayKey(key, pos); storeKey(key); state = START1; } else if (validWildCard(key)) { // *@ pos = displayKey(key, pos); state = WILDCARD1; } else { invalidFormat(); clearAll(); } break; 

Zoals je kunt zien heb ik sommige hulpfuncties zodat de code gemakkelijk te lezen.

 // Validate key *<br>// return true if valid, else false int validWildCard(int key) { int valid=0; switch(key) { case '*': valid=1; break; } return valid; } <br>// Validate key 0-9 // return true if valid, else false int validKeys0to9(int key) { int valid=0; switch(key) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': valid=1; break; } return valid; } 

Gerelateerde Artikelen

Hoe maak je een goedkope en makkelijke continuïteit tester!

Hoe maak je een goedkope en makkelijke continuïteit tester!

Elke multimeter heeft een continuïteit tester. Maar wat moet u doen wanneer u niet over een multimeter beschikt of als het gebroken is en u wilt continuïteit van een circuit testen. Dat klopt dat je een continuïteit tester zelf maken. In dit instruct
Goedkope lichtmeter en LED Tester voor minder dan $5

Goedkope lichtmeter en LED Tester voor minder dan $5

Ive onlangs spelen met hoge helderheid LED's voor een LCD LED-projector. Het probleem dat ik vond was het zeer moeilijk, dus zien als de LED's allemaal dezelfde helderheid, en dus moeilijk te vergelijken van individuele LED's. Ook als je snel control
Arduino DMX 512-Tester en Controller ENG

Arduino DMX 512-Tester en Controller ENG

Updates bestanden, codes, schema's...Versión en EspañolFacebook-Tool voor kleurenbeheer voor het testen en lichtshow door het protocol van de DMX-512, ideaal voor snelle tests op vaste of tijdelijke installaties van verlichting. Dit project komt voor
Goedkope kabel/draad Tester

Goedkope kabel/draad Tester

dit is een zeer eenvoudige, maar zeer nuttig weinig gadget. Iedereen kan het maken voor 1 $(or less). Dit is echt goed voor beginners en het kan helpen bij het oplossen. Ja u kunt kopen één erts gebruik de multimeter, maar whats de fin in dat?Stap 1:
Arduino DMX 512-Tester en Controller

Arduino DMX 512-Tester en Controller

Actualizaciones, Library, códigos...Engelse versieFacebookHerramienta para pruebas y control de si de empleo een travez del protocolo DMX-512, ideale para hacer pruebas rápidas nl un fijas o temporales de si. Este proyecto schommeling por la necesida
Maken van uw eigen goedkope Test leidt

Maken van uw eigen goedkope Test leidt

ik ben een regelmatige op eBay en 99% van de tijd die ik met succes source producten uit China. De sleutel voor dit slagingspercentage is weten wat voor de orde en wat u kunt verwachten voor uw geld. Echter, onlangs ik bestelde dat een aantal test le
Een ongelooflijk goedkope test lood organisator

Een ongelooflijk goedkope test lood organisator

Ik ben bijna beschaamd om te dienen, dit omdat het is zo simpel, maar een vriend zag het in mijn plaats en dacht dat het was een slim idee die anderen zou waarderen.In plaats van een doos van verwarde test leads heb ik een uiterst eenvoudig organisat
Pro USB-DMX Controller en terminator voor QLC +

Pro USB-DMX Controller en terminator voor QLC +

Vandaag wil ik delen met u hoe maak je een professioneel uitziende USB DMX-controller te gebruiken met verlichting controlesoftware zoals QLC +. In ongeveer 5 tot 10 minuten en ongeveer $35 in delen en de scheepvaart.Dit project kan daadwerkelijk nee
Raspberry Pi als een lichte DMX-controller

Raspberry Pi als een lichte DMX-controller

Maak je Raspberry Pi een lichte DMX-controllerDit instructable toont u hoe u een venster van de editor van het wiel van kleur op het scherm van een Raspberry Pi-computer, die u met de muis bewerken kunt. Als u de kleur op het scherm wijzigt, verander
Oplossen van problemen met een goedkope geïmporteerde LED armatuur

Oplossen van problemen met een goedkope geïmporteerde LED armatuur

Als ingenieur die voornamelijk in LED-verlichting werkt, krijg ik altijd monsters van nieuwe producten op een bos van verschillende prijspunten en met wild wisselende kwaliteit. Tegen mijn beter weten nam ik een kans op enkele sub-$40 18-watt RGB LED
Bouwen van een goedkope 3D-Printer

Bouwen van een goedkope 3D-Printer

3D printen, klinkt het zo futuristisch...Hebben de mogelijkheid om een virtuele object omzetten in iets wat die je fysiek kan houdenIk moet toegeven dat de gedachte van het opbouwen van een 3D-printer klonk zo complex, toen ik begon dit project, dach
Rock Tests 101

Rock Tests 101

Rotsen. Ze zitten gewoon de hele dag, dus het is tijd om hen op de proef gesteld. En als je dacht tests waren hard dat toen je jonger, probeer als je meerdere miljoen jaar oud!Dit is een set van rock tests Aardwetenschappen tot leven te brengen voor
Mount een goedkope Hall Lamp leidde tot een plafondventilator

Mount een goedkope Hall Lamp leidde tot een plafondventilator

Ik ben ter vervanging van oudere plafondventilatoren in mijn huis met betere eenheden, en toen ik geprijsd moderne LED verlichting accessoires voor hen vond ik de kleinhandels tarifering ver buiten wat was redelijk en ging om de bron van mijn eigen.
Hoe maak je een zeer effectieve en goedkope micro/macro lens voor een iPhone of smartphone!

Hoe maak je een zeer effectieve en goedkope micro/macro lens voor een iPhone of smartphone!

In dit instructable, zal ik uitleggen hoe ik heb gemaakt macro lenzen voor mijn iPhone 4 door de bergen van delen van oude digitale camera's. Waarom kopen dure lens bijlagen wanneer ze al rond uw huis liggen? Disclaimer: Ik ben op geen enkele wijze v