Мазмұны:
- 1-қадам: Arduino мен RFID RC-522 орнату (физикалық байланыс)
- 2 -қадам: Arduino коды
- 3 -қадам: MySQL орнату
- 4 -қадам: IDE өңдеуді орнату
- 5 -қадам: Бағдарламаны орындау
- 6 -қадам: Қорытынды
Бейне: RFID RC-522 мен Arduino Mega қолданатын қарапайым супермаркеттік бағдарлама: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Сізді тағы бір оқулықта көруге қуаныштымын, мұнда мен сізге қарапайым GUI құру үшін RFID RC-522 мен Arduino көмегімен қарапайым супермаркет қосымшасын құруға көмектесемін.
Ескерту: кодты өңдеу кезінде Arduino сериялық мониторын іске қоспаңыз, себебі порт қақтығысы пайда болады, себебі екеуі де бір портты пайдалану керек
Сізге қажет:
- Arduino Mega немесе Arduino Uno (мен Mega қолдандым)
- RFID-RC522
- 7 еркек пен әйел арасындағы секіргіш сымдар
- Кейбір жеке куәліктер (міндетті емес)
- RFID кітапханасы (міндетті түрде, төмендегі сілтеме)
- Wamp сервері
- IDE 2.2.1 өңделуде (бұдан үлкенін қолданбаңыз)
- Өңдеуге арналған BezierSQLib-0.2.0 кітапханасы (төмендегі сілтемені жүктеңіз)
Содан кейін төмендегі RFID кітапханасын жүктеп алып, оны Sketch-> Кітапхананы қосу->. Zip кітапханасын файл мәзірінен басу арқылы Arduino IDE-ге қосыңыз.
1-қадам: Arduino мен RFID RC-522 орнату (физикалық байланыс)
arduino-ны жоғарыдағы суретте көрсетілгендей RFID-RC522-ке қосыңыз. Ескерту: тек 3,3В кернеуді беріңіз, әйтпесе модуль жанып кетеді
Uno/Nano және Mega үшін бекітіңіз
RC522 MODULE Uno/Nano MEGASDA D10 D9 SCK D13 D52 MOSI D11 D51 MISO D12 D50 IRQ N/A GND GND GND RST D9 D8 3.3V 3.3V 3.3V
2 -қадам: Arduino коды
Төмендегі кодты көшіріп, оны 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
/* SDA (SS) және RST (қалпына келтіру) түйреуіштері үшін қолданылатын DIO анықтаңыз. */
#SDA_DIO 9 анықтау #RESET_DIO 8 анықтау
/ * RFID кітапханасының данасын жасаңыз */
RFID RC522 (SDA_DIO, RESET_DIO); int reader = 0;
жарамсыз орнату ()
{Serial.begin (9600); / * SPI интерфейсін қосу */ SPI.begin (); / * RFID оқу құралын іске қосу */ RC522.init (); }
бос цикл ()
{ / * Уақытша цикл есептегіші * / байт 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 үшін Wamp серверін орнатыңыз және оны деректерді сақтауға теңшеңіз (
- MySQL консолін ашатын wamp сервисін іске қосыңыз
- мәліметтер базасын таңдаңыз
- Содан кейін деректер үшін кесте құрыңыз
rfid кестесін құру (ID int (8), token int (1), Name varchar (20), Сумма int (4));
Енді RFID тегінің мәнін қалай алу керектігін білу үшін осы сілтемені қараңыз, содан кейін деректерді енгізу үшін төмендегі кодты қолданыңыз. Идентификатор мәнін RFID тегінің мәнімен ауыстыруды ұмытпаңыз.
rfid мәндерін енгізіңіз (3756178, 1, 'Pencil', 20);
таңбалауыш мәнін бірінші рет оқығаннан кейін ол автоматты түрде 2 -ге ауысатындай, токен мәнін 1 ретінде қолданыңыз, ДБ -ге енгізілмеген картаны оқу кезінде таңбалауыш мәні үшін 0 пайдаланбаңыз, ол 0 береді, содан кейін оны белгісіз карта ретінде көрсетеді..
4 -қадам: IDE өңдеуді орнату
- Processing IDE 2.2.1 жүктеу және орнату
- Жоғарыда берілген ZIP файлын MyDocuments/Processing/Libraries -ге шығарыңыз
- Енді IDE өңдеуді ашыңыз және кітапхананың жоғарыдағы суреттегідей дұрыс орнатылғанын тексеріңіз
- Содан кейін төмендегі кодты өңдеуге көшіріп, оны өзіңіз атаңыз
de.bezier.data.sql импорттау.*; импортты өңдеу.сериал.*; // java.math. BigInteger импорттау;
// fjenett жасаған 2005-05-10
// жаңартылған fjenett 20080605
MySQL қосылымы;
Жол s = «»; int Wheight = 700; int Ені = 1200; ұзын жеке куәлік; int таңбасы; int сомасы; int Барлығы = 0;
Жол a = {«NULL», «NULL»};
int end = 10; // 10 саны linefeed үшін ASCII болып табылады (serial.println соңы), кейінірек біз жеке хабарламаларды үзу үшін іздейміз String serial; // «сериялық» деп аталатын жаңа жолды жариялаңыз. Жол - бұл символдар тізбегі (деректер түрі «char» деп аталады) Сериялық порт; String Curr, prev, Name; PFont f;
жарамсыз орнату ()
{// size (Width, Wheight); мөлшері (700, 500); f = createFont («Arial», 24, true); // бұл мысал // mysql серверін жергілікті түрде («localhost») іске қосасыз деп болжайды. // // mysql-есептік жазбаңызбен --username--, --password-- ауыстырыңыз. // String user = «root»; Жолды өту = «»; // қолданылатын мәліметтер базасының атауы // String database = «IOT_Database»; // жасалатын кестенің атауы String table = «»; // «localhost» серверінің дерекқорына қосылу dbconnection = жаңа MySQL (бұл, «localhost», дерекқор, пайдаланушы, рұқсат); port = new Serial (this, Serial.list () [0], 9600); // порт пен жіберу жылдамдығын тағайындау арқылы нысанды инициализациялау (Arduino жылдамдығына сәйкес келуі керек) port.clear (); // функция, егер біз Arduino жолының ортасында оқи бастаған болсақ, бірінші оқуды шығаратын сериялық кітапханадан serial = port.readStringUntil (соңы); // жолды сериялық порттан println дейін оқитын, содан кейін жолды айнымалыға тағайындайтын («сериялық» деп аталады) serial = null; } void draw () {background (255); textFont (f, 24); толтыру (0); мәтін («Жалпы сомасы Rs:», 400, 400); мәтін (Барлығы, 585, 400); деректер (); while (port.available ()> 0) {// егер сериялық порттан деректер келетін болса, оны оқып, сақтаңыз serial = port.readStringUntil (соңы); } if (serial! = null) {prev = Curr; Curr = a [1]; a = бөліну (сериялық, ','); // мәндерді бөлек ұяшықтарға сақтайтын жаңа массив («а» деп аталады), егер сіздің (Arduino бағдарламасында үтірмен бөлінген) if ((Curr). equals (prev)) {//} else {// println («Curr «, ақша); // println («Алдыңғы», алдыңғы); функция (); }}}
void функциясы ()
{if (dbconnection.connect ()) {// енді оны қайта оқып шығыңыз // dbconnection.query («rfid ішінен» SELECT * мұнда ID = «+a [0]+» «); while (dbconnection.next ()) {ID = dbconnection.getInt («ID»); белгі = dbconnection.getInt («таңба»); Сумма = dbconnection.getInt («Сома»); } if (token == 0) {println («Ok»); textFont (f, 54); толтыру (255, 0, 0, 160); мәтін («Белгісіз элемент анықталды», 50, 300); кешіктіру (2000); } else if (токен == 1) {Барлығы = Барлығы+Сомасы; dbconnection.query («rfid жиынтық белгісін жаңарту = 2, мұнда ID =»+a [0]+«»); println («Жарайды»); textFont (f, 24); толтыру (255, 0, 0, 160); // мәтін («Элемент қосылды», 10, 30); кешіктіру (1000); } if if (token == 2) {Total = Total-Amount; dbconnection.query («rfid жиынтық белгісін жаңарту = 1, мұнда ID =»+a [0]+«»); println («Жарайды»); textFont (f, 24); толтыру (255, 0, 0, 160); // мәтін («Элемент жойылды», 10, 30); кешіктіру (1000); } басқа {} dbconnection.close (); } басқа {// байланыс сәтсіз аяқталды! }}
жарамсыз деректер ()
{int позициясы = 100; if (dbconnection.connect ()) {dbconnection.query («rfid -ден SELECT * мұнда белгісі = 2»); while (dbconnection.next ()) {Name = dbconnection.getString («Name»); Сумма = dbconnection.getInt («Сома»); textFont (f, 24); толтыру (0, 0, 255, 160); мәтін (аты -жөні, 10, орны); толтыру (0, 0, 0, 160); мәтін (Сомасы, 215, орны); позиция = позиция+30; }} dbconnection.close (); }
5 -қадам: Бағдарламаны орындау
Бағдарламаны іске қосу түймесін басу арқылы іске қосыңыз, қалқымалы терезені жаппаңыз, орындалуды тоқтатады және MySQL -те сақталған деректерді қарау үшін төмендегі сұранысты тоқтатады …
6 -қадам: Қорытынды
Менің оқулығымды оқығаныңыз үшін алғыс айтқым келеді. Егер сіз оны пайдалы деп тапсаңыз және ұнатуды (ұнатқанды) тастасаңыз немесе маған бірдеңе сұрасаңыз, мен риза болар едім, себебі бұл мені осы нұсқауларды орындауға ынталандырады. білуге болатын кез келген сұрақтарыңызды қоюдан тартынбаңыз …
Бақытты кодтау Arduino…
Ұсынылған:
Raspberry Pi мен MySQL мәліметтер базасын қолданатын саусақ ізі мен RFID негізіндегі келу жүйесі: 5 қадам
Raspberry Pi мен MySQL мәліметтер базасын қолданатын саусақ ізі мен RFID негізіндегі келу жүйесі: осы жобаның бейнесі
Бағдарлама бағдарламасының графикалық картасы мен бағдарламалық жасақтамасы қандай ?: 8 қадам
Бағдарламаның графикалық картасы қандай болады ?: Бағдарламаның соңғы нұсқасы Tecnolog í a, en el grado 11. El prop ó sito era lograr crearer, medio del del. Python бағдарламалық жасақтамасы & iacute сияқты, егер сіз бағдарламалық жасақтаманы басқа бағдарламалармен байланыстырсаңыз
Шекспир бағдарламалау тіліндегі қарапайым қосымша бағдарлама: 18 қадам
Шекспир бағдарламалау тіліндегі қарапайым қосымша бағдарламасы: Шекспир бағдарламалау тілі (SPL) - эзотерикалық программалау тілінің мысалы, оны үйрену қызықты және қолдануға қызықты, бірақ нақты өмірдегі қосымшаларда аса пайдалы емес. SPL - бұл бастапқы коды болатын тіл
Смартфонға қарапайым бағдарлама жасаңыз (кодтау қажет емес): 10 қадам
Смартфонға қарапайым бағдарлама жасаңыз (кодтаудың қажеті жоқ): ЖАҢАРТУ: Бұл әдіс ескірген, енді қосымшаны жасаудың басқа әдістері бар .. бұл енді жұмыс істемеуі мүмкін. Менің бірінші жарияланған қосымшамды Android қосымшасында жүктеуге болады. Мұнда базар. Төменде іс жүзінде кез келгені туралы қысқаша нұсқаулық берілген
WiFi мен IR қашықтан басқару пульті мен Android қосымшасын қолданатын NodeMCU мен IR қабылдағышымен 8 релелік басқару: 5 қадам (суреттермен)
WiFi мен IR қашықтан басқару пульті мен Android қосымшасын пайдаланатын NodeMCU мен IR қабылдағышымен 8 релелік басқару: wifi мен қашықтан және андроид қосымшасы арқылы nodemcu мен IR қабылдағышты қолданатын 8 релелік қосқышты басқару. Қашықтан басқару құралы wifi қосылымына тәуелсіз жұмыс істейді. МҰНДА