Stap 7: Firmware- en Software
We besloten dat draadloos besturen van de hovercraft een absoluut essentiële functie, was zodat we twee XBEE draadloze modules verworven. Wij stellen twee circuits, het circuit van de host en het aan boord circuit. Met de PICs vermogen signalen kunnen verzenden en ontvangen, instellen we de host PIC voor het verzenden van een puls breedte specificatie aan de onboard PIC. Zodra we waren in staat om signalen van de host PIC aan de onboard PIC, we de XBEE modules toegevoegd. De modules XBEE vereist geen aanvullende code wijzigingen; Wij kunnen verzenden en ontvangen van signalen, alsof de foto's door onzichtbare draden verbonden waren.
Ontvangst van signalen
Wij wilden voor zitten kundig voor ontvangen gegevens van sensoren die gemonteerd op de hovercraft. We besloten om het gebruik van PORTA voor analoge sensor-ingangen en uitgangen van PORTB voor digitale pulsbreedte. Dit besluit werd ingegeven door het feit dat alleen poorten van PORTA als analoge ingangen fungeren kunnen. We zetten vijf puls breedte uitgangen en hen gecontroleerd met vijf schuifregelaars op de computer. Zodra dit werkte, we een analoge ingang die het signaal van de onboard PIC zou kunnen naar de host PIC sturen toegevoegd en ten slotte naar de computer. Wanneer we toegevoegd extra analoge ingangen, echter, liepen we in de problemen. Het eerste probleem was dat het duurde gewoon te lang voor de PIC van al de ingangen lezen en verzenden van de signalen naar de host PIC. De vertraging was lang genoeg om van invloed zijn op de puls breedte uitgangen. We dit probleem opgelost door te beperken hoe vaak luidt de PIC van de analoge ingangen. Het tweede probleem was dat de analoge ingangen leek te worden lezen en verzenden van de verkeerde signalen af. We ontdekten dat we nodig hebben om langer te wachten tussen het lezen van verschillende analoge ingangen. Na de uitvoering van deze vertraging, worstelde we nog steeds om effectief lezen meerdere analoge ingangen. We geregeld voor de mogelijkheid om alleen het lezen van een sensor tegelijk.
Voor sensoren experimenteerden we met een versnellingsmeter en de sensor van een sonar. We vonden dat we voelde kantelen met een versnellingsmeter, maar kon vermoeden dat we niet genoeg kantelen voor de versnellingsmeter nuttig te zijn voor onze doeleinden. We vonden dat de sensor sonar effectief voor het meten van afstanden groter dan zes duim, en nauwkeurigheid van ongeveer drie duim was. We gekalibreerd de sonar-sensor en de computer instellen voor de uitvoer van de lezing in inches.
Gebruikersinterface
Tot de laatste week bestond de gebruikersinterface uit vijf schuifregelaars, één voor elke puls breedte uitgang. In de laatste week dachten we meer over hoe de gebruiker zou willen controleren de hovercraft. We geregeld voor een schuifregelaar waarmee de snelheid van de ventilator van de lift, schuifregelaars aan de controle van de snelheid van elke fan van de voortstuwing en schuifregelaars om te controleren de toonhoogte van elke fan van de voortstuwing. Voor de gebruiker was alle van deze schuifregelaars beheersen een moeilijk ervaring, dus we toegevoegd toetsencombinaties. G en H gecontroleerd de snelheid van de ventilator van de lift, 1 en 2 bepaald de snelheid van de ventilator van de linker voortstuwing, en 9 en 0 gecontroleerd de snelheid van de ventilator van de juiste voortstuwing. Omhoog en omlaag verplaatst u de toonhoogte besturingselementen in dezelfde richting (voor back-up en vooruit), en links en rechts verplaatst de toonhoogte besturingselementen in tegengestelde richtingen (voor de besturing).
Hier is hoe u deze omhoog en uitvoeren van jezelf kunt krijgen. Allereerst moet u libusb geïnstalleerd op uw computer, zodat de host PIC en uw computer kunnen communiceren. Ik zal niet ingaan op het installeren van de libusb, als het varieert tussen verschillende besturingssystemen. Ook moet u een manier om de flitser van de foto's met de firmware geboden. De microchip Pickit 2 is wat we gebruikt, samen met hun MPLAB software.