- Súčasti sú povinné
- Prepojenie dotykového štítu TFT LCD s Arduino
- Schéma zapojenia
- Vysvetlenie kódu
- Testovanie projektu Smart Restaurant pomocou Arduina
Dnešné automatizačné systémy sú dnes všade, či už doma, v kancelárii alebo v akomkoľvek veľkom priemysle, všetky sú vybavené automatizačnými systémami. Reštaurácie / hotely tiež prijímajú najnovšie trendy v automatizácii a inštalujú roboty, ktoré dodávajú jedlo a tablety na prijímanie objednávok. Pomocou týchto digitálnych jedálnych lístkov, ako sú tablety, môžu zákazníci ľahko vyberať položky. Tieto informácie sa odošlú do kuchyne reštaurácie a tiež sa zobrazia na displeji.
V tomto projekte staviame projekt Smart Restaurant využívajúci Arduino, TFT displej a modul RF vysielač / prijímač 433MHz. Tu bude sekcia vysielača pozostávať z Arduino Uno, TFT displeja a RF vysielača, pomocou ktorého si zákazníci môžu vyberať potraviny a objednávať. Zatiaľ čo sekcia prijímača pozostáva z Arduino Uno, LCD modulu, RF prijímača a bzučiaka, ktoré budú nainštalované v reštauračnej kuchyni na sledovanie objednávaných položiek.
Súčasti sú povinné
- Arduino Uno (2)
- 433 MHz RF vysielač a prijímač
- 2,4 "TFT LCD dotykový štít
- 16 * 2 LCD modul
- Modul I 2 C.
Prepojenie dotykového štítu TFT LCD s Arduino
2,4 "TFT LCD dotykový štít je viacfarebný TFT displej kompatibilný s Arduino UNO / Mega, ktorý je dodávaný aj s dotykovou obrazovkou a zásuvkou na SD kartu. Tento modul TFT displeja má jasné podsvietenie a farebný displej s rozmermi 240 x 320 pixelov. Skladá sa tiež z jednotlivých RGB riadenie pixelov, ktoré mu dáva oveľa lepšie rozlíšenie ako čiernobiele displeje.
Prepojenie TFT displeja s Arduinom je veľmi jednoduché a je vysvetlené v predchádzajúcom návode. Musíte iba pripevniť TFT displej na dosku Arduino Uno, ako je to znázornené na obrázku nižšie.
TFT LCD je veľmi užitočný pri vytváraní prenosných aplikácií, ako sú:
- Kalkulačka dotykovej obrazovky Arduino
- Digitálny kódový zámok ovládaný inteligentným telefónom pomocou Arduina
- Arduino SMART budík
- NeoPixel LED pásik s Arduino a TFT LCD
Skontrolujte tiež všetky projekty založené na TFT LCD.
Schéma zapojenia
Projekt systému objednávania inteligentných reštaurácií pozostáva zo sekcie RF vysielač a prijímač. Strana vysielača aj prijímača používa na spracovanie dát Arduino Uno. Predtým sme s Arduinom používali rovnaké RF moduly 433 MHz na vytváranie projektov, ako je bezdrôtový zvonček, robot ovládaný gestami ruky, atď. Schéma zapojenia pre vysielač a prijímač je uvedená nižšie.
Obvod sekcie vysielača
Vysielacia časť tohto projektu sa skladá z Arduino Uno, RF vysielača a štítu TFT displeja. Táto časť sa používa na objednávanie z ponuky, ktorá sa zobrazuje na TFT displeji. Arduino Uno je mozog na strane vysielača, ktorý spracúva všetky údaje, a modul RF vysielača sa používa na prenos vybraných údajov do prijímača. Dátový kolík modulu RF vysielača je pripojený k digitálnemu kolíku 12 Arduina, zatiaľ čo kolíky V CC a GND sú pripojené k kolíku 5V a GND Arduina.
Obvod sekcie prijímača
Prijímacia časť tohto projektu sa skladá z Arduino Uno, RF prijímača, 16 * 2 LCD modulu a I2C modulu. RF prijímač sa používa na príjem dát z vysielacej sekcie a LCD modul sa používa na zobrazovanie prijatých dát. Pri vydaní novej objednávky sa na vydanie zvuku používa bzučiak. Dátový kolík RF prijímača je pripojený k digitálnemu kolíku 11 Arduina, zatiaľ čo kolík V CC a GND je pripojený k kolíku 5V a GND Arduina. Kladný kolík bzučiaka je pripojený k digitálnemu kolíku 2 Arduina a záporný kolík je pripojený k kolíku GND Arduina. Kolíky SCL a SDA modulu I2C sú pripojené k analógovým kolíkom A5 a A4 Arduino, zatiaľ čo kolíky VCC a GND sú pripojené k kolíkom 5V a GND Arduina.
Vysvetlenie kódu
Kompletný kód pre strany RF vysielača a prijímača pre tento inteligentný objednávkový systém v reštaurácii je uvedený na konci dokumentu. Všetky knižnice použité v tomto projekte je možné stiahnuť z uvedených odkazov.
- Knižnica RadioHead
- Knižnica SPFD5408
Knižnica RadioHead sa používa pre modul RF vysielač / prijímač, zatiaľ čo knižnica SPFD5408 sa používa pre TFT displej.
Kód sekcie vysielača:
Spustite kód zahrnutím všetkých požadovaných knižníc. Knižnica RH_ASK.h slúži na komunikáciu medzi modulmi vysielača a prijímača. SPFD5408_Adafruit_GFX.h je hlavná grafická knižnica pre TFT displej.
#include
Potom pre RH_ASK vytvorte objekt s názvom 'driver' .
Ovládač RH_ASK;
Potom definujte minimálne a maximálne kalibrované hodnoty osi X a Y pre váš TFT displej.
# define TS_MINX 125 # define TS_MINY 85 # define TS_MAXX 965 # define TS_MAXY 905
Teraz vo vnútri funkcie drawHome nakreslite rozloženie svojej TFT obrazovky. Tu sa na nastavenie farby pozadia používa tft.fillScreen .
Funkcia tft.drawRoundRect sa používa na vytvorenie vyplneného obdĺžnika. Syntax funkcie tft.drawRoundRect je uvedená nižšie:
tft.drawRoundRect (int16_t x0, int16_t y0, int16_t w, int16_t h, polomer int16_t, farba uint16_t)
Kde:
x0 = X súradnica počiatočného bodu obdĺžnikového tvaru
y0 = Y súradnica počiatočného bodu obdĺžnikového tvaru
w = šírka obdĺžnika
h = výška obdĺžnika
polomer = Polomer zaobleného rohu
color = Farba rektu.
Funkcia tft.fillRoundRect sa používa na nakreslenie vyplneného obdĺžnika. Syntaxfunkcie tft.fillRoundRect je uvedená nižšie:
tft.fillRoundRect (int16_t x0, int16_t y0, int16_t w, int16_t h, polomer int16_t, farba uint16_t farba) tft.fillScreen (BIELY); tft.drawRoundRect (0, 0, 319, 240, 8, BIELY); // Okraj stránky tft.fillRoundRect (30, 40, 100, 40, 8, GOLD); tft.drawRoundRect (30, 40, 100, 40, 8, BIELY); // Dish1 tft.fillRoundRect (30, 90, 100, 40, 8, GOLD); tft.drawRoundRect (30, 90, 100, 40, 8, BIELY); // Dish2 tft.fillRoundRect (30, 140, 100, 40, 8, GOLD); // Dish3 tft.drawRoundRect (30, 140, 100, 40, 8, WHITE);
Po vytvorení tlačidiel na TFT obrazovke teraz zobrazte text na tlačidlách. tft.setCursor sa používa na nastavenie kurzora od miesta, od ktorého chcete začať text.
tft.setCursor (60, 0); tft.setTextSize (3); tft.setTextColor (LIME); tft.print („Menu“); tft.setTextSize (2); tft.setTextColor (BIELA); tft.setCursor (37, 47); tft.print ("Dish1");
Vo vnútri funkcie vysielania prázdnoty odosielajte údaje na stranu prijímača každú 1 sekundu.
void transmit () {driver.send ((uint8_t *) msg, strlen (msg)); driver.waitPacketSent (); oneskorenie (1 000); }
Vo vnútri funkcie void loop prečítajte hodnotu Raw ADC pomocou funkcie ts.getPoint.
TSPoint p = ts.getPoint ();
Teraz použite funkciu mapy na prevod surových hodnôt ADC na súradnice pixelov.
px = mapa (px, TS_MAXX, TS_MINX, 0, 320); py = mapa (py, TS_MAXY, TS_MINY, 0, 240);
Po prevode hodnôt Raw ADC na súradnicu pixelov zadajte súradnice pixelov pre tlačidlo Dish1 a ak sa niekto dotkne obrazovky medzi touto oblasťou, pošlite správu na stranu prijímača.
if (px> 180 && px <280 && py> 190 && py <230 && pz> MINPRESSURE && pz <MAXPRESSURE) {Serial.println ("Dish1"); msg = "Dish1"; vysielať (); tft.fillRoundRect (30, 40, 100, 40, 8, BIELY); oneskorenie (70); tft.fillRoundRect (30, 40, 100, 40, 8, GOLD); tft.drawRoundRect (30, 40, 100, 40, 8, BIELY); tft.setCursor (37, 47); tft.println ("Dish1"); oneskorenie (70); }
Rovnakým spôsobom postupujte aj pri všetkých ostatných tlačidlách.
Kód sekcie prijímača
Pre kód sekcie RF prijímača zahrňte knižnice pre RF prijímač a LCD modul. Patrí tiež SPI.h knižnicu pre vytvorenie SPI komunikáciu medzi Arduino a RF prijímačom.
#include
Vo vnútri funkcie neplatnej slučky nepretržite kontrolujte prenášané správy. Ak modul prijímača prijme správu, zobrazte správu na module LCD a vydajte zvukový signál.
if (driver.recv (buf, & buflen)) // Neblokujúce {int i; digitalWrite (bzučiak, VYSOKÝ); oneskorenie (1 000); digitalWrite (bzučiak, LOW);. lcd.print ("T1:"); lcd.print ((char *) buf);
Testovanie projektu Smart Restaurant pomocou Arduina
Po pripojení všetkého hardvéru a nahraní kódu pre vysielač aj prijímač je teraz potrebné projekt otestovať. Pre otestovanie projektu stlačte tlačidlo na TFT displeji, malo by sa na ňom zobraziť meno paraboly s číslom tabuľky, ktoré je na LCD module pripojenom k strane prijímača T1. Pokiaľ sa na LCD displeji prijímača nič nezobrazuje, skontrolujte, či vaša TFT obrazovka funguje alebo nie.
Takto môžete zostaviť projekt Smart Restaurant Menu Ordering System pomocou Arduina a TFT displeja. Môžete tiež zmeniť orientáciu obrazovky a pridať ďalšie tlačidlá.
Pracuje videá s kompletnou kód je uvedený nižšie.