Arduino inteligentní podtácek

Členové týmu:

  • Radka Fléglová, Studia nových médií
  • Kateřina Nejedlá, Studia nových médií
  • Tereza Srbová, Studia nových médií
  • Pavlína Plecitá, Studia Nových médií


Motivace vzniku projektu a jeho význam Naším cílem v rámci kurzu Open Hardware bylo seznámení se základními komponenty Arduina a naučit se ho používat. Proto jsme se při vymýšlení vlasního projektu inspirovali zaměřili na jednoduché předměty, které řeší nějaký z našich malých životních problémů. Právě proto jsme přišli s projektem inteligentního pivního podtácku, který zaznamená počet piv, které jsme během večera vypili. To by nám mělo významně ulehčit návštěvu hospody, obzvlášť v Čechách.

Použitý hardware a software

  • Arduino Uno
  • Arduino Breadboard
  • Load Cell
  • HX711 Load Cell Amplifier
  • LCD display 0,96" OLED SSCD 1306
  • knihovny viz github dokument v kapitole "Vlastní kód"

Wiring

Arduino Breadboard
GND -
5V +
Loadcell Arduino Breadboard
GND - N/A
VCC + N/A
DT N/A A0
SCK N/A A1
Loadcell Arduino Breadboard
GND - N/A
VDD + N/A
SCK N/A A5
SDA N/A A4

Popis vývoje a konečná verze vlastního produktu Celý projekt jsme si rozdělili do několika menších kroků.

  1. 1) Propojit váhový modul s Arduinem
  2. 2) Nastavit podmínky pro čárku za každé nové pivo (software)
  3. 3) Napojit display
  4. 4) Zobrazit na displayi počet vypitých piv


Naším prvním úkolem bylo propojit váhový modul s Arduinem tak, abychom byli schopní z váhy odčítat hodnoty. Proto jsme si stáhli knihovnu (viz odkaz níž), která nám tuto komunikaci zjednoduší. Tu jsme nahráli do Arduina a spustili jsme jí.

  • serial 9600
  • místo scale.power_down… -- delay(1000)

https://github.com/bogde/HX711 - odkaz na knihovnu https://circuitdigest.com/microcontroller-projects/arduino-weight-measurement-using-load-cell

Nyní nám Arduino vypíše na obrazovce jednotlivé hodnoty, pokud váhu zatížíme

V dalším kroku musíme přidat funkci, která nám umožní počítat piva. Rozhodli jsme se o novém pivu uvažovat jako o hodnotě o něco větší než je hodnota předcházející. Jinými slovy: pokaždé, kdy položíme nové plné pivo na tácek, zapíše se čárka. V kódu bylo také nutné vyřešit problém s prodlevou ve chvíli, kdy se člověk piva napije. V tu chvíli totiž váha zaznamenává nulu jako oldvalue. Tento problém jsme vyřešili podmínkou, která přeskakuje https://www.arduino.cc/en/Tutorial/SerialEvent

Vlastní kód https://gist.github.com/pavlinaplecita/3c6d25f5b3b73d194197a8cd5db60f45