Stap 4: Code
De code voor dit is iets anders dan de meeste andere Arduino projecten omdat er geen code voorhanden in de lus is. In plaats daarvan, het werkt off van Interrupts betekenis code wordt uitgevoerd nadat de input van de gebruiker; in dit geval, een van de knoppen te drukken. De Arduino Pro Mini accepteert alleen interrupts op digitale pinnen 2 en 3. Een Interrupt ligt omhoog zodat wanneer pinnen of 2 of 3 een stijging van de spanning detecteren (spanning gaat naar hoog), de functies die zijn gekoppeld aan de Interrupt zal uitvoeren.
Een knop is ingesteld om te meten en de andere switches tussen SI en metrische eenheden. SI-eenheden worden gerapporteerd als voeten en inches en metrische eenheden zijn in cm. De code is standaard ingesteld op standaard snelheden voor de snelheid van het geluid, maar er is ook een schaalfactor (genoemd fudgeFactor) die kan worden aangepast als u vindt dat de waarden zijn systematisch bevooroordeeld hoog of laag. De snelheid van het geluid kan worden beïnvloed door vele factoren zoals temperatuur, hoogte en vochtigheid dus Experimenteer een beetje om te zien als u het wilt aanpassen van de variabele fudgeFactor om goede resultaten te krijgen.
De ultrasone sensor is zeer eenvoudig en werkt doordat de transmit pin HIGH voor langere tijd (ik gebruik 10 milliseconden), dan het trekken van het lage en het gebruik pulseIn op de pin ontvangen. Pulse in maatregelen die de tijd in microseconden tussen de functie wordt aangeroepen en het wordt getriggerd wordt om te niveau ingesteld in de functie, in ons geval hoog. Daarna kunnen we die tijd (gedeeld door 2 account voor de heen-en terugreis) gebruiken om de afstand te berekenen.
Als je hebt nooit een Arduino Pro Mini geprogrammeerd voordat je naar stap 4 in mijn Motion Detector met LED voor Beginners Instructable voor gedetailleerde instructies kijken kan. Deze code zou moeten werken zonder wijziging voor een Arudino Uno zo goed.
Ik heb besloten het Ino bestand hier en kunt u de code op mijn GitHub pagina hier.