Hướng phát triển

Một phần của tài liệu ĐỒ án môn học 1 đề tài đếm sản PHẨM BẰNG cảm BIẾN HỒNG NGOẠI NGÀNH CÔNG NGHỆ kỹ THUẬT điện tử VIỄN THÔNG (Trang 73 - 81)

Đề tài “Đếm sản phẩm bằng cảm biến hồng ngoại” được hướng đến những hướng phát triển như sau:

- Kết hợp mạch này vào băng chuyền và thực hiện điều khiển băng chuyền bằng ứng dụng trên điện thoại.

- Tăng tốc độ gửi dữ liệu lên cơ sở dữ liệu bằng cách sử dụng máy chủ riêng và mạng nội bộ.

- Ứng dụng trên điện thoại di động tích hợp nhiều tính năng hơn như tổng hợp số lượng sản phẩm trong tuần, tính toán lợi nhuận thu được…

5 0

TÀI LIỆU THAM KHẢO

[1] Espressif Systems, “ESP8266EX”, năm 2020. [Online] Available: https://www.espressif.com/sites/default/files/documentation/0a- esp8266ex_datasheet_en.pdf

[2] e-Gizmo Mechatronix Central, “E18-D80NK Long Range Adjustable IR Sensor”, năm 2016. [Online] Available: https://cdn.datasheetspdf.com/pdf-down/E/1/8/E18- D80NK-e-Gizmo.pdf

[3] Thế giới Điện cơ, “Cảm biến quang – Cấu tạo, Phân loại và Ứng dụng cảm biến

quang”, 09/07/2020, [Online] Available: https://thegioidienco.vn/cam-bien-quang.html

[4]Nguyen Bao Ngoc, “Giao tiếp I2C”, Trung tâm đào tạo thiết kế vi mạch Semicon, 29/11/2018, [Online] Available: https://www.semiconvn.com/home/hoc-thiet-ke-vi- mach/bai-hc-vi-mch/12458-giao-tip-i2c.html

[5] Arduinokit, “Tổng quan LCD 16×2 và giao tiếp I2C LCD sử dụng Arduino”,

28/12/2020, [Online] Available: https://arduinokit.vn/giao-tiep-i2c-lcd-arduino/

[6] Nga Bùi, “8 chuẩn công nghệ không dây phổ biến hiện nay”, 08/06/2018, [Online] Available: https://quantrimang.com/7-chuan-cong-nghe-khong-day-pho-bien-hien-nay- 39771

[7] Phí Thị Thu, “Phân tích và đánh giá hiệu năng mạng vô tuyến công suất thấp cự ly

xa LPWAN”, Học viện công nghệ bưu chính viễn thông, năm 2017.

[8] multicomp, “ LED Orange/Green 3mm”, Version 1.0, 10/10/2012. [Online] Available: http://www.farnell.com/datasheets/1671514.pdf

[9] Fairchild Semiconductor Corporation, “MC78XX/LM78XX/MC78XXA”, năm

2001. [Online] Avalable: https://html.alldatasheet.com/html-

pdf/82833/FAIRCHILD/LM7805/405/1/LM7805.html

[10] DiziBrand, “[Firebase là gì?] Nền tảng phát triển ứng dụng di động và web”, 19/07/2021, [Online] Avalable: https://dizibrand.com/firebase-la-gi/

5 1

PHỤ LỤC Mã nguồn của phần cứng hệ thống. //*************** Thu vien *******************// #include <SimpleTimer.h> #include <LiquidCrystal_I2C.h> #include <FirebaseESP8266.h> #include <ESP8266WiFi.h> #include <Wire.h> #include <NTPClient.h> #include <WiFiUdp.h>

//***************** Khai bao LCD va thoi gian *****************// WiFiUDP ntpUDP;

NTPClient timeClient(ntpUDP, "pool.ntp.org"); LiquidCrystal_I2C lcd(0x27,16,2);

//****************** Dinh nghia cac bien ****************// #define sensor 12

#define LED 0

#define FIREBASE_HOST "https://doan-747cc-default-rtdb.firebaseio.com" #define FIREBASE_AUTH

"1Op2F3VqkqIa2OwhYzDzBAl2MVvaWdp3G4ZnNIV1" #define WIFI_SSID "TT"

#define WIFI_PASSWORD "vothientung" //****************** Khai bao bien ****************// unsigned int t=0; unsigned int thung=0;

String thutrongtuan; String thutrongtuan1; String thutrongtuan2; int monthDay; int currentMonth; 52

int currentYear; String weekDay; String currentDate;

//****************** Khai bao timer va Firebase ****************// SimpleTimer timer;

FirebaseData fbdo; void repeatMe() {

long stTime=millis();

/ Gui du lieu len Firebase

Firebase.setString(fbdo,String(thutrongtuan),currentDate); Firebase.setString(fbdo,String(thutrongtuan1),String(t)); Firebase.setString(fbdo,String(thutrongtuan2),String(thung)); / long duration=millis()-stTime; Serial.println(duration); }

String weekDays[7]={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

//**********************************// void setup()

{

Serial.begin(115200);

timer.setInterval(30000, repeatMe); //thoi gian ngat 30 giay //**************** Cai dat ban dau cho LCD va LED ******************//

pinMode(LED, OUTPUT); lcd.init(); lcd.backlight(); pinMode(sensor,INPUT); digitalWrite(LED, LOW); 53

//****************** Cai dat WiFi ****************// WiFi.begin (WIFI_SSID, WIFI_PASSWORD);

Serial.print("Dang ket noi"); lcd.setCursor(0,0);

lcd.print("DANG KET NOI"); lcd.setCursor(0,1);

lcd.print("WIFI");

while (WiFi.status() != WL_CONNECTED) { Serial.print(".");

delay(500); } Serial.println ("");

Serial.println ("Da ket noi WiFi!"); lcd.clear();

lcd.setCursor(0,0);

lcd.print("KET NOI WIFI"); lcd.setCursor(0,1); lcd.print("THANH CONG"); delay(2000); lcd.clear(); //**********************************// Serial.println(WiFi.localIP());

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); //Ket noi Firebase // timeClient.begin(); //timer timeClient.setTimeOffset(25200); // lcd.setCursor(0,1); lcd.print("SL: "); lcd.print(t); lcd.print(" SP"); lcd.setCursor(11,1); 54

lcd.print(thung); lcd.print(" TH"); // } void loop() {

timer.run(); // Chay timer

//***************** Hien thi thoi gian *****************// timeClient.update();

unsigned long epochTime = timeClient.getEpochTime(); struct tm *ptm = gmtime ((time_t *)&epochTime); monthDay = ptm->tm_mday;

currentMonth = ptm->tm_mon+1; currentYear = ptm->tm_year+1900;

weekDay = weekDays[timeClient.getDay()];

currentDate = String(monthDay) + "-" + String(currentMonth) + "-" + String(currentYear);

lcd.setCursor(0,0); lcd.print("TIME: "); lcd.print(currentDate);

//************** Khi co vat di qua cam bien ********************// if(!digitalRead(sensor))

{

t++; // So san pham tang 1 thung=t/30;

thutrongtuan = String(weekDay)+ "TIME"; thutrongtuan1 = String(weekDay)+ "SP"; thutrongtuan2 = String(weekDay)+ "TH"; digitalWrite(LED, HIGH); //LED sang delay(300);

digitalWrite(LED, LOW);

55

lcd.setCursor(0,1); lcd.print("SL: "); lcd.print(t); lcd.print(" SP"); lcd.setCursor(11,1); lcd.print(thung); lcd.print(" TH"); while(!digitalRead(sensor)){ delay(500);} } } //**********************************// 56

Một phần của tài liệu ĐỒ án môn học 1 đề tài đếm sản PHẨM BẰNG cảm BIẾN HỒNG NGOẠI NGÀNH CÔNG NGHỆ kỹ THUẬT điện tử VIỄN THÔNG (Trang 73 - 81)