ITI #10 – Automat vendingowy

Czy zastanawiałeś się kiedyś jak działają automaty na napoje/snaksy? W jaki sposób są zaprogramowane? A może chciałbyś sam zaprogramować taki automat? W tym poradniku otrzymasz odpowiedzi na te pytania!

Automaty vendingowe

Dobrze znane nam automaty sprzedające napoje, batony, mleko, pizzę 😉 to inaczej automaty vendingowe (z ang. „vending machine”). Umożliwiają one bezobsługową sprzedaż towarów w dowolnej chwili – 7 dni w tygodniu.

 

Jak działa automat vendingowy

Maszyna vendingowa jest urządzeniem mechaniczno-elektronicznym. Przykładem takiej maszyny jest automat spiralowy, w którym wydanie produktu następuje poprzez obrót sprężyny, powodując wypchnięcie produktu do komory zrzutowej – grawitacyjnie lub poprzez zwolnienie specjalnych drzwiczek. Elementy elektroniczne pozwalają na usprawnienie obsługi dzięki wyświetlaniu pomocnych komunikatów na alfanumerycznych wyświetlaczach, rozpoznawaniu monet, banknotów oraz wydawaniu reszty.

Automaty samosprzedające składają się z półek na produkty, systemu wydawania produktów i sieci przewodów łączących elementy mechaniczne i elektroniczne z płytą sterującą, zawierającą oprogramowanie urządzenia. Całość usytuowana jest w obudowie (zazwyczaj blaszanej lub metalowej).

Bardzo istotnym elementem automatu vendingowego jest system płatności. Jest to przykładowo wrzutnik monet, czytnik banknotów, czytnik kart itp. W Polsce najczęściej stosowane są wrzutniki monet. Są to mechaniczno-elektroniczne urządzenia służące do przyjmowania płatności bilonem – rozpoznają one monety, eliminują fałszywki i umożliwiają zakup za określoną kwotę.

 

 

Zadanie

Dzisiejszym zadaniem będzie właśnie napisanie oprogramowania automatu vendingowego. Z przyczyn praktycznych nie dostaniesz do rąk prawdziwego automatu, a jedynie jego wizualizację napisaną w HTML + JS. Archiwum do ściągnięcia: automat.

Archiwum zawiera pliki html, js, css i obrazki. Ty będziesz pracował jedynie z plikiem backend.js. Ten plik odpowiada za logikę automatu i wszystko to czego “nie widać”. Jeśli chcesz lepiej zrozumieć jak działa ten automat to możesz oczywiście zaglądać do innych plików, ale wszystkie potrzebne funkcje i informacje znajdziesz właśnie w backend.js.

Jakie są zasady?

Nie jest bardzo ściśle narzucone jak automat ma działać, ale pewne wskazówki, które mogą ci pomóc przy pisaniu oprogramowania:

  1. Automat musi działać sensownie, czyli tak jak by klient od niego tego oczekiwał
  2. Wykorzystaj wszystkie dostępne przyciski/funkcje
  3. Poprawnie wydawaj resztę. Zauważ, że w zadaniu portfel jest nieograniczony, ale automat ma ograniczoną liczbę monet, którymi może wydawać resztę. Jeśli reszty nie uda się wydać, trzeba to jakoś zakomunikować i zablokować działanie automatu aż do przyjścia serwisanta 🙂
  4. Wszystkie monety i ceny obsługiwane są w groszach, żeby uniknąć typu zmiennoprzecinkowego.
  5. Nie dopuść do sytuacji, żeby produkt spadł na inny produkt, który nie został jeszcze odebrany.
  6. Cennik ustalasz sam, ale musi być on łatwy do zmiany. Możesz np. na początku pliku zadeklarować zmienne określające ceny kawy, herbaty i snickersa.

Jak zacząć?

Początek jest zawsze najtrudniejszy, więc żeby lepiej zrozumieć jak wszystko działa najlepiej najpierw zmień info wywołując Automat.zmienInfo(“tekst”) w inizcjalizuj(). Zobacz też jak działa Automat.wyrzucMonete(moneta) wywołując ją w funkcji wrzuconaMoneta(moneta) – klikając na monety w portfelu wrzucasz monety do automatu.

Powodzenia!

Form could not be loaded. Contact the site administrator.
Mateusz W

Mateusz Wrzecionko

Ukończyłem studia inżynierskie na kierunku "Automatyka i Robotyka". Interesuję się robotyką, programowaniem sterowników PLC oraz sportem - piłka nożna, snowboard, hokej :). W wolnym czasie lubię bawić się Arduino i spędzać czas z przyjaciółmi.

Like
Like Love Haha Wow Sad Angry

Dodaj komentarz