Съдържание:
- Стъпка 1: Настройка на Arduino и RFID RC-522 (физическа връзка)
- Стъпка 2: Arduino Code.,
- Стъпка 3: Настройване на MySQL
- Стъпка 4: Настройване на IDE за обработка
- Стъпка 5: Изпълнение на програмата
- Стъпка 6: Заключение
Видео: Просто приложение за супермаркет, използващо RFID RC-522 и Arduino Mega: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Радвам се да ви видя отново тук в моя друг урок, тук ще ви помогна да създадете просто приложение за супермаркет, използвайки RFID RC-522 и Arduino с Processing, за да създадете прост графичен интерфейс.
Забележка: не стартирайте сериен монитор Arduino, докато изпълнявате код за обработка, защото ще възникне конфликт на портове, тъй като и двамата трябва да използват един и същ порт
Нуждаете се от:
- Arduino Mega или Arduino Uno (използвах Mega)
- RFID-RC522
- 7 джъмперни проводници от мъжки към женски
- Някои лични карти (по избор)
- RFID библиотека (задължително, връзка по -долу)
- Wamp сървър
- Обработка на IDE 2.2.1 (не използвайте по -голяма от тази)
- Библиотека BezierSQLib-0.2.0 за обработка (връзка за изтегляне по-долу)
След това изтеглете RFID библиотеката по-долу и я добавете към вашата Arduino IDE, като щракнете върху Sketch-> Include Library-> Add. Zip Library в менюто с файлове
Стъпка 1: Настройка на 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
- Инсталирайте Wamp сървър за MySQL и го конфигурирайте да съхранява данни (
- Стартирайте wamp serveropen MySQL конзола
- изберете база данни
- След това създайте таблицата за вашите данни
създаване на таблица 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 за обработка 2.2.1
- Извлечете горепосочения ZIP в MyDocuments/Processing/Libraries
- Сега отворете IDE за обработка и проверете дали библиотеката е инсталирана правилно или не, както е в горното изображение
- След това копирайте кода по -долу за обработка и го наименувайте
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…
Препоръчано:
Просто захранване с пейка, използващо старо зарядно устройство за лаптоп: 5 стъпки
Просто захранване с пейка, използващо старо зарядно устройство за лаптоп: Това е моето захранване за пейка, това е много проста конструкция само с 4 проводника за добавяне / свързване. Основното захранване идва от старо зарядно устройство за лаптоп, което може да достави максимум 19v и 3.4A. Заслужава да се спомене, че зарядното устройство за лаптоп е двужична версия от
Направете просто приложение за вашия смартфон (не е необходимо кодиране): 10 стъпки
Направете просто приложение за вашия смартфон (не е необходимо кодиране): АКТУАЛИЗАЦИЯ: Тази техника е остаряла, сега има различни други начини за създаване на приложение .. това може да не работи повече. Първото ми публикувано приложение е достъпно за изтегляне от приложението Android Пазар тук. По -долу е кратък урок за това как практически всеки
Просто приложение за IOS за модули BLE: 4 стъпки
Просто приложение за IOS за модули BLE: Тази инструкция разказва как можете да създадете приложение за iOS с много основни функции. Този Instructable няма да премине през целия процес на създаване на iOS BLE приложение. Той ще даде само преглед на високо ниво на някои важни елементи с
Система за управление на мотор за повдигане на приложение с помощта на Arduino Mega 2560 и IoT: 8 стъпки (със снимки)
Система за управление на двигатели за повдигане на приложения, използващи Arduino Mega 2560 и IoT: Днес микроконтролерът, базиран на IoT, се използва широко в индустриалното приложение. Икономически те се използват вместо компютър. Целта на проекта ни е изцяло дигитализиран контрол, регистратор на данни и мониторинг на 3 -фазния асинхронен двигател с
Как да създадете просто приложение за телефонен указател C#: 7 стъпки
Как да създам просто приложение за телефонен указател C#: Здравейте, аз съм Лука, това е първият ми Instructable. Искам да ви покажа как да създадете просто приложение за телефонен указател в Microsoft Visual Studio, използвайки C#. Добре е да имате някои основни познания по програмиране, преди да направите този проект. Да започваме. Ние