ข้ามไปที่เนื้อหาหลัก

โครงงานแสดงระดับน้ำผ่านโทรศัพท์มือถือ Android (งานที่ 20)


โครงงานแสดงระดับน้ำผ่านโทรศัพท์มือถือ Android

1
22
ที่มาและความเป็นมาของโครงงานแสดงระดับน้ำผ่านโทรศัพท์มือถือ Android
ปัจจุบันเทคโนโลยีและนวัตกรรมต่างๆมีมากมายให้ได้ใช้งาน ไม่ว่าจะเป็นด้านเทคโนโลยีการสื่อสารที่มีผู้คนใช้งานเป็นจำนวณมากซึ่งก็คือโทรศัพท์มือถือ ระบบปฎิบัติการในการใช้งานของโทรศัพท์มือถือส่วนใหญ่ที่นำมาใช้นั้นก็คือ ระบบปฏิบัติการ Android จึงทำให้โทรศัพท์มือถือมีความสำคัญและทำให้การติดต่อสื่อสารนั้นง่ายและสะดวกยิ่งขึ้นและยังเป็นที่นิยมในการนำมาพัฒนาในรูปแบบของแอปพลิเคชั่นต่างๆ เพื่อให้ผู้ใช้สามารถนำไปใช้ให้ตรงกับความต้องการของตนเอง ดังนั้นจึงมีแนวคิดที่ว่าจะนำมาใช้กับสิ่งประดิษฐ์ที่รวมกับโทรศัพท์มือถือมาใช้ในการควบคุมการทำงานต่างๆ
จากแนวความคิดเหล่านี้รวมไปถึงนำโครงงานของรุ่นพี่มาพัฒนาต่อยอดเพิ่มขึ้นจากโครงงานควบคุมระดับน้ำให้กลายเป็นโครงงานแสดงระดับน้ำผ่านโทรศัพท์มือถือ Android  โดยหลักการทำงานคือให้โทรศัพท์มือถือ Android นั้นดูค่าระดับน้ำที่เราต้องการ พร้อมทั้งจะส่งสัญญาณเตือนเมื่อเกณฑ์ของระดับน้ำเกินค่าที่เรากำหนดโดยเป็นสัญญาณเสียงออกมา
คุณสมบัติการทำงานของโครงงาน
–  สามารถแสดงระดับน้ำผ่านโทรศัพท์มือถือในระบบปฏิบัติการ Android
–  การรับข้อมูลของระดับน้ำผ่านระบบไร้สายแบบ Bluetooth
–  แสดงผลบนมือถือและหน้าจอ LCD
–  ใส่ค่าระดับน้ำได้สูงสุด 25 เซนติเมตร

วงจรโดยรวมของโครงงานแสดงระดับน้ำผ่านโทรศัพท์มือถือ Android
3

4

ส่วนประกอบสาคัญภายในวงจร
5
ส่วนที่ 1 ขาที่ใช้ของบอร์ดSTM32F4 Discoveryนำอุปกรณ์มาต่อตามหมายเลขขาที่เราใช้งานโดยมีขาที่ใช้งานคือ PA3,PA5,PB1,PB15,PD8,PD9,PE5
ส่วนที่ 2 อุปกรณ์ในการแสดงสถานะ โดยจะใช้บัสเซอร์ บัสเซอร์จะเป็นตัวส่งสัญญาณเตือนเมื่อมีระดับน้ำที่เกิน
ลิมิตที่ตั้งไว้
ส่วนที่ 3 อุปกรณ์รับ-ส่งข้อมูลผ่านบลูทูธ โดยจะเป็นตัวรับข้อมูลจาก STM32F4 Discovery มาแสดงผลบนโทรศัพท์มือถือในระบบปฎิบัติการ Android โดยจะแสดงเป็นระดับที่ตั้งไว้และระดับที่วัดได้
ส่วนที่ 4 ตัวต้านทานปรับค่าได้ จะมีทั้งหมด 2 ตัวคือ
1.ตัวต้านทานสำหรับปรับแรงดันของ Sensor โดยการนำสัญญาณเซนเซอร์เข้าตัวต้านทานปรับค่าได้เพื่อลดแรงดันของเซนเซอร์สูงสุดไม่ให้เกิน 3.3V ก่อนต่อเข้าที่บอร์ดที่ขาPA3และนำสัญญาณ PWM จากขาPB15 เข้าชุดควบคุมระดับน้ำเพื่อควบคุมมอเตอร์ปั๊มน้ำในถัง
2.ตัวต้านทานสำหรับปรับระดับของน้ำโดยการนำสัญญาณจากขา PA5เข้าตัวต้านทานปรับค่าได้เพื่อ-ลดระดับน้ำตามความต้องการของผู้ใช้งาน
ส่วนประกอบวงจรประกอบไปด้วย
  1. บอร์ด STM32F4 DISCOVERY
  2. บอร์ดบลูทูธ HC-06
  3. บอร์ดแหล่งจ่าย 5VDC
  4. บอร์ด Buzzer
  5. Pressure Sensor
  6. มอเตอร์ปั๊มน้ำ
  7. จอ LCD 16X4
โปรแกรม Simulink ที่สมบูรณ์ของโครงงานแสดงระดับน้ำผ่านโทรศัพท์มือถือ Android
6
ส่วนที่ 1
7
ประกอบด้วย
       – Target Setup ;เป็นการเรียกใช้เพื่อรองรับการใช้บอร์ด STM32F4 Discovery
– Character LCD Setup ;ใช้ในการตั้งค่าสำหรับจอแสดงผล LCD
– Volatile Data Storage ;เป็นการประกาศตัวแปรโดยเก็บไว้เป็นตัวแปร Line1 และ Line2
– UART Setup ;ใช้ในการตั้งค่า Port ในการสื่อสารโดยเป็นการรับ – ส่งข้อมูล
ส่วนที่ 2
8
ประกอบด้วย
       -Regular  ADC ; ใช้ในการรับค่าเซนเซอร์เข้ามาที่ขา PA3 และตัวต้านทานสำหรับเพิ่ม-ลดระดับน้ำต่อไปที่ขา PA5 ซึ่งเป็นสัญญาณAnalog
– Gain ; เป็นตัวแปลงค่าเป็นดิจิตอลโดยนำไปเทียบ100/4095แล้วนำเข้าMatlab functionเพื่อทำให้ค่าเซนเซอร์นั้นสูงสุดคือ100และต่ำสุดคือ0ซึ่งเนื่องจากเซนเซอร์มีค่าเริ่มต้นที่ไม่ใช่ 0จึงนำไปเทียบบัญญัติไตรยางศ์ให้ค่าสูงสุดที่ 100 และต่ำสุดที่0 แล้วนำทั้งสองค่าไปหารด้วย 4 เพื่อให้ได้ค่าสูงสุดคือ 25 และต่ำสุดที่ 0 จากนั้นนำค่าทั้งสองเปรียบเทียบกันโดยตั้งเงื่อนไขว่าถ้าค่าเซนเซอร์น้อยกว่าค่าระดับน้ำที่กำหนดให้ส่งสัญญาณ PWM ออกไป 100% และเมื่อน้ำเข้าในถังจนมีระดับที่ต้องการจะหยุดจ่ายสัญญาณ PWM
ส่วนที่ 3,4
9
ประกอบด้วย
       – String Buffer Progress ;เป็นการรับข้อมูลมาเก็บไว้ในตัวแปร Line1 และ Line2 เพื่อนำไปใช้แสดงผลบนจอ LCD
 ส่วนที่ 5
10
ประกอบด้วย
       – Volatile Data Storage Read ;เป็นตัวอ่านข้อมูลที่เก็บไว้ใน Line1 และ Line2
       – Character LCD Write ;เป็นตัวนำข้อมูลไปเขียนบนจอ LCD ในแต่ละบรรทัด
       – Constant ;เป็นการกำหนดในตัวอักษรหรือตัวเลขต่างๆโดย xpos,yposแสดงในตำแหน่งตามต้องการและcmdเป็นตัวกำหนดการนำค่านั้นค้างไว้หรือไม่
ส่วนที่ 6
 12
ประกอบด้วย
       – Data type Conversion; เป็นการแปลงข้อมูล โดยข้อมูลที่รับมาจะเป็น double จึงต้องผ่านการแปลงให้เป็น Single เพื่อที่จะทำให้ชนิดข้อมูลให้เหมือนกันจึงสามารถใช้งานได้ในการแสดงผลบนโทรศัพท์มือถือ Android จะนำข้อมูลที่อยู่ในวงกลมสีแดงตามภาพ

การเขียนโค๊ด M-File
13
อธิบายโค๊ด
function y = fcn(u) //เป็นการประกาศให้ฟังค์ชั่น y เป็น output และ u เป็น input
y = (35-u)*1.538461538; //เป็นการเปรียบเทียบบัญญัติไตรยางศ์ ให้เซ็นเซอร์มีค่าตั้งแต่ 0-100

14
อธิบายโค๊ด
function y = fcn(u)   //เป็นการประกาศให้ฟังค์ชั่น y เป็น output และ u เป็น input
y = u/4;                 //นำค่า u ไปหาร 4 เพื่อให้ได้ค่าตั้งแต่ 0-25 Cm
15
อธิบายโค๊ด
function y = fcn(u))   //เป็นการประกาศให้ฟังค์ชั่น y เป็น output และ u เป็น input
y = u/4;                    //นำค่า u ไปหาร 4 เพื่อให้ได้ค่าตั้งแต่ 0-25 Cm
16
อธิบายโค๊ด
function y = fcn(u,x)  //เป็นการประกาศให้ฟังค์ชั่น y เป็น output และ u,xเป็น input
if (u>x)                    //เงื่อนไขถ้าค่า u (Sensor) มีค่าน้อยกว่ำ x (ค่าระดับน้ำที่กำหนด)
y = 100;              //ให้ y= 100
else                       //ถ้าไม่จริง
y = 0;                // ให้ y =0
17
อธิบายโค๊ด
function y = fcn(u,x)  //เป็นการประกาศให้ฟังค์ชั่น y เป็น output และ u.xเป็น input
if (u>x)                    //เงื่อนไขถ้าค่ำ u (Sensor) มีค่าน้อยกว่ำ x (ค่าระดับน้ำที่กำหนด)
y = 1;                 //ให้ y= 100
else                       //ถ้าไม่จริง
y = 0;                // ให้ y =0
18
อธิบายโค๊ด
function y = fcn(u,x)  //เป็นการประกาศให้ฟังค์ชั่น y เป็น output และ u,xเป็น input
if (u<x)                    //เงื่อนไขถ้าค่า u (Sensor) มีค่าน้อยกว่ำ x (ค่าระดับน้ำที่กำหนด)
y = 100;               //ให้ y= 100
else                       //ถ้าไม่จริง
y = 0;                // ให้ y =0

หลักการทำงานของโครงงาน
     1.นำแหล่งจ่าย 12VDC ต่อเข้าบอร์ดแปลงแหล่งจ่าย โดยจะแปลงแหล่งจ่ายจาก 12VDC เป็น 5VDC แล้วทำการเปิด Switch เพื่อทำการเปิดใช้งาน
19
     2.นำบลูทูธและBuzzer มาต่อเข้า Socket ในการนำไปใช้งาน
20
      3.นำเซนเซอร์ มาต่อเข้าที่ช่อง Sensor แล้วทำการ Calibrate Sensor แรงดันที่ทำให้วัดระดับน้ำได้สูงสุด 25 Cm และนำสัญญาณ PWM ไปใช้งานในการขับมอเตอร์ปั๊มน้ำ
21
     4.ทำการเชื่อมต่อบลูทูธในการดูค่าระดับน้ำบนมือถือ
23

     5.ปรับตัวต้านทานปรับค่าได้ให้ได้ระดับน้ำตามที่เราต้องการ
24
     6.จากนั้นทำการกด Switch เพื่อทำการจ่ายสัญญาณให้กับมอเตอร์เพื่อให้มอเตอร์ปั๊มน้ำทำงาน
25

ผลจากการทดลองปรับค่าระดับน้ำ

26
27
สรุปผลการทดลอง
เมื่อทำการปรับตัวต้านทานปรับค่าได้ที่ใช้ในการปรับค่าระดับน้ำนั้นแล้ว ทำการกดปุ่มเพื่อทำการจ่ายสัญญาณ PWM เพื่อให้มอเตอร์ทำการปั๊มน้ำขึ้นมา จากนั้นระดับน้ำก็จะนำน้ำเข้ามาและรักษาระดับให้มีค่าให้มีค่าใกล้เคียงกันกับระดับน้ำที่ตั้งเอาไว้ และนำค่าที่ได้นำมาแสดงบนโทรศัพท์มือถือว่ามีระดับน้ำที่เท่าใด และเมื่อทำการลดระดับน้ำลง น้ำก็จะรักษาระดับให้ได้ตามที่ลดค่าลงมาพร้อมทั้งแสดงผลบนโทรศัพท์มือถือด้วยเช่นกัน


ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การเขียนผังงาน (Flowchart)

โครงงานเรื่อง ล้อวัดระยะทางด้วย Encoder (งานที่ 17)

(บล็อกที่ 9). code รถบังคับจากแผ่นซีดี ควบคุมด้วยแอพแอนดรอยด์