Stap 4: De Code
De code werd aangenomen vanuit een ander instructable schreef ik: Pocket-Sized ultrasone liniaal. Ik gebruikte dezelfde logica voor het vinden van de afstand met de HC SR-04 als dat instructable, maar voegde ik een blok met "als"-instructies en de logica voor de "motor".
Onze code kan worden onderverdeeld in drie delen:
1. de installatie (en op indicator)
2. op afstand zoeken
3. het blok van 'als'
U ziet aan het begin van de code, verklaringen van onze variabelen (die kunnen worden gewijzigd op basis van persoonlijke voorkeuren). Er zijn onze RANGE_FAR, RANGE_MED en RANGE_CLOSE variabelen, (richtsnoeren vaststellen waarin de drempelwaarden van de afstand van een object), en SENS_HIGH, SENS_MED en SENS_LOW, (waarin de gevoeligheid van de DC-motor zijn zal wanneer de drempels worden overschreden). Vervolgens in onze setup functie noemen we de pinMode() functie-uitgangen of ingangen toewijzen en stuur enkele positieve spanning pulsen naar onze gelijkstroommotor om te vertellen onze gebruiker het apparaat is "on".
Zoals eerder vermeld, de afstand die logica vinden (in onze loop functie) is vergelijkbaar met een vorige instructable. Het is het beste gewoon te geloven me dat deze code de afstand (in centimeters) voor ons retourneert voor het verwerken van later.
Van het blok 'als' doel is te controleren als onze afstand iedereen van onze drie drempels kruist: RANGE_FAR, RANGE_MED of RANGE_CLOSE. Als één van die drempels kruist, stuurt zij een duty cycle de DC-motor gelijk aan hetzij de variabele SENS_HIGH, SENS_MED of SENS_LOW. (255 is een volledige duty cycle en 127 is taakcyclus van 50%). Ik heb al deze constante variabelen, voel je vrij om hun waarden volgens wat u wilt uw afstand drempel en de gevoeligheid te wijzigen.