Съдържание:

Просто приложение за супермаркет, използващо RFID RC-522 и Arduino Mega: 6 стъпки
Просто приложение за супермаркет, използващо RFID RC-522 и Arduino Mega: 6 стъпки

Видео: Просто приложение за супермаркет, използващо RFID RC-522 и Arduino Mega: 6 стъпки

Видео: Просто приложение за супермаркет, използващо RFID RC-522 и Arduino Mega: 6 стъпки
Видео: 😱 Как сделать ANDROID приложение за 10 минут! Сможет каждый :3 2024, Ноември
Anonim
Просто приложение за супермаркет, използващо RFID RC-522 и Arduino Mega
Просто приложение за супермаркет, използващо RFID RC-522 и Arduino Mega

Радвам се да ви видя отново тук в моя друг урок, тук ще ви помогна да създадете просто приложение за супермаркет, използвайки RFID RC-522 и Arduino с Processing, за да създадете прост графичен интерфейс.

Забележка: не стартирайте сериен монитор Arduino, докато изпълнявате код за обработка, защото ще възникне конфликт на портове, тъй като и двамата трябва да използват един и същ порт

Нуждаете се от:

  1. Arduino Mega или Arduino Uno (използвах Mega)
  2. RFID-RC522
  3. 7 джъмперни проводници от мъжки към женски
  4. Някои лични карти (по избор)
  5. RFID библиотека (задължително, връзка по -долу)
  6. Wamp сървър
  7. Обработка на IDE 2.2.1 (не използвайте по -голяма от тази)
  8. Библиотека BezierSQLib-0.2.0 за обработка (връзка за изтегляне по-долу)

След това изтеглете RFID библиотеката по-долу и я добавете към вашата Arduino IDE, като щракнете върху Sketch-> Include Library-> Add. Zip Library в менюто с файлове

Стъпка 1: Настройка на Arduino и RFID RC-522 (физическа връзка)

Настройка на Arduino и RFID RC-522 (физическа връзка)
Настройка на Arduino и RFID RC-522 (физическа връзка)

просто свържете arduino с RFID-RC522, както е показано на горното изображение. Предупреждение: захранвайте само 3.3V в противен случай модулът ще изгори

Pin Out за Uno/Nano и Mega

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.3V 3.3V 3.3V

Стъпка 2: Arduino Code.,

Копирайте кода по -долу и го качете на вашия Arduino

/*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*//*Включва стандартната Arduino SPI библиотека */ #include/ *Включете RFID библиотеката */ #include

/* Определете DIO, използван за щифтовете SDA (SS) и RST (нулиране). */

#дефинирайте SDA_DIO 9 #дефинирайте RESET_DIO 8

/ * Създайте екземпляр на RFID библиотеката */

RFID RC522 (SDA_DIO, RESET_DIO); int четец = 0;

void setup ()

{Serial.begin (9600); / * Активирайте SPI интерфейса */ SPI.begin (); / * Инициализирайте RFID четеца */ RC522.init (); }

void loop ()

{ / * Временен брояч на цикъл * / байт i;

/* Открита ли е карта? */

if (RC522.isCard ()) { / * Ако е така, тогава вземете серийния му номер * / RC522.readCardSerial ();

/ * Изведете серийния номер към UART */ for (i = 0; i <= 2; i ++) {Serial.print (RC522.serNum , DEC); //Serial.print(RC522.serNum, HEX); } Serial.print (","); Serial.print (четец ++); Serial.println (); } забавяне (1000); }

Стъпка 3: Настройване на MySQL

Настройване на MySQL
Настройване на MySQL
  1. Инсталирайте Wamp сървър за MySQL и го конфигурирайте да съхранява данни (
  2. Стартирайте wamp serveropen MySQL конзола
  3. изберете база данни
  4. След това създайте таблицата за вашите данни

създаване на таблица rfid (ID int (8), token int (1), Name varchar (20), Amount int (4));

Сега прегледайте тази връзка, за да научите как да получите стойността на RFID етикета си, след което използвайте кода по -долу, за да вмъкнете данни. Не забравяйте да замените стойността на ID с вашата стойност на RFID етикет

вмъкнете в rfid стойности (3756178, 1, 'молив', 20);

използвайте стойността на символа като 1, така че след като прочетете стойността на маркера за първи път, тя автоматично ще се промени на 2, не използвайте 0 за стойност на символа, когато четете карта, която не е поставена в DB, тя ще присвои 0, след което ще я покаже като неизвестна карта..

Стъпка 4: Настройване на IDE за обработка

Настройване на IDE за обработка
Настройване на IDE за обработка
  1. Изтеглете и инсталирайте IDE за обработка 2.2.1
  2. Извлечете горепосочения ZIP в MyDocuments/Processing/Libraries
  3. Сега отворете IDE за обработка и проверете дали библиотеката е инсталирана правилно или не, както е в горното изображение
  4. След това копирайте кода по -долу за обработка и го наименувайте

import de.bezier.data.sql.*; импортиране на обработка.serial.*; // импортиране на java.math. BigInteger;

// създаден 2005-05-10 от fjenett

// актуализиран fjenett 20080605

MySQL dbconnection;

Низ s = ""; int тегло = 700; int Ширина = 1200; дълга лична карта; int жетон; int Сума; int Общо = 0;

Низ a = {"NULL", "NULL"};

int end = 10; // числото 10 е ASCII за linefeed (край на serial.println), по -късно ще търсим това за разбиване на отделни съобщения String serial; // декларира нов низ, наречен 'serial'. Низът е последователност от знаци (тип данни, известен като "char") Сериен порт; String curr, prev, Name; PFont f;

void setup ()

{// размер (Wwidth, Wheight); размер (700, 500); f = createFont ("Arial", 24, вярно); // този пример предполага, че използвате // mysql сървъра локално (на "localhost"). // // заменете --username--, --password-- с вашия mysql-акаунт. // String user = "root"; String pass = ""; // име на базата данни за използване // String database = "IOT_Database"; // име на таблицата, която ще бъде създадена String table = ""; // свързване към база данни на сървъра "localhost" dbconnection = нов MySQL (това, "localhost", база данни, потребител, пропуск); порт = нов сериен (това, Serial.list () [0], 9600); // инициализиране на обекта чрез задаване на порт и скорост на предаване (трябва да съвпада с тази на Arduino) port.clear (); // функция от серийна библиотека, която изхвърля първото четене, в случай, че сме започнали да четем в средата на низ от Arduino serial = port.readStringUntil (end); // функция, която чете низ от сериен порт до println и след това присвоява низ на нашата низова променлива (наречена "сериен") serial = null; } void draw () {background (255); textFont (f, 24); попълнете (0); текст ("Обща сума Rs:", 400, 400); текст (общо, 585, 400); данни(); while (port.available ()> 0) {// стига да има данни, идващи от сериен порт, да ги прочетете и съхраните serial = port.readStringUntil (end); } if (serial! = null) {prev = curr; curr = a [1]; a = разделен (сериен, ','); // нов масив (наричан „а“), който съхранява стойности в отделни клетки (разделени със запетаи, посочени във вашата програма Arduino) if ((curr).equals (prev)) {//} else {// println ("curr ", curr); // println ("Предишна", предишна); функция (); }}}

функция void ()

{if (dbconnection.connect ()) {// сега го прочетете отново // dbconnection.query ("SELECT * from rfid where ID ="+a [0]+""); while (dbconnection.next ()) {ID = dbconnection.getInt ("ID"); token = dbconnection.getInt ("token"); Сума = dbconnection.getInt ("Сума"); } if (token == 0) {println ("Ok"); textFont (f, 54); попълнете (255, 0, 0, 160); текст ("Открит неизвестен елемент", 50, 300); забавяне (2000); } else if (token == 1) {Total = Total+Amount; dbconnection.query ("актуализира rfid set token = 2 където ID ="+a [0]+""); println ("Добре"); textFont (f, 24); попълнете (255, 0, 0, 160); // текст ("Добавен елемент", 10, 30); забавяне (1000); } else if (token == 2) {Total = Total-Amount; dbconnection.query ("актуализира rfid set token = 1 където ID ="+a [0]+""); println ("Добре"); textFont (f, 24); попълнете (255, 0, 0, 160); // текст ("Елементът е премахнат", 10, 30); забавяне (1000); } else {} dbconnection.close (); } else {// връзката е неуспешна! }}

невалидни данни ()

{int position = 100; if (dbconnection.connect ()) {dbconnection.query ("SELECT * from rfid where token = 2"); while (dbconnection.next ()) {Name = dbconnection.getString ("Име"); Сума = dbconnection.getInt ("Сума"); textFont (f, 24); попълнете (0, 0, 255, 160); текст (Име, 10, позиция); попълнете (0, 0, 0, 160); текст (Сума, 215, позиция); позиция = позиция+30; }} dbconnection.close (); }

Стъпка 5: Изпълнение на програмата

Изпълнение на програмата
Изпълнение на програмата
Изпълнение на програмата
Изпълнение на програмата
Изпълнение на програмата
Изпълнение на програмата
Изпълнение на програмата
Изпълнение на програмата

Стартирайте програмата, като щракнете върху бутона за изпълнение, не затваряйте изскачащия прозорец, затварянето ще спре изпълнението и под заявката за преглед на съхранените данни в MySQL …

Стъпка 6: Заключение

Бих искал да ви благодаря, че прочетохте моя урок. Ще съм благодарен, ако ви се стори полезно и пуснете лайк (любим) или ме попитайте нещо, тъй като ме държи мотивиран да изпълнявам тези инструкции. не се колебайте да задавате въпроси, които трябва да знаете …

Честито кодиране на Arduino…

Препоръчано: