Automatisk Espresso Loader (5 / 7 steg)
Steg 5: Programvara/kontroll
Som det nämnts ovan, systemet styrs av Parallax Propeller MSR1 board, kör ett anpassat program för SPIN.
Programvarans algoritm kan fördelas linjärt. Det fanns ingen anledning att ha samtidig rutiner kör, och så bara en kugge var använder för enkelhetens skull. Programmet först definierar konstanter, som främst omfattar stiften för servon, tryckknappar och DC-motor. LCD information och klockfrekvens fastställs också.
Nästa, tre objekt kallas: Servo32v5, serial-uttaget och debug_lcd. Servo-objektet används för lätt servo kontroll (utan att behöva krångla med timing pulser). LCD-objektet används för att initiera och skriva till LCD-skärmen. Slutligen, serial-uttaget används för diagnostiska ändamål, och har inte någon roll i slutprodukten.
Nästa, de två variabler som användaren väljer definieras: smak och sköt storlek.
Slutligen, huvudprogrammet kan börja. Servon ställs först in till stängt läge LCD och visar sedan ett välkomstmeddelande.
Efteråt, smak subrutinen kallas, som sedan uppmanas användaren att smaken. Efter lämplig nyckel pressa upptäcks, sköt subrutinen kallas, som uppmanar användaren att skott storlek. Efter lämplig nyckel pressa upptäcks, väntar programmet på OK för att tryckas. Efter OK upptäcks, kallas dispensering subrutin. Dispensering subrutinen sedan sätter ränna till förbestämda position, öppnar lämpliga ventilen under en lämplig tidsrymd och stänger ventilen. Efteråt, kompakt subrutinen kallas, som flyttar ränna ur vägen för en mer kompakt, och kallar compacter två gånger. Därefter visas ett meddelande som "gjort" och rutin är klar.