Obsah:
- Krok 1: Nastavení Arduina a RFID RC-522 (fyzické připojení)
- Krok 2: Arduino kód.,
- Krok 3: Nastavení MySQL
- Krok 4: Nastavení zpracování IDE
- Krok 5: Spuštění programu
- Krok 6: Závěr
Video: Jednoduchá aplikace pro supermarket využívající RFID RC-522 a Arduino Mega: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
Rád vás znovu uvidím, kluci, v mém dalším tutoriálu, zde vám pomůžu vytvořit jednoduchou aplikaci pro supermarkety pomocí RFID RC-522 a Arduino se zpracováním pro vytvoření jednoduchého GUI.
Poznámka: Nespouštějte sériový monitor Arduino během zpracování kódu, protože dojde ke konfliktu portů, protože oba musí používat stejný port
Potřebuješ:
- Arduino Mega nebo Arduino Uno (použil jsem Mega)
- RFID-RC522
- 7 propojovacích kabelů mezi mužem a ženou
- Některé průkazy totožnosti (volitelně)
- Knihovna RFID (nutné, odkaz níže)
- Wamp server
- Zpracování IDE 2.2.1 (nepoužívejte větší než to)
- Knihovna BezierSQLib-0.2.0 ke zpracování (odkaz ke stažení níže)
Poté si stáhněte níže uvedenou knihovnu RFID a přidejte ji do svého Arduino IDE kliknutím na Sketch-> Include Library-> Add. Zip Library in file menu
Krok 1: Nastavení Arduina a RFID RC-522 (fyzické připojení)
jednoduše připojte arduino k RFID-RC522, jak je znázorněno na výše uvedeném obrázku. Varování: napájení pouze 3,3 V, jinak se modul spálí
Pin Out pro Uno/Nano a Mega
MODUL RC522 Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A N/A GND GND GND RST D9 D8 3,3 V 3,3 V 3,3 V
Krok 2: Arduino kód.,
Zkopírujte níže uvedený kód a poté jej nahrajte do svého Arduina
/*PINOUT: RC522 MODULE Uno/Nano MEGA SDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/AN/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V*//*Zahrnuje standardní Arduino knihovnu SPI */ #include/ *Zahrnout knihovnu RFID */ #include
/* Definujte DIO používané pro piny SDA (SS) a RST (reset). */
#define SDA_DIO 9 #define RESET_DIO 8
/ * Vytvořte instanci knihovny RFID */
RFID RC522 (SDA_DIO, RESET_DIO); int reader = 0;
neplatné nastavení ()
{Serial.begin (9600); / * Povolit rozhraní SPI */ SPI.begin (); / * Inicializujte čtečku RFID */ RC522.init (); }
prázdná smyčka ()
{ / * Dočasný čítač smyčky * / byte i;
/* Byla detekována karta? */
if (RC522.isCard ()) { / * Pokud ano, získejte jeho sériové číslo * / RC522.readCardSerial ();
/ * Výstup sériového čísla do UART */ pro (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (čtečka ++); Serial.println (); } zpoždění (1000); }
Krok 3: Nastavení MySQL
- Nainstalujte server Wamp pro MySQL a nakonfigurujte jej pro ukládání dat (
- Spusťte konzolu MySQL wamp serveropen
- vyberte databázi
- Poté vytvořte tabulku pro svá data
vytvořit tabulku rfid (ID int (8), token int (1), název varchar (20), částka int (4));
Nyní se podívejte na tento odkaz, kde se dozvíte, jak získat hodnotu značky RFID, a poté pomocí níže uvedeného kódu vložte data. Nezapomeňte nahradit hodnotu ID hodnotou značky RFID
vložte do hodnot rfid (3756178, 1, 'Pencil', 20);
použijte hodnotu tokenu jako 1, takže po prvním načtení hodnoty tagu se automaticky změní na 2, nepoužívejte 0 pro hodnotu tokenu při čtení karty, která není vložena do DB, přiřadí 0 a poté ji zobrazí jako neznámou kartu..
Krok 4: Nastavení zpracování IDE
- Stáhněte a nainstalujte Processing IDE 2.2.1
- Extrahujte výše uvedené ZIP do MyDocuments/Processing/Libraries
- Nyní otevřete zpracování IDE a zkontrolujte, zda je knihovna nainstalována správně nebo ne, jako na výše uvedeném obrázku
- Potom zkopírujte níže uvedený kód ke zpracování a pojmenujte ho podle svého
import de.bezier.data.sql.*; import processing.serial.*; // import java.math. BigInteger;
// vytvořil 2005-05-10 od fjenett
// aktualizováno fjenett 20080605
MySQL dbconnection;
Řetězec s = ""; int Wheight = 700; int Šířka = 1200; dlouhé ID; int token; int Částka; int Celkem = 0;
Řetězec a = {"NULL", "NULL"};
int konec = 10; // číslo 10 je ASCII pro linefeed (konec serial.println), později to budeme hledat, abychom rozdělili jednotlivé zprávy String serial; // deklarujte nový řetězec s názvem 'serial'. Řetězec je posloupnost znaků (datový typ známý jako „char“) Sériový port; Řetězcový proud, předchozí, Název; PFont f;
neplatné nastavení ()
{// size (Wwidth, Wheight); velikost (700, 500); f = createFont ("Arial", 24, true); // tento příklad předpokládá, že // mysql server provozujete lokálně (na "localhost"). // // nahraďte --username--, --password-- svým účtem mysql. // Uživatel řetězce = "root"; String pass = ""; // název databáze, která se má použít // Řetězec databáze = "IOT_Database"; // název tabulky, která bude vytvořena Řetězec table = ""; // připojení k databázi serveru "localhost" dbconnection = nové MySQL (toto, "localhost", databáze, uživatel, heslo); port = new Serial (this, Serial.list () [0], 9600); // inicializace objektu přiřazením portu a přenosové rychlosti (musí odpovídat rychlosti Arduina) port.clear (); // funkce ze sériové knihovny, která vyhodí první čtení, v případě, že jsme začali číst uprostřed řetězce z Arduino serial = port.readStringUntil (end); // funkce, která čte řetězec ze sériového portu do println a poté přiřadí řetězec naší řetězcové proměnné (nazývané 'sériové') serial = null; } void draw () {pozadí (255); textFont (f, 24); vyplnit (0); text („Celková částka Rs:“, 400, 400); text (Celkem, 585, 400); data(); while (port.available ()> 0) {// pokud jsou data přicházející ze sériového portu, přečtěte si je a uložte serial = port.readStringUntil (end); } if (serial! = null) {předchozí = proud; proud = a [1]; a = rozdělení (sériové, ','); // nové pole (nazývané 'a'), které ukládá hodnoty do samostatných buněk (oddělených čárkami specifikovanými v programu Arduino), pokud ((proud). rovná se (předchozí)) {//} else {// println ("proud ", proud); // println ("Předchozí", předchozí); funkce(); }}}
prázdná funkce ()
{if (dbconnection.connect ()) {// nyní si to přečtěte zpět // dbconnection.query ("SELECT * from rfid where ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Částka = dbconnection.getInt ("Částka"); } if (token == 0) {println ("Ok"); textFont (f, 54); vyplnit (255, 0, 0, 160); text ("Zjištěna neznámá položka", 50, 300); zpoždění (2000); } else if (token == 1) {Celkem = Celkem+Částka; dbconnection.query ("update rfid set token = 2 where ID ="+a [0]+""); println ("Ok"); textFont (f, 24); vyplnit (255, 0, 0, 160); // text ("Položka přidána", 10, 30); zpoždění (1000); } else if (token == 2) {Total = Total-Amount; dbconnection.query ("update rfid set token = 1 where ID ="+a [0]+""); println ("Ok"); textFont (f, 24); vyplnit (255, 0, 0, 160); // text ("Položka odstraněna", 10, 30); zpoždění (1000); } else {} dbconnection.close (); } else {// připojení se nezdařilo! }}
neplatná data ()
{int pozice = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Název = dbconnection.getString ("Název"); Částka = dbconnection.getInt ("Částka"); textFont (f, 24); vyplnit (0, 0, 255, 160); text (jméno, 10, pozice); vyplnit (0, 0, 0, 160); text (Částka, 215, pozice); pozice = pozice+30; }} dbconnection.close (); }
Krok 5: Spuštění programu
Spusťte program kliknutím na tlačítko Spustit nezavírejte vyskakovací okno zavřením se zastaví provádění a pod dotazem se zobrazí uložená data v MySQL…
Krok 6: Závěr
Chtěl bych vám poděkovat za přečtení mého tutoriálu. Ocenil bych, kdybyste to považovali za užitečné a zanechali lajk (oblíbený) nebo se mě na cokoli zeptali, protože mě to motivovalo k provádění těchto pokynů. neváhejte se zeptat na jakékoli otázky, které potřebujete vědět…
Happy Coding Arduino…
Doporučuje:
APLIKACE ANDROID ŘÍZENÁ JEDNODUCHÁ RGB LED DESKTOPOVÁ LAMPA: 5 kroků
ANDROID APLIKACE ŘÍZENÁ JEDNODUCHÁ RGB LED DESKTOP LAMP: v tomto tutoriálu vám tedy ukážu, jak ovládat RGB LED pomocí smartphonu Android. LED diody RGB pracují na základním konceptu kombinace základních barev jakéhokoli odstínu, tj. Červené, zelené a modré. Všechny barvy mají tyto základní barevné kompozice
Jednoduchá domácí automatizace (vlastní aplikace Bluetooth): 6 kroků
Jednoduchá domácí automatizace (vlastní aplikace Bluetooth): v tomto tutoriálu vám ukážu, jak vytvořit jednoduchou domácí automatizaci (to znamená, že můžeme ovládat naše domácí aplikace pomocí smartphonu)
Import souborů aplikace Inventor do aplikace CorelDraw: 6 kroků
Import souborů aplikace Inventor do aplikace CorelDraw: Tento návod je částí 2 série, která začala kreslením hřebenů v aplikaci Autodesk Inventor, což je přátelský projektově orientovaný úvod do 2D práce v aplikaci Autodesk. Předpokládáme, že jste již dokončili a uložili si skicu (ať už z hřebenů na řezu nebo
Jednoduchá aplikace IOS pro moduly BLE: 4 kroky
Jednoduchá aplikace IOS pro moduly BLE: Tento Instructable popisuje, jak můžete vytvořit aplikaci pro iOS se zcela základními funkcemi. Tento Instructable neprojde celým procesem vytváření aplikace iOS BLE. Poskytne pouze vysoký přehled o některých důležitých prvcích s
Webová aplikace SmartMirror využívající sériovou komunikaci: 6 kroků
Webová SmartMirror využívající sériovou komunikaci: Tento návod je dodáván se všemi kódy připravenými k použití. Vývoj byl velmi komplikovaný, ale jakmile je nastaven, je opravdu snadné jej přizpůsobit. Podívejte se a užívejte si;)