Programmera en Robot FRC (5 / 9 steg)
Steg 5: Komplett pneumatik systemet
Pneumatik kan vara användbart för att förbättra funktionaliteten i din robot och är ganska enkla att genomföra, både byggnaden och programmering. För att förstå den byggnaden aspekten av pneumatik, se detta instructable av Zaphod Beetlebrox, där han gör ett utmärkt jobb med att förklara alla komponenter av en pneumatiskt system och hur man lägger ihop allt. Låt oss börja programmera pneumatik systemet genom att lägga till kompressorn:
Kompressor Kompressor;
kompressor (< pressure_switch_port >, < relay_port >);
kompressorn. Start();
Den första raden går med resten av din varierande definitioner, andra linjen går i listan initierare och thirdsna går i din RobotInit funktion. Konstruktören parametrarna för kompressor är porten nummer där ditt tryck växla och spike relä ansluts till den digitala sidvagn. Tryck switch ska anslutas till en av Digital IO portar och Spike reläet ska anslutas till en av relä-portarna. Detta är all kod som du behöver få kompressorn fungerar, det kommer att starta automatiskt och fortsätter att köra tills tryckvakt utlöses. Med standardtryck övergången från AndyMarks bör detta på 120 psi, men i verkligheten är det oftast lite lägre än att (vår utlöser vid 110 psi).
Nästa steg i programmering en pneumatik systemet är att avfyra solenoider. Ledningar och programmering skiljer sig mellan olika modeller, men det finns två primära typer av solenoider, enda magnetventiler och dubbla solenoider. Enda solenoider har bara två kablar går till dem. De direkta påtryckningar för att en utgång som standard och kommer endast direkt tryck till andra utgång medan nödsänkningssolenoiden drivs. En bistabil har två par trådar, en går till varje sida av enheten. När en sida är driv, byter nödsänkningssolenoiden sin produktion till den sidan. När strömmen slås av produktionen kommer att förbli där det är. Om båda är aktiverade samtidigt produktionen kommer också att förbli densamma. Om du använder en unistabil går koden så här:
Magnetspolar magnetspolar;
magnetventil (< kanal >);
magnetventil. Ange (< sant/falskt >);
De två första raderna går på samma plats som de två första raderna av kompressor exempelkod. Tredje raden bör placeras i en if sats kontrolleras av en knapptryckning eller kanske i autonoma koden. Passerar värdet true till funktionen ange att växla produktionen av nödsänkningssolenoiden till icke-standard utdata. Jämväl när inställd på false kommer det tillbaka utdata till standardpositionen. Om du vill använda en bistabil, all du har till gör är ändra klassen av variabeln magnetventil till DoubleSolenoid i stället för magnetventil och ändra parametern för funktionen Set. Parametern Set funktion är inte längre ett booleskt värde eftersom det finns tre tillgängliga alternativ: Aktivera endast en sida, aktivera endast den andra sidan och stänga båda sidor. Du kan styra detta genom använda DoubleSolenoid::kForward, DoubleSolenoid::kReverse eller DoubleSolenoid::kOff som parameter för din ställa in funktion.