สารบัญ:

UCL - IIoT - ตลาดเกษตรกร: 7 ขั้นตอน
UCL - IIoT - ตลาดเกษตรกร: 7 ขั้นตอน

วีดีโอ: UCL - IIoT - ตลาดเกษตรกร: 7 ขั้นตอน

วีดีโอ: UCL - IIoT - ตลาดเกษตรกร: 7 ขั้นตอน
วีดีโอ: UCL-IIoT-Datalogger 2024, กรกฎาคม
Anonim
UCL - IIoT - ตลาดของเกษตรกร
UCL - IIoT - ตลาดของเกษตรกร

กระเป๋าเงิน Farmersmarket สามารถใช้ได้ในงานแสดงสินค้า ตลาดของเกษตรกร หรืองานชุมนุมอื่นๆ ที่มีการขายสินค้า

กระเป๋าเงิน Farmersmarket เป็นเครื่องนับเหรียญที่ทำขึ้นเพื่อให้สามารถดูเนื้อหาทั้งหมดของกล่องที่ถือเหรียญได้อย่างรวดเร็ว กระเป๋าเงินของตลาดเกษตรกรจะอัปโหลดยอดรวมไปยังเซิร์ฟเวอร์ที่ตั้งโปรแกรมผ่าน Node-red

สร้างโดยนักศึกษาสามคนของ University College Lillebælt ในเดนมาร์ก ตั้งแต่โปรเจ็กต์ที่แล้วของเรา The coin sorter เราได้เรียนรู้สิ่งใหม่ๆ มากมายที่เราจะนำมารวมไว้ในบิลด์ เราได้เลือกที่จะละเว้นการคัดแยกเหรียญและให้เครื่องนับแทนโดยฝากไว้ในกล่องเหรียญส่วนกลาง

กระเป๋าเงินประกอบด้วยสไลด์หรือช่องห้าช่อง หนึ่งช่องสำหรับเหรียญแต่ละประเภท เมื่อใส่เหรียญลงในช่องที่เหมาะสม เหรียญจะหล่นลงมาผ่านแผ่นสะท้อนแสง ซึ่งจะส่งสัญญาณสูงไปยัง Arduino เราจะใช้สัญญาณเพื่อเพิ่มมูลค่าเหรียญให้กับยอดรวมที่นับ แสดงบนจอแสดงผลภายนอก และส่งยอดรวมใหม่ไปยังเซิร์ฟเวอร์ เมื่อเซิร์ฟเวอร์ได้รับยอดรวมแล้ว เซิร์ฟเวอร์จะอัปเดต UI ที่พบทางออนไลน์ซึ่งแสดงยอดรวมใหม่

คำอธิบายกล่องที่มีช่องเหรียญห้าช่องซึ่งนำไปสู่สไลด์ภายในห้าช่อง หนึ่งช่องสำหรับเหรียญแต่ละประเภท: 1kr, 2kr, 5kr, 10kr, 20kr

จอ LCD แสดงยอดเงินสดที่ฝากไว้ด้านบนของกล่อง

ด้านบนของกล่องมีฝาปิด การยกด้านบนขึ้นจะนำตัวเรือน Arduino ออกพร้อมกับด้านบนที่มี LCD, ช่องเสียบเหรียญ, ตัวสะท้อนแสง ฯลฯ เหลือเพียงกล่องที่ใส่เหรียญเท่านั้น

ส่วนประกอบและวัสดุ - เครื่องมือและอุปกรณ์สำหรับทำกล่อง (อาจเป็นกระดาษแข็งหรือไม้)

- Arduino Mega 2560

- สายจัมเปอร์ 30 เส้น

- 5 x LDR "เซ็นเซอร์วัดแสง"

- ตัวต้านทาน 5 x 220 โอห์ม

- ตัวต้านทาน 5 x 10k ohm

- 5 x LED สีขาว

- โมดูล LCD 16x02

- เหรียญ

รหัสใน Arduino

ดังที่ได้กล่าวไว้ก่อนหน้านี้ โครงการนี้มาจากโครงการก่อนหน้านี้ที่เราสร้างขึ้นเมื่อประมาณแปดเดือนที่แล้ว (https://www.instructables.com/id/Coin-Sorting-Machine/) ด้วยเหตุนี้ เราจึงสามารถนำโค้ดส่วนใหญ่ใน Arduino กลับมาใช้ใหม่ได้ แม้ว่าจะมีการเปลี่ยนแปลงเล็กน้อยอยู่บ้าง คุณจะเห็นว่าโค้ดนั้นค่อนข้างง่าย ซึ่งผู้ที่มีประสบการณ์เกี่ยวกับ Arduino เล็กน้อยควรจะสามารถเข้าใจได้

Node-RED Node-RED เป็นเครื่องมือที่เราจะใช้เพื่อรับข้อมูลจาก Arduino และไปยังคอมพิวเตอร์ของคุณ และต่อไปยังอินเทอร์เน็ต หากคุณสนใจ เหตุผลสำคัญอีกประการหนึ่งในการใช้ Node-RED คือความสามารถในการนำเสนอข้อมูลจาก Arduino ในรูปแบบที่เข้าใจง่าย สำหรับผู้ที่ไม่มีประสบการณ์ในการเขียนโปรแกรม/เขียนโค้ดกับ Arduino และ Node-RED

ฐานข้อมูล โดยใช้ Wampserver เราสามารถเก็บค่าของเราจาก Arduino ในฐานข้อมูล ด้วย Wampserver คุณสามารถสร้างและสลับฐานข้อมูลของคุณเองได้ตามที่คุณต้องการ โดยใช้ phpMyAdmin เพื่อดูแล MySQL ในกรณีของเรา เรามีค่าหกค่าที่เราต้องจัดเก็บ (หนึ่งค่าสำหรับเหรียญแต่ละประเภทและอีกค่าหนึ่งสำหรับผลลัพธ์) ดังนั้นเราจึงสร้างหกคอลัมน์ขึ้นซึ่งสามารถจัดเก็บแต่ละค่าได้

ขั้นตอนที่ 1: มันทำงานอย่างไร

มันทำงานอย่างไร?
มันทำงานอย่างไร?

ในคฤหาสน์ที่มีรายละเอียดมากขึ้น ตอนนี้เราจะอธิบายวิธีการทำงานของระบบของเรา

ดังที่คุณเห็นในผังงาน สิ่งแรกที่กำหนดกระบวนการคือเมื่อเหรียญถูกใส่ลงในช่องที่ถูกต้อง

เซ็นเซอร์วัดแสง LDR จะสังเกตเห็นปริมาณแสงที่ลดลงเมื่อเหรียญผ่านเซ็นเซอร์ ซึ่งจะทริกเกอร์โปรแกรม Arduino ให้เพิ่มตัวแปร "Antal" (จำนวน) ด้วยหนึ่งเหรียญ เนื่องจากตอนนี้มีเหรียญหนึ่งเหรียญอยู่ในเครื่องแล้ว ในเวลาเดียวกัน ค่าของเหรียญจะถูกเพิ่มเข้าไปในตัวแปร "ผลลัพธ์" "ผลลัพธ์" จะแสดงบน LCD พร้อมค่าใหม่

ค่าใหม่ของ "Antal" และ "ผลลัพธ์" จะถูกส่งไปยัง Node-RED ซึ่งแดชบอร์ดจะอัปเดตตัวเองด้วยค่าเหล่านี้ ในที่สุด Node-RED จะส่งค่าไปยังฐานข้อมูลของเรา

และทำซ้ำ

ขั้นตอนที่ 2: การทำกล่อง

ครั้งนี้เราใช้ Illustrator ในการออกแบบกล่องของเรา ด้วยเครื่องตัดเลเซอร์ เราได้ประดิษฐ์กล่องนี้อย่างแม่นยำ และคุณสมบัติที่จำเป็นสำหรับโครงการของเรา ท้ายที่สุดแล้ว คุณเป็นผู้ตัดสินใจว่าจะสร้างกล่องที่สมบูรณ์แบบสำหรับโครงการของคุณอย่างไร

ขั้นตอนที่ 3: การเพิ่ม Arduino

การเพิ่ม Arduino
การเพิ่ม Arduino

ได้เวลาติดตั้ง Arduino ลงในกล่องแล้ว การดำเนินการนี้อาจทำได้ยาก เนื่องจากเซ็นเซอร์อาจทำงานไม่แน่นอน (ใหม่) ในขั้นตอนนี้ เราได้เปลี่ยนเซ็นเซอร์ที่เราใช้อยู่ เนื่องจากความไม่น่าเชื่อถือที่กล่าวถึงก่อนหน้านี้ของเซ็นเซอร์เหล่านี้ (tcrt 5000) แต่เราได้เลือกเซ็นเซอร์ LDR ที่ง่ายกว่า (ตัวต้านทานที่ขึ้นกับแสง) แทน เอาต์พุตจากเซ็นเซอร์นี้เป็นค่าแอนะล็อก ซึ่งจะเปลี่ยนแปลงตามปริมาณแสงที่ไปถึงตัวเซ็นเซอร์เอง

ขั้นตอนที่ 4: รหัส Arduino

ในขั้นตอนนี้ เรากำลังให้ความสำคัญกับซอฟต์แวร์ รหัส Arduino มีลักษณะดังนี้:

const int sensorPin1 = 3; //TCRT-5000 เซ็นเซอร์ซึ่งเชื่อมต่อกับพิน nr. เซ็นเซอร์ 2 intState1 = 0; //ประกอบด้วยค่าของเซ็นเซอร์ (สูง/ต่ำ)

int Antal10 = 0; //ตัวแปรที่เก็บจำนวนเหรียญที่ใส่เข้าไปในเครื่อง int

ผลลัพธ์ = 0; //ตัวแปรที่เก็บมูลค่ารวมของเหรียญทั้งหมดที่ใส่ลงในเครื่อง

การตั้งค่าเป็นโมฆะ () { Serial.begin (9600); }

วงเป็นโมฆะ () { int sensorState1 = analogRead (sensorPin1); // อ่านสถานะของเซ็นเซอร์

if (540 < sensorState1 < 620) {// เมื่อค่าเอาต์พุตของเซ็นเซอร์อยู่ระหว่าง 540 ถึง 620

Antal10 += 10; // - มีเหรียญผ่านเซ็นเซอร์ซึ่งบังแสงบางส่วน

ผลลัพท์ += 10; // - และเซ็นเซอร์จะอ่านระดับแสงที่ต่ำกว่า }

Serial.print(ผลลัพธ์);

Serial.print(", "); //แยกตัวแปรด้วยเครื่องหมายจุลภาค ซึ่งจำเป็นเมื่ออ่านค่าของตัวแปรใน Node-RED

Serial.println (Antal10); // - และจำเป็นด้วยเมื่อค่าเหล่านี้ถูกเก็บไว้ในฐานข้อมูล

ล่าช้า (100); }

รหัสนี้เขียนขึ้นสำหรับเซ็นเซอร์เดียวเท่านั้น เพื่อให้อ่านง่ายขึ้น

รหัสที่สมบูรณ์:

ขั้นตอนที่ 5: Node-RED

โหนด-RED
โหนด-RED
โหนด-RED
โหนด-RED

เมื่อโค้ด Arduino ทำงานตามที่ควรจะเป็น คุณสามารถเริ่มเขียนโปรแกรม Node-RED ซึ่งจะทำหน้าที่เป็นตัวกลางระหว่าง Arduino กับฐานข้อมูล และเป็นการแสดงภาพว่าเครื่องทำงานอย่างไร การเขียนโปรแกรมของ Node-RED ประกอบด้วยการใช้โหนดที่มีฟังก์ชันต่างกัน และใส่พารามิเตอร์ที่ถูกต้องเพื่อให้โหนดเหล่านี้ทำงานได้อย่างถูกต้อง

เมื่อข้อมูลของเรามาถึง Node-RED ข้อมูลจะถูกส่งไปยังฟังก์ชันแยกสองแบบที่แตกต่างกัน หนึ่งใน functiosn เหล่านี้ส่งข้อมูล splittet ตอนนี้ไปยังฐานข้อมูล อีกอันหนึ่งส่ง datavalue ที่แตกต่างกันไปยังแต่ละโหนดแดชบอร์ด ซึ่งตอนนี้ควรจะมองเห็นได้บนแดชบอร์ด

ดังที่กล่าวไว้ก่อนหน้านี้ เรามีค่านิยมหกประการที่ต้องปฏิบัติ ด้วยความสามารถของแดชบอร์ดของ Node-Red เราสามารถแสดงค่าเหล่านี้ได้ ดังที่คุณเห็นในภาพทางด้านขวาที่ด้านบนสุดของขั้นตอนที่ 3

รหัสโหนด-RED:

ขั้นตอนที่ 6: ฐานข้อมูล

ฐานข้อมูล
ฐานข้อมูล

ตอนนี้เราจะใช้ฐานข้อมูลเพื่อเก็บค่า ด้วย Wampserver คุณสามารถใช้ phpMyAdmin เพื่อดูแล MySQL และสร้างฐานข้อมูลของคุณเอง โดยใช้เซิร์ฟเวอร์ภายในเครื่องเพื่อให้เหมาะกับความต้องการเฉพาะของคุณ

ขั้นแรกเมื่อสร้างฐานข้อมูล (farmers_market) คุณต้องสร้างตาราง (mont_tabel) ซึ่งคุณเก็บค่าของคุณไว้ ขึ้นอยู่กับจำนวนข้อมูลที่คุณมีและวิธีสั่งซื้อ คุณสามารถสร้างตารางได้มากเท่าที่คุณต้องการ เนื่องจากเราต้องเก็บค่าที่แตกต่างกันหกค่า ดังนั้นเราจึงต้องการหกคอลัมน์ หนึ่งค่าสำหรับแต่ละค่าในตารางของเรา ในภาพด้านบน คุณสามารถดูฐานข้อมูลของเราได้

เมื่อข้อมูลของเรามาถึง Node-RED ข้อมูลจะถูกแยกด้วยฟังก์ชัน split และตอนนี้ข้อมูลจะถูกส่งไปยังฐานข้อมูล

ขั้นตอนที่ 7: การประเมินผล

อันดับแรก เราต้องการพูดถึงการทำกล่องจากไม้แทนกระดาษแข็ง ทำให้การตั้งค่าทางกายภาพทั้งหมดมีความน่าเชื่อถือมากขึ้น และเราแนะนำให้ทำเช่นนั้น

การเปลี่ยนเซ็นเซอร์จาก TCRT-5000 และเซ็นเซอร์แสง LDR แบบธรรมดาทำให้มีความเสถียรมากขึ้น เนื่องจากเซ็นเซอร์สามารถอ่านได้อย่างรวดเร็วเมื่อมีเหรียญไหลผ่าน เมื่อทำงานกับ TCRT-5000 มีหลายปัจจัยที่ต้องนำมาพิจารณา เพื่อให้เซ็นเซอร์ทำงานตามที่คุณต้องการ

การเชื่อมโยงระบบเข้ากับฐานข้อมูล และสามารถนำเสนอข้อมูลของคุณในลักษณะที่มองเห็นได้ ว่าบุคคลใดก็ตามที่ไม่มีความรู้เกี่ยวกับโครงการนี้มาก่อน สามารถเข้าใจสิ่งที่เกิดขึ้นได้ ดูเหมือนว่าจะให้คุณค่ากับโครงการมากขึ้น

แนะนำ: