Stap 7: Verbetering van het
Als met alle projecten begin zodra ik ben klaar, ik te denken over hoe ik het kan verbeteren... Hier is sommige gedachten die ik had:1. de consistentie van de waarde die wordt geretourneerd door de analogRead wordt bepaald door een paar dingen:
-De voeding. De waarde kan sterk variëren als uw vermogen niet goed is geregeld. Op een gereglementeerde toevoer, misschien een condensator kan glad het aanbod wat meer?
-De knop. Ik ben niet zeker waarom dit zou zijn. Een ding die ik merkte is dat de waarden rond de meeste recht als de status verandert springen. Mijn beste gok is dat het kan worden veroorzaakt door de rug emf gegenereerd wanneer de knop is ingedrukt / uitgebracht. Misschien kon een diode in de knop het schoon te maken een beetje.
Natuurlijk zou je kunnen afvragen waarom we moeten verbeteren. Immers, werkt het prima.
Als je het bereik van waarden voor elke knop tot een minimum beperkt krijgen kon, zou u in staat om veel meer knoppen op elke analoge pin.
Bijvoorbeeld, als u de waarden voor elke knop binnen ongeveer 60 punten krijgen kon, kon u gemakkelijk zetten 12 knoppen op een PIN-code en het gebruik van de weerstand van elke waarde in het bereik van de E12 tussen 10K en 100K (10k, 12 k, 15k, 18 k, 22k, 27k, 33 k, 39k, 47k, 56 k 68 82k en 100 k, k)
U zou waarschijnlijk nodig hebben en te gebruiken meer accurate weerstanden (of gewoon meten ze degenen die dicht genoeg bij de streefwaarde), en moet u mogelijk uw knoppen zorgvuldig kiezen, maar het feit dat mijn derde knop altijd in een bereik van 2 punten is bewijst dat je kunnen moet om dit te doen.
De tweede reden is ertoe brengen om te werken met meerdere knoppen.
Waarom moet niet het werken met meerdere knoppen? Nogmaals, ga ik niet eigenlijk om te doen de wiskunde (blijkt dat ik ben nog steeds lui), maar ik ben vrij zeker dat u zorgvuldig kiest uw weerstanden, u konden postuur uit welke knoppen werden ingedrukt, zelfs als het was meer dan een.
Als je kijkt naar het circuit, kunt u zien dat door de 2 knoppen tegelijk in te drukken, je in wezen hun 2 weerstanden in parallel zetten. Door te bellen op oom Ohm nogmaals, heb je een formule voor het bepalen van de totale weerstand voor parallelle weerstanden.
Bijvoorbeeld, als ik mijn tweede en derde knoppen ingedrukt, kunt u zien dat een 10K Ohm weerstand parallel met een 33K Ohm weerstand u een totale weerstand van 7.6744K geeft (Nope, ik googled het - nog steeds geen wiskunde). Dit zou gemakkelijk zijn te halen in de code. Als echter ik duwde met knop 1 en 2, hoewel de weerstand voor een parallelle 1K en 10K weerstand zou 900 Ohm, dus nu we in hetzelfde bereik wat knop 1 zijn.
Natuurlijk, als je de weerstand van 1K weggelaten, zou er geen manier om te ontdekken als knop 1 werd ingedrukt met een andere knop. Aangezien ik niet hoef te detecteren van meerdere knooppersen, ga ik niet in meer details (op dit moment in ieder geval).