精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣使用RFID RC-522和Arduino創建一個簡單的超市應用程序

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-25 15:59 ? 次閱讀

步驟1:設置ArduinoRFID RC-522(物理連接)

怎樣使用RFID RC-522和Arduino創建一個簡單的超市應用程序

只需將arduino與RFID連接-RC522,如上圖所示。

警告:僅提供3.3V電壓,否則模塊將燒壞

為Uno/Nano和Mega插腳 strong》

RC522 MODULE Uno/Nano MEGA

SDA 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代碼。

復制以下代碼,然后將其上傳到您的Arduino

/*

PINOUT:

RC522 MODULE Uno/Nano MEGA

SDA 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

*/

/* Include the standard Arduino SPI library */

#include

/* Include the RFID library */

#include

/* Define the DIO used for the SDA (SS) and RST (reset) pins. */

#define SDA_DIO 9

#define RESET_DIO 8

/* Create an instance of the RFID library */

RFID RC522(SDA_DIO, RESET_DIO);

int reader=0;

void setup()

{

Serial.begin(9600);

/* Enable the SPI interface */

SPI.begin();

/* Initialise the RFID reader */

RC522.init();

}

void loop()

{

/* Temporary loop counter */

byte i;

/* Has a card been detected? */

if (RC522.isCard())

{

/* If so then get its serial number */

RC522.readCardSerial();

/* Output the serial number to the UART */

for(i = 0; i 《= 2; i++)

{

Serial.print(RC522.serNum[i],DEC);

//Serial.print(RC522.serNum[i],HEX);

}

Serial.print(“,”);

Serial.print(reader++);

Serial.println();

}

delay(1000);

}

步驟3:設置MySQL

為MySQL安裝Wamp服務器并將其配置為存儲數據(

運行wamp服務器打開MySQL控制臺

選擇數據庫

然后為您的數據創建表

create table rfid(ID int(8),token int(1),Name varchar(20),Amount int(4));

現在查看此鏈接以了解如何獲取您的RFID標簽值,然后使用以下代碼插入數據。不要忘記將ID值替換為您的RFID標簽值

insert into rfid values(3756178,1,‘Pencil’,20);

使用令牌值作為 1 ,以便在首次讀取標簽值后,它將自動更改為 2 讀取未插入數據庫的卡時,不要使用 0 作為令牌值,它將分配0,然后將其顯示為“未知卡”。

步驟4:設置處理IDE

下載并安裝處理IDE 2.2.1

將上述給定的ZIP提取到MyDocuments/Processing/Libraries

現在打開處理的IDE,并檢查庫是否正確安裝(如上圖所示)

然后復制以下代碼進行處理并自行命名

import de.bezier.data.sql.*;

import processing.serial.*;

//import java.math.BigInteger;

// created 2005-05-10 by fjenett

// updated fjenett 20080605

MySQL dbconnection;

String s=“ ”;

int Wheight=700;

int Wwidth=1200;

long ID;

int token;

int Amount;

int Total=0;

String[] a={“NULL”,“NULL”};

int end = 10; // the number 10 is ASCII for linefeed (end of serial.println), later we will look for this to break up individual messages

String serial; // declare a new string called ‘serial’ 。 A string is a sequence of characters (data type know as “char”)

Serial port;

String curr,prev,Name;

PFont f;

void setup()

{

//size( Wwidth,Wheight );

size(700,500);

f=createFont(“Arial”,24,true);

// this example assumes that you are running the

// mysql server locally (on “localhost”)。

//

// replace --username--, --password-- with your mysql-account.

//

String user = “root”;

String pass = “”;

// name of the database to use

//

String database = “IOT_Database”;

// name of the table that will be created

String table = “”;

// connect to database of server “localhost”

dbconnection = new MySQL( this, “localhost”, database, user, pass );

port = new Serial(this, Serial.list()[0], 9600); // initializing the object by assigning a port and baud rate (must match that of Arduino)

port.clear(); // function from serial library that throws out the first reading, in case we started reading in the middle of a string from Arduino

serial = port.readStringUntil(end); // function that reads the string from serial port until a println and then assigns string to our string variable (called ‘serial’)

serial = null;

}

void draw()

{

background(255);

textFont(f,24);

fill(0);

text(“Total Amount Rs:”,400,400);

text(Total,585,400);

data();

while (port.available() 》 0)

{

//as long as there is data coming from serial port, read it and store it

serial = port.readStringUntil(end);

}

if (serial != null)

{

prev=curr;

curr=a[1];

a = split(serial, ‘,’); //a new array (called ‘a’) that stores values into separate cells (separated by commas specified in your Arduino program

if((curr).equals(prev))

{

//

}

else

{

//println(“curr”,curr);

//println(“Prev”,prev);

function();

}

}

}

void function()

{

if ( dbconnection.connect() )

{

// now read it back out

//

dbconnection.query( “SELECT * from rfid where ID=”+a[0]+“” );

while (dbconnection.next())

{

ID = dbconnection.getInt(“ID”);

token = dbconnection.getInt(“token”);

Amount = dbconnection.getInt(“Amount”);

}

if(token==0)

{

println(“Ok”);

textFont(f,54);

fill(255,0,0,160);

text(“Unknown Item Detected”,50,300);

delay(2000);

}

else if(token==1)

{

Total=Total+Amount;

dbconnection.query(“update rfid set token=2 where ID=”+a[0]+“” );

println(“Ok”);

textFont(f,24);

fill(255,0,0,160);

//text(“Item Added”,10,30);

delay(1000);

}

else if(token==2)

{

Total=Total-Amount;

dbconnection.query(“update rfid set token=1 where ID=”+a[0]+“” );

println(“Ok”);

textFont(f,24);

fill(255,0,0,160);

//text(“Item Removed”,10,30);

delay(1000);

}

else

{

}

dbconnection.close();

}

else

{

// connection failed !

}

}

void data()

{

int position=100;

if ( dbconnection.connect() )

{

dbconnection.query( “SELECT * from rfid where token=2”);

while (dbconnection.next())

{

Name = dbconnection.getString(“Name”);

Amount = dbconnection.getInt(“Amount”);

textFont(f,24);

fill(0,0,255,160);

text(Name,10,position);

fill(0,0,0,160);

text(Amount,215,position);

position=position+30;

}

}

dbconnection.close();

}

第5步:執行程序

通過單擊運行按鈕運行程序,請關閉彈出窗口,關閉窗口將停止執行,并在以下查詢中查看在MySQL中存儲的數據。..

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RFID
    +關注

    關注

    387

    文章

    6111

    瀏覽量

    237439
  • 應用程序
    +關注

    關注

    37

    文章

    3245

    瀏覽量

    57615
  • Arduino
    +關注

    關注

    187

    文章

    6464

    瀏覽量

    186684
收藏 人收藏

    評論

    相關推薦

    使用OpenVINO? ElectronJS中創建桌面應用程序

    的用戶體驗。 1 應用程序概覽:簡單的背景虛化方法 這個演示展示了如何在 Node.js 環境中使用 OpenVINO 工具包實現背景虛化,并通過 Electron.js 創建的直
    的頭像 發表于 11-25 11:35 ?102次閱讀
    使用OpenVINO? ElectronJS中<b class='flag-5'>創建</b>桌面<b class='flag-5'>應用程序</b>

    RC522 RFID實驗的小系統板接線說明

    6.RC522 RFID實驗的小系統板接線說
    發表于 11-22 16:36 ?0次下載

    Air780EP之RC522開發板,你了解嗎?

    ; LuatOS-Soc固件獲取 https://gitee.com/openLuat/LuatOS/releases 、環境準備 1.1 Air780EP開發板套 1.2 rc522實物
    的頭像 發表于 11-03 08:21 ?178次閱讀
    Air780EP之<b class='flag-5'>RC522</b>開發板,你了解嗎?

    低功耗4G模組:Air780EP開發板RC522實例

    開發板套 1.2 rc522實物 ? 二、程序詳解 2.1 API說明 2.1.1 設置并啟用SPI spi.setup(id, cs
    的頭像 發表于 10-21 17:01 ?210次閱讀
    低功耗4G模組:Air780EP開發板<b class='flag-5'>RC522</b>實例

    SI522A 與 恩智浦 RC522 刷卡對比

    去年偶然拿到顆SI522的低功耗IC,再自動尋卡LPCD上取得了不凡的成績,LPCD低功耗自動尋卡功能只有4.5uA.SI522A針對SI522上的ACD低功耗自動尋卡功能做了全新的
    發表于 09-30 14:19

    TJDZ-RC522 RFID讀卡模塊用戶操作手冊

    RC522讀卡模塊使用說明
    發表于 06-19 14:32 ?1次下載

    stm8l151C6 RC522物理SPI沒有SCK時鐘是怎么回事?

    調試好幾天了,在網上試了好多方法還是不通,希望有大神給看下到底代碼寫的對不對,大家往下看: 硬件連接: 使用的單片機為stm8l151C6,物理SPI和RC522芯片進行連接 PB4:NSS片選
    發表于 04-30 06:25

    【從0開始創建AWTK應用程序】編譯應用到RTOS平臺

    AWTK是基于C語言開發的跨平臺GUI框架。本系列文章介紹如何從0開始創建AWTK應用程序,包括搭建開發調試環境、使用AWTK創建Hello工程并在模擬器上運行、將AWTK應用程序移植
    的頭像 發表于 03-21 08:23 ?575次閱讀
    【從0開始<b class='flag-5'>創建</b>AWTK<b class='flag-5'>應用程序</b>】編譯應用到RTOS平臺

    SI522款兼容RC522/FM17522 開發資料

    SI522 是應用于13.56MHz 非接觸式通信中高集成度讀寫卡系列芯片中的員。是NXP 公司針對\"三表\"應用推出的款低 電壓、低成本、體積小的非接觸式讀寫卡芯片
    發表于 02-29 15:56

    如何將HC-SR04連接到Arduino并編寫簡單程序來測量距離

    種流行的Arduino超聲波傳感器是HC-SR04。它廣泛用于非接觸式距離測量,通常用于機器人和自動化項目。本指南將向您展示如何將HC-SR04連接到Arduino并編寫
    的頭像 發表于 02-11 10:17 ?2220次閱讀
    如何將HC-SR04連接到<b class='flag-5'>Arduino</b>并編寫<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的<b class='flag-5'>程序</b>來測量距離

    mfrc522工作原理

    的工作原理。 MFRC522芯片采用13.56 MHz的頻率進行射頻通信。它包括調制解調器,13.56 MHz的射頻前端,以及
    的頭像 發表于 01-09 14:15 ?1944次閱讀

    rc522射頻模塊的工作原理

    RC522射頻模塊是種基于射頻識別技術的讀卡器模塊,廣泛應用于門禁系統、智能家居、智能卡類應用等領域。它具備快速、穩定、安全的特點,能夠讀取和寫入射頻卡上的信息。下面將詳細介紹RC522射頻模塊
    的頭像 發表于 12-28 16:27 ?5251次閱讀

    【從0開始創建AWTK應用程序】編譯應用到嵌入式Linux平臺運行

    。搭建Linux平臺交叉編譯環境在上篇文章我們介紹了使用AWTK開發簡單的應用并在PC上模擬運行,本篇文章就來介紹下怎么讓應用程序運行在嵌入式Linux平臺上。1
    的頭像 發表于 12-07 12:08 ?677次閱讀
    【從0開始<b class='flag-5'>創建</b>AWTK<b class='flag-5'>應用程序</b>】編譯應用到嵌入式Linux平臺運行

    如何從簡單的數學表達式創建Saber模型?

    如何從簡單的數學表達式創建Saber模型,將你的輸出描述為輸入的函數?例如 out=a*
    的頭像 發表于 12-05 13:42 ?689次閱讀
    如何從<b class='flag-5'>一</b><b class='flag-5'>個</b><b class='flag-5'>簡單</b>的數學表達式<b class='flag-5'>創建</b><b class='flag-5'>一</b><b class='flag-5'>個</b>Saber模型?

    【從0開始創建AWTK應用程序創建應用程序并在模擬器運行

    創建工程本篇文章我們來創建一個AWTK程序,也就是HelloWorld程序,它總共包含兩
    的頭像 發表于 12-01 08:24 ?471次閱讀
    【從0開始<b class='flag-5'>創建</b>AWTK<b class='flag-5'>應用程序</b>】<b class='flag-5'>創建</b><b class='flag-5'>應用程序</b>并在模擬器運行