Stap 4: Definitieve verbeteringen
Aangezien ik vrij tevreden met de meting algoritme was besloten heb ik om af te ronden schets verbetering. Meest in het bijzonder, wilde ik om te kunnen werken met zowel de grote als de kleine Rc weerstanden en schakelen tussen hen automatisch afhankelijk van de waarde van de condensator beproeven, om te voorkomen dat geen onnodige herladen van de schets. Andere veranderingen omvatten automatische 'verdwaalde precisiecapaciteit' correctie voor zowel modi, groter bestuur setup-opties (pin selectie, beschreven in de volgende stap) en een leesbare display.
Voordat ik begin met de code wil ik stel voor dat u een goede seriële monitor program, als u niet reeds hebt. De huidige in IDEs (zowel Arduino en UECIDE) zijn nogal primitief. De Arduino een niet goed CR (regelterugloop) weergeven en de UECIDE niet herkent tabulation; zowel ASCII-symbolen zijn aanwezig in mijn schets. Ik gebruik RealTerm, maar je kan liever iets anders. Als je RealTerm, zorg ervoor om Ansi selecteert op het tabblad weergeven als; ook kunt de knop openen op het tabblad poort poort input aan en uit zetten (kan worden gebruikt als een reset ook). Als u wilt krijgen van de lezingen in een lijst, niet in elkaars verlengde, schakel de weergeven als terug naar ascii. Wenst u te houden aan de Arduino/UECIDE seriële monitor, je kan gewoon commentaar/uncomment een paar regels in de sectie van de installatie van de schets definieert.
Het nieuwe bestuur setup staat boven (hoop die ik niet een puinhoop van maakt) en de code is aan de onderkant van deze stap, want het is onmogelijk te nemen goed in een instructable.
Proberen te maken van de verbindingen zo kort mogelijk te zijn om te minimaliseren van verdwaalde capaciteit; de Fritzing schema's niet volgen naar de letter, het heeft getekend op deze manier gewoon omdat Fritzing weerstanden kan niet knijpen in aangrenzende rijen. Maar je kunt.
Deze sketch duurt enige tijd om op te starten: "verdwaalde capaciteit" wordt berekend voor beide Rc weerstanden, dan het proeven jitter grote enerzijds. Deze stap is nodig om ervoor te zorgen dat de aanpassing was correct; Als ik zie dat de jitter neigt teveel aan – of + kant, ik gewoon herstarten Arduino (ik wilde deze jitter gemiddelde en dit opnemen in de pF-aanpassing maar niet tevreden met het resultaat). Het is mogelijk om te schakelen van nF of pF modus, indien nodig door de aarding van de corresponderende pin (11 en 12 standaard); Dit kan worden gedaan, zowel voordat omhoog en op het apparaat van de werken (misschien wilt u verbinding maken met sommige schakelopties). Het kan nodig zijn bij het meten van sommige zeer kleine kapitalen, zoals 15pF of minder, zoals het programma hun waarde onbeduidend in de normale modus overwegen zal. Automatische overschakeling van nF (standaard) modus op pF niet onmiddellijk gebeuren om fouten te voorkomen terwijl je een condensator op een proefbank zetten (sommige willekeurige resultaten worden gegenereerd in dit proces).
Ten eerste zijn 60 lijnen van de code een 'setup definieert' sectie die gemakkelijk kan worden gewijzigd volgens uw lay-out. Hopelijk zijn de opmerkingen er genoeg om de werking te begrijpen. Test spanning pinnen (die leveren 5V voor het opladen van de condensator via Rc weerstanden) zijn beperkt tot een van de twee combinaties: pin 9 en 10 of pin 3 en 4. De reden voor deze twee sets zal later; worden verklaard Als u wilt volledig verschillende pinnen gebruiken hebt u te spelen rond met poort manipulatie macro VPIN_HIGH (of zelfs het volledig negeren en iets anders schrijven).