เราสร้างระบบอัตโนมัติสำหรับโรงเบียร์บนแผงเดียว เรากำลังศึกษา atmega644 เราทำบอร์ดโดยใช้โฟโตรีซิสต์ ระบบอัตโนมัติที่ใช้ไมโครคอนโทรลเลอร์ Arduino

ทำไมฉันถึงต้องการระบบอัตโนมัติ?

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

ฉันตัดสินใจสร้างระบบอัตโนมัติของตัวเองจากโครงการสำเร็จรูป มันทำงานบน Arduino, เซ็นเซอร์อุณหภูมิ, รีเลย์สองตัว, จอแสดงผลและปุ่มเชื่อมต่ออยู่ รีเลย์ตัวแรกควบคุมองค์ประกอบความร้อน รีเลย์ตัวที่สองควบคุมปั๊ม ปั๊มบดสะดวกมากเพราะ... ไม่จำเป็นต้องคนส่วนผสมในระหว่างขั้นตอนการบดทั้งหมด (ฉันแนะนำให้อ่านอันก่อนหน้านี้เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการชงเบียร์)

ฉันรวบรวมระบบอัตโนมัติเครื่องแรกโดยใช้โมดูล:

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

เมื่อเวลาผ่านไป ฉันได้ข้อสรุปว่าฉันต้องสร้างระบบอัตโนมัติบนชิปที่มีหน่วยความจำ 64 KB (Arduino mini มีเพียง 32 KB) บนบอร์ดเดียว โซลูชั่นพร้อมฉันหามันไม่เจอ ดังนั้นฉันจึงเริ่มสร้างวงจรด้วยตัวเอง และต่อมาก็สร้างกระดานสำหรับงานฝีมือของฉัน

โครงการ:

ฉันพัฒนาและวาดไดอะแกรมเพื่อที่จะพูดบนเข่าของฉันและเพื่อตัวฉันเอง ดังนั้นข้อบกพร่องบางอย่างจึงเป็นไปได้ แต่ไดอะแกรมทำงานได้อย่างสมบูรณ์:

จ่าย:

ฉันวาดวงจรจากนั้นก็ยังคงวาดกระดานก่อนอื่นฉันวาดมันโดยใช้โปรแกรม Sprint-เค้าโครง 6สะดวกมาก แต่มีฟังก์ชั่นไม่เพียงพอฉันจึงตัดสินใจย้ายออกจากโปรแกรม DipTraceและนี่คือสิ่งที่ฉันได้รับ:

คุณสามารถดาวน์โหลดแหล่งที่มา
อย่างที่คุณเห็น ฉันตั้งชื่อโรงเบียร์ของฉันว่า QRBeer และนี่คือเวอร์ชัน 0.5 แล้ว...

บอร์ดพร้อมแล้ว สิ่งที่เหลืออยู่คือการผลิตมันขึ้นมา สำหรับสิ่งนี้ฉันตัดสินใจใช้. ทำไมต้องเป็นพวกเขาและไม่ใช่ LUT? ฉันเพิ่งตัดสินใจลองสิ่งนี้ด้วยตัวเอง เทคโนโลยีใหม่ผมลอง LUT แล้ว รู้สึกได้เลย พูดเลยไม่ได้บอกว่าชอบ...

ช่างภาพ:

ในการสร้างแผงวงจรพิมพ์โดยใช้โฟโตรีซิสต์ คุณจะต้อง:
- ฟิล์มปริ้นเตอร์
-
- หลอดยูวี
- โซดาแอช

หลอดยูวี

ก่อนอื่น ฉันจะแบ่งปันข้อมูลเกี่ยวกับวิธีการสร้างของฉัน หลอดยูวี- ตอนแรกฉันต้องการใช้หลอดไฟสำเร็จรูป จากนั้นจึงตัดสินใจประกอบโดยใช้ไฟ LED 3W หกดวง:
และซื้อบน Tao ด้วย:


ฉันติดไฟ LED เข้ากับหม้อน้ำแม้ว่าจะสามารถประกอบบน PCB ได้ แต่ฉันสงสัยว่าพวกมันจะร้อนเกินไป
นี่คือสิ่งที่ฉันได้รับ:


การผลิตบอร์ด

1. ฉันได้เตรียมเทมเพลต เหลือเพียงการพิมพ์ลงบนแผ่นฟิล์ม ตามที่ฉันเขียนไว้ข้างต้น ฉันต้องการฟิล์มสำหรับเครื่องพิมพ์ ฉันลองใช้ฟิล์มสำหรับทั้งสองอย่าง เครื่องพิมพ์เลเซอร์และสำหรับอิงค์เจ็ท ตัวเลือกที่ดีที่สุดได้เฉพาะบนแผ่นฟิล์มเท่านั้น การพิมพ์อิงค์เจ็ท- คุณต้องพิมพ์เป็นภาพเนกาทีฟและภาพสะท้อน:

ฉันเคลือบแม่แบบทันทีเพื่อให้รอยนิ้วมือและเศษต่างๆ สามารถล้างออกได้ง่าย
2. ต่อไปเราต้องขัดกระดานในอนาคตของเรา (ลามิเนตไฟเบอร์กลาส) ฟองน้ำธรรมดาหรือฟองน้ำเมลามีนชุบน้ำเล็กน้อยเหมาะสำหรับสิ่งนี้:


3. หลังจากขั้นตอนนี้ทองแดงยังคงต้องถูกล้างด้วยอะซิโตน:


อย่างที่คุณเห็นในรูปภาพของฉัน ฉันเช็ดมันออกด้วยผ้าเช็ดปากธรรมดา และเทอะซิโตนลงในขวดเปอร์ออกไซด์ ดังนั้นจึงสะดวกกว่าที่จะหยิบ...
4. ขั้นตอนต่อไปคือการตัดโฟโตรีซิสต์เล็กน้อยเพื่อให้พอดีกับบอร์ดในอนาคตของคุณ และค่อย ๆ ถอดด้านบนออก ฟิล์มป้องกันเพื่อไม่ให้เกิดความเสียหาย ถ้าเป็นโฟโตรีซิสต์ในบ้านต้องลอกด้านด้านออก ถ้าเป็นจีน ก็ไม่ต่างกัน...
5. ต่อไป เราติดกาวโฟโตรีซิสต์บน PCB เพื่อไม่ให้ฟองอากาศปรากฏใต้โฟโตรีซิสต์ มิฉะนั้นแทร็กจะไม่ปรากฏในตำแหน่งดังกล่าว ให้ตัดส่วนที่เกินออก...
กระบวนการติดกาวโฟโตรีซิสต์นั้นคล้ายกับการติดฟิล์มป้องกันบนโทรศัพท์


6. เมื่อติดกาวไวแสงแล้ว textolite จะต้องผ่านเครื่องเคลือบบัตร 2-3 ครั้ง หรือใช้เหล็กอุ่น ๆ แล้วรีดผ่านแผ่นกระดาษที่พับครึ่ง:


สิ่งสำคัญคืออย่าให้เครื่องฉายแสงร้อนเกินไปมิฉะนั้นจะกลายเป็นดังนี้:


หากคุณติดกาวโฟโตรีซิสต์เมื่อมี "วงกบ" ก็ควรถอดออก (ล้างออกหรือขูดออก) แล้วทากาวใหม่ ไม่เช่นนั้นจะเสียใจหลังจากแกะสลักกระดาน... ฉันจะไม่ลบ ตัวต้านทานแสงนี้ ฉันจะให้คุณดูผลลัพธ์สุดท้าย
7. วางเทมเพลตบน PCB ด้วยโฟโตรีซิสต์แล้วกดด้วยกระจก (ฉันเอามาจาก กรอบรูปเก่า) และวางตุ้มน้ำหนักบนกระจก:


8. เราให้แสงสว่างแก่โฟโตรีซีสต์โดยใช้หลอด UV หลอดไฟของฉันใช้เวลาประมาณ 2 นาที:


อย่างที่คุณเห็น โฟโตรีซีสต์ที่ถูกเปิดเผยจะเปลี่ยนสีจากสีฟ้าอ่อนเป็นสีน้ำเงินเข้ม และโฟโตรีซิสต์ที่ถูกเปิดเผยนั้นเปราะบางมาก
9. ถอดกระจกและแม่แบบออก ตัวต้านทานแสงส่วนเกินสามารถตัดแต่ง (เป็นทางเลือก) และแยกออกอย่างระมัดระวังด้วยแหนบ:


10. ขั้นตอนต่อไปคือการล้างสารเรืองแสงที่ยังไม่ได้รับการพัฒนาด้วยอัลคาไล โดยให้ใช้น้ำ 2 แก้วและโซดาแอช 1 ช้อนโต๊ะคนให้เข้ากัน ลอกฟิล์มป้องกันด้านบนของโฟโตรีซิสต์ออก และจุ่ม textolite ของเราลงในสารละลายอัลคาไลน์


11. ใช้แปรงแล้วถูโฟโตรีซิสต์สามชิ้นในอัลคาไล จากนั้นค่อยๆ โฟโตรีซิสต์ที่ยังไม่พัฒนาถูกชะล้างออกไป:


คุณไม่สามารถเทอัลคาไลออกมาได้ แต่ทิ้งไว้บนกระดานถัดไปหรือล้างโฟโตรีซิสต์ออกหลังจากการแกะสลัก แต่จะเพิ่มเติมในภายหลัง...
12. การแกะสลักกระดาน:
มีสองวิธีที่เข้าถึงได้มากที่สุด: การแกะสลักด้วยเฟอร์ริกคลอไรด์หรือเปอร์ออกไซด์ + กรดซิตริกและเกลือ เกี่ยวกับ เฟอร์ริกคลอไรด์ฉันจะไม่เขียน แต่ฉันอาจจะอธิบายด้วยความช่วยเหลือของเปอร์ออกไซด์:
- 100 มล. ไฮโดรเจนเปอร์ออกไซด์ 3% - ขายในร้านขายยาราคา 7-12 รูเบิล
- 30 กรัม กรดซิตริก(มีจำหน่ายที่ร้านขายของชำทุกแห่ง)
- 1 ช้อนโต๊ะ เกลือหนึ่งช้อน (ทั้งเกลือละเอียดและเกลือสินเธาว์ก็ได้)


ทั้งหมดนี้ผสมในภาชนะและกระดานที่มีโฟโตรีซิสต์เสร็จแล้วจะถูกแช่อยู่ที่นั่นหลังจากนั้นไม่นานก็มีฟองอากาศปรากฏบนกระดาน:


และหลังจากนั้นครู่หนึ่ง "ทองแดงเปลือย" จะถูกสลักจนหมด:


โดยวิธีการถ้าคุณวางยาพิษเข้าไปมากขึ้น อุณหภูมิสูงตัวอย่างเช่นด้วยหลอดไส้หรือในอ่างน้ำการแกะสลักสามครั้งจะลดลงสิ่งสำคัญคืออย่าหักโหมจนเกินไปมิฉะนั้นส่วนเกินจะถูกแกะสลัก...
13. วิธีที่สะดวกที่สุดในการกำจัดโฟโตรีซิสต์คือการใช้อัลคาไลแบบเดียวกับที่โฟโตรีซิสต์ที่ไม่ได้แกะสลักถูกชะล้างออก หลังจากผ่านไป 20 นาที มันจะหลุดออกมาเองและไม่จำเป็นต้องถูอะไรเลย...

และนี่คือ "วงกบ" ของฉัน:


แม้ว่าจะไม่สำคัญ แต่ถึงกระนั้น ความประมาทก็ยังถูกตำหนิสำหรับทุกสิ่ง ไม่ได้สังเกตเห็นฟองอากาศภายใต้เครื่องฉายแสงหรือร้อนเกินไป...

ฉันได้รับบอร์ดต่อไปนี้ "สะอาด":


14. ต่อไป เจาะรูและดีบุกบอร์ด:


15. ประสานชิ้นส่วนทั้งหมดและล้างฟลักซ์ส่วนเกินออก:


บัดกรีส่วนประกอบ SMD จากอินฟราเรดของจีน สถานีบัดกรีสะดวกมาก:

เพียงเท่านี้ ส่วนที่ยากที่สุดก็จบลงแล้ว เหลือเพียงการเรียกเสียงกริ่งตามเส้นทาง ไฟฟ้าลัดวงจรและเริ่มเขียนโปรแกรมชิป

การเขียนโปรแกรม atmega644

1. ในการเริ่มการเขียนโปรแกรม คุณต้องโหลด bootloader ลงไป ซึ่งก็ทำได้ไม่ยากด้วย โดยใช้อาดูโน่ UNO แต่ก่อนอื่นคุณต้องดาวน์โหลดและติดตั้งโปรแกรมก่อน
2. ขั้นตอนต่อไปค่ะ โปรแกรมที่ติดตั้งเพิ่มหรือประกอบชุดสำเร็จรูปทันที:
3. กรอก ภาพสเก็ตช์ของยูโน่ ArduinoISP:

4. และเชื่อมต่อบอร์ดของเรากับ UNO:


ตามคำแนะนำร่าง:
// ชื่อพิน // รีเซ็ตทาส: 10: // MOSI: 11: // MISO: 12: // SCK: 13:
ปรากฎตามโครงการของฉันดังนี้:

5. จากนั้นติดตั้งบอร์ดของเราในการตั้งค่าและโหลด bootloader:




หากทุกอย่างเป็นไปด้วยดี เราจะเห็นข้อความ: “การบันทึก Bootloader เสร็จสมบูรณ์”
ณ จุดนี้ การโหลด bootloader"a เสร็จสิ้น คุณสามารถเชื่อมต่อจอแสดงผล ปุ่ม เซ็นเซอร์อุณหภูมิ และการเติมได้

ในปี 2014 ฉันเจอวิดีโอชายคนหนึ่งกำลังผลิตเบียร์จากสาโทเบียร์เข้มข้น ตื่นเต้นกับไอเดียการต้มเบียร์แล้วก็เริ่ม...
การต้มเบียร์จากอาหารกระป๋องทำให้ฉันไม่น่าสนใจหลังจากครั้งที่ 2 และฉันจึงตัดสินใจเปลี่ยนมาใช้ธัญพืชไม่ขัดสี เมื่อฉันต้มเบียร์ด้วยแก๊สและตระหนักว่านี่ไม่ใช่วิธีการของฉัน ฉันตัดสินใจที่จะทำให้มันเป็นอัตโนมัติ ตอนเย็นเริ่มน่าสนใจยิ่งขึ้น ฉันมีส่วนร่วมในการเขียนโปรแกรมมากจนฉันเขียนโค้ดจนถึงตี 2-3 จำเป็นต้องมีการทดสอบ เงื่อนไขที่แท้จริง- ในถังขยะฉันขุดหม้อต้มน้ำและกระจกที่ตัดแล้ว

และนี่คือสิ่งที่ฉันได้ลงเอยด้วย

ตอนนี้ฉันจะบอกคุณถึงวิธีสร้างระบบอัตโนมัติดังกล่าว
ในการเริ่มต้น เราจะต้องมีรายละเอียดดังต่อไปนี้ ฉันซื้อมันในประเทศจีน
ssd1289 หรือ ili9341
โซลิดสเตตรีเลย์สำหรับควบคุมองค์ประกอบความร้อน (หรือแผนภาพวงจร)
โซลิดสเตตรีเลย์สำหรับควบคุมปั๊ม (สำหรับเปิดปั๊ม กระแสสลับ) หรือ (ดีซี)
เซ็นเซอร์ความร้อนหรือหรือ
แหล่งจ่ายไฟ 7.5-9V 1A. ตัวอย่างเช่น
ขั้วต่อสำหรับเชื่อมต่อเซ็นเซอร์อุณหภูมิและปั๊มและ
(มากกว่า )
(ออด)
ตัวต้านทาน 4.7 โอห์ม

วงจรไฟฟ้าแรงต่ำ

วงจรไฟฟ้า. ระวัง. หากคุณไม่แน่ใจให้ไว้วางใจผู้เชี่ยวชาญ

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

(คำแนะนำภายใน)

แต่ ฟังก์ชั่นพื้นฐานฉันมีไม่เพียงพอ และฉันตัดสินใจเปิด wifi ฉันซื้อโมดูล ESP8266 จาก Aliexpress ขณะเดียวกันฉันก็สั่งโมดูลเพราะว่า... พวกจากฟอรัมขอให้นำไปใช้ในโครงการจริงๆ (คุณสามารถทำได้โดยไม่ต้องใช้มัน) และต่อตามแผนภาพต่อไปนี้

สำหรับอาหาร โมดูลไวไฟเราต้องการแหล่งจ่ายไฟ 5V Arduino ใช้ไม่ได้ คุณสามารถใช้แหล่งจ่ายไฟแยกต่างหากหรือแปลง 9V เป็น 5V ในการทำเช่นนี้คุณสามารถประกอบวงจรง่าย ๆ พร้อมตัวปรับแรงดันไฟฟ้าหรือซื้อวงจรสำเร็จรูปจากจีน ตัวอย่างเช่น (มีตัวเลือกอื่นอีกมากมาย)

ขั้นตอนต่อไปคือการแฟลชเฟิร์มแวร์ของโมดูลของเรา เฟิร์มแวร์ NodeMCU- ดาวน์โหลด เปิดตัวกันเลย คลิกเริ่มและรอให้เฟิร์มแวร์ทำการอัพโหลดเสร็จสิ้น คุณถาม? นั่นเยี่ยมมาก ตอนนี้เราโหลดสคริปต์ สำหรับสิ่งนี้เราต้องการ แน่นอนว่ายังมีโปรแกรมอื่นๆ เช่น . แต่ฉันไม่สามารถทำให้พวกเขาทำงานกับโมดูลของฉันได้ ใน ESPlorer เราสร้าง ไฟล์ใหม่ init.lua โดยมีเนื้อหาดังต่อไปนี้:

การเปลี่ยนชื่อ เครือข่ายไร้สายและรหัสผ่านสำหรับคุณ ตั้งความเร็วเป็น 9600 กดปุ่ม “เปิด” (หากเชื่อมต่อไม่ได้ให้กด ปุ่มรีเซ็ตบนโมดูล) และคลิก “บันทึกไปยัง ESP” หลังจากดาวน์โหลดสคริปต์แล้ว โมดูลควรเชื่อมต่อกับเราเตอร์ของคุณ คุณสามารถตรวจสอบได้โดยเข้าสู่ระบบเราเตอร์แล้วค้นหา ลูกค้า DHCP- หากมองไม่เห็นโมดูลของคุณ แสดงว่ามีสิ่งผิดปกติเกิดขึ้น

เว็บอินเตอร์เฟสประกอบด้วยฟังก์ชันดังต่อไปนี้
1. การตรวจสอบกระบวนการ คุณสามารถตรวจสอบอุณหภูมิ สถานะของปั๊ม การบด และการชงได้ เว็บอินเตอร์เฟสมีเสียงเตือน
2. โหลดสูตรอาหารลงในหน่วยความจำของคอนโทรลเลอร์และลงในแฟลชไดรฟ์
3. การสร้างกราฟทั่วโลกของกระบวนการทำอาหารทั้งหมด






เข้าสู่ระบบเว็บอินเตอร์เฟส

ฉันเป็นนักศึกษาในมหาวิทยาลัยเทคนิค วันหนึ่ง นั่งอยู่ในร้านกาแฟกับเพื่อนคนหนึ่งที่กำลังเรียนอยู่ที่มหาวิทยาลัยแพทย์ พวกเขาตัดสินใจเปิดบาร์แห่งหนึ่ง มีแนวคิดมากมายที่โดยหลักการแล้วสมควรได้รับความสนใจ ตัวอย่างเช่น ฟลอร์เต้นรำที่เปลี่ยนมุมเอียงตามสไตล์ดนตรี... แต่นอกเหนือจากไอเดียที่หลากหลายแล้ว ยังมีอีกอย่างหนึ่ง -

…เราไม่ควรต้มเบียร์เองเหรอ?

สองสามสัปดาห์ต่อมา ฉันต้มเบียร์โดยใช้ส่วนผสมจากโรงเบียร์ที่เพื่อนของพ่อฉันทำงานอยู่ แต่หลายๆคน กระบวนการทางเทคโนโลยีถูกละเมิดดังนั้นแทนที่จะใช้เบียร์กลับมีบางสิ่งที่มีกลิ่นไม่น่าพึงพอใจออกมา

ไม่กี่ปีต่อมา ฉันตัดสินใจทำกระบวนการนี้ซ้ำ โดยทำให้เป็นอัตโนมัติเล็กน้อยโดยใช้ Arduino UNO และนี่คือสิ่งที่เกิดขึ้น

เริ่มจากสิ่งที่การตั้งค่าทั้งหมดควรทำ

  • ตรวจสอบตัวเอง - ทุกอย่างใช้งานได้ทุกอย่างเชื่อมต่อกันหรือไม่
  • ทำความสะอาดตัวเอง
  • เตรียมกระบวนการผลิตเบียร์
  • ชงเบียร์บนพื้น โหมดอัตโนมัติ;
  • ชงเบียร์ด้วยตนเอง
  • ชงเบียร์อัตโนมัติ (เช่น เครื่องซักผ้าซักเสื้อผ้า)

จุดแรกเข้า. ในขณะนี้ไม่ได้ดำเนินการ จนถึงตอนนี้ฉันยังไม่มีความคิดใดๆ เลยว่าจะนำไปใช้อย่างไร
อันที่สองยังไม่ได้นำไปใช้ แต่ฉันจะทำให้เสร็จในอนาคตอันใกล้นี้ ฉันจะรอปั๊มจาก ebay ที่จะส่งมอบ
ประเด็นที่สามนั้นค่อนข้างง่าย

การเตรียมการสำหรับกระบวนการผลิตเบียร์

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

อยากให้มีการเช็คว่ามีน้ำแต่เซ็นเซอร์ยังรอส่งจาก “พี่น้องจีน” อยู่

การต้มเบียร์ในโหมดกึ่งอัตโนมัติ

โดยหลักการแล้ว มีขั้นตอนง่ายๆ ดังนี้

คลิกที่ โปรแกรมควบคุมปุ่ม "อุ่นเครื่อง" ปุ่มควบคุมอื่นๆ ไม่ทำงาน
- หลังจากอุ่นเครื่องแล้ว โปรแกรมจะแสดงข้อความ “ทุกอย่างพร้อม คุณปรุงได้เลย”
- เพิ่มส่วนผสม เลือกโปรแกรมการต้มเบียร์ - ปุ่ม "การต้มเบียร์" จะเปิดใช้งาน
- กดปุ่ม “Brewing Beer” กระบวนการได้เริ่มต้นขึ้นแล้ว
- ต่อไประบบจะแจ้งเตือนเป็นระยะๆ ข้อความข้อมูลจะทำอย่างไรและเมื่อไหร่

คุณต้องปฏิบัติตามคำแนะนำ

การต้มเบียร์ด้วยตนเอง

กระบวนการนี้ทำให้คุณสามารถตั้งค่าพารามิเตอร์การทำอาหารและเปลี่ยนแปลงในระหว่างรอบการปรุงอาหารได้ ยังไม่เข้าเรื่องเลย

ปรุงอาหารอัตโนมัติ

นี่คือความฝัน ขณะนี้ไม่มีองค์ประกอบที่จะนำไปใช้ มีปั๊มและเซ็นเซอร์ระดับน้ำไม่เพียงพอ ฉันไม่รู้วิธีวัดความหนาแน่นของสาโท ปริมาณแอลกอฮอล์ในเบียร์หนุ่ม และอื่นๆ อีกมากมาย แต่ฉันไม่หมดหวังและจะค่อยๆ อัตโนมัติ จนกระทั่งการต้มเบียร์มีลักษณะดังนี้:

ฉันโยนส่วนผสมลงในถาดที่เหมาะสม กดปุ่ม และ... หลังจากผ่านไปหนึ่งเดือนครึ่ง ฉันก็ได้รับเบียร์ที่เสร็จแล้ว

นี่เป็นภาพรวมคร่าวๆ ของกระบวนการ ตอนนี้เรามาดูด้านเทคนิคกันดีกว่า

ด้านเทคนิคของกระบวนการ

ตามที่ระบุไว้ข้างต้นไมโครคอนโทรลเลอร์ควบคุมคือ อาร์ดิโน UNO- มีรีเลย์ 2 ตัวเชื่อมต่ออยู่ 2
เทอร์โมมิเตอร์ดิจิตอล DS18B20.

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

นี่คือข้อความของโปรแกรมบน Arduino

#รวม OneWire ดีเอส(8); // เซ็นเซอร์อุณหภูมิอยู่ที่พิน 8 int reley1 = 13; อินท์รีเลย์2 = 12; อินท์รีเลย์3 = 11; int reley4 = 10; อินท์รีเลย์5 = 7; //เปิดใช้งานสิบ int reley6 = 6; // ความร้อนบนถังบดลอย temp1; ลอย temp2; การตั้งค่าเป็นโมฆะ (เป็นโมฆะ) ( Serial.begin (9600); pinMode (reley1, OUTPUT); pinMode (reley2, OUTPUT); pinMode (reley3, OUTPUT); pinMode (reley4, OUTPUT); pinMode (reley5, OUTPUT); pinMode ( reley6,OUTPUT); digitalWrite(reley2,LOW); digitalWrite(reley4,LOW); digitalWrite(reley6,LOW); (โมฆะ) ( ถ้า (Serial.available()) ( สวิตช์ (Serial.read())( กรณี " i": infuz(); แตก; กรณี "p": progrev(); แตก; กรณี "a": avariya (); แตก; กรณี "v": varka(); แตก; กรณี "t": แตก; ) ) ถือเป็นโมฆะ varka() ( digitalWrite(reley6, HIGH); while(Serial.read()! ="m") ( temperature(); if (temp1 >= 52.00) digitalWrite(reley6,LOW); else digitalWrite(reley6, สูง); ) while(Serial.read()!="n") ( //digitalWrite (reley6,HIGH); if(temp1>= 62.00) digitalWrite(reley6,LOW); else digitalWrite(reley6,HIGH); ในขณะที่ (Serial.read()!="b") ( //digitalWrite (reley6,HIGH); อุณหภูมิ(); if(temp1 >= 75.00) digitalWrite(reley6,LOW);<=69.50) digitalWrite(reley5,HIGH); else digitalWrite(reley5,LOW); } digitalWrite(reley5,LOW); } void progrev() { while (temp1 <=36.00) temperature(); digitalWrite(reley6,HIGH); digitalWrite(reley6,LOW); //while (temperature() >40.0) //ล่าช้า(1,000);< 9; i++) { // we need 9 bytes data[i] = ds.read(); } int16_t raw = (data << 8) | data; byte cfg = (data & 0x60); if (cfg == 0x00) raw = raw & ~7; // 9 bit resolution, 93.75 ms else if (cfg == 0x20) raw = raw & ~3; // 10 bit res, 187.5 ms else if (cfg == 0x40) raw = raw & ~1; // 11 bit res, 375 ms celsius = (float)raw / 16.0; for(i = 0; i<8; i++) { if (addr[i] == zator[i]) gde = true; else { gde = false; break; } } if (gde) { Serial.print("t2 "); //temperatura варочника temp2 = celsius; Serial.print(temp2); Serial.println(); } else { Serial.print("t1 "); //температура затора temp2 = celsius; Serial.print(temp1); } }

Serial.println("s"); ) อุบัติเหตุเป็นโมฆะ())( digitalWrite(reley1,LOW); digitalWrite(reley2,LOW); digitalWrite(reley3,LOW); digitalWrite(reley4,LOW); digitalWrite(reley5,LOW); ) อุณหภูมิเป็นโมฆะ() ( ไบต์ i ; ไบต์ปัจจุบัน = 0; ไบต์ addr; zator ไบต์ = (40, 255, 240, 115) , 59, 4, 0, 234); // ที่อยู่ของเซ็นเซอร์อุณหภูมิในถังต้มเบียร์ลอยเซลเซียส; // float temp; if (!ds.search(addr)) ( //Serial.println("No more address "); //Serial.println(); ds.reset_search(); ล่าช้า (250); // return; ) ถ้า (OneWire::crc8(addr, 7) != addr) ( Serial.println("CRC ไม่ถูกต้อง!"); // return; ) ds.reset(); ds.select(addr); ds.write(0x44, 1); // เริ่มการแปลงโดยเปิดเครื่องปรสิตเมื่อสิ้นสุดการหน่วงเวลา (840) ; // อาจจะ 750ms ก็เพียงพอแล้ว // เราอาจทำ ds.depower() ที่นี่ แต่การรีเซ็ตจะดูแลมัน ปัจจุบัน = ds.reset(); (0xBE); ฉัน = 0; ฉัน

ทุกอย่างจะเรียบร้อยดี แต่ด้วยเหตุผลบางประการ เซ็นเซอร์ตัวที่สามจึงแสดงมุม 85 องศาอยู่ตลอดเวลา ฉันยังบอกไม่ได้ว่าทำไม และจำเป็นสำหรับระบบอัตโนมัติเพิ่มเติม - รักษาอุณหภูมิในตู้เย็น

ฉันจะอธิบายสั้น ๆ ว่าโปรแกรมทำอะไร

โปรแกรมแบ่งออกเป็นรูทีนย่อย ซึ่งแต่ละรูทีนจะถูกเปิดใช้งานหากมีสัญลักษณ์บางตัวปรากฏบนพอร์ต com ตัวอย่างเช่น หากตัวอักษร "p" เข้าสู่พอร์ต โหมด "อุ่นเครื่อง" จะถูกเปิดใช้งาน หรือหากเป็น “a” แสดงว่ารูทีนย่อย avariya() จะถูกเรียกและทุกอย่างจะถูกปิด เมื่อเรียกรูทีนย่อย temperature() ข้อมูลจะถูกเขียนไปยังตัวแปรโกลบอล temp1, temp2 จากนั้นจะเข้าสู่รูทีนย่อยที่จำเป็น

ในอนาคตจะมีขั้นตอนย่อยสำหรับการผลิตเบียร์หลากหลายชนิดและแม้กระทั่งแสงจันทร์

ตอนนี้เกี่ยวกับโปรแกรมควบคุมหลัก

โปรแกรมควบคุมหลัก

มันถูกเขียนใน Visual Studio c#

รหัสที่มาของโปรแกรม:

ใช้ระบบ; ใช้ System.Collections.Generic; โดยใช้ System.ComponentModel; ใช้ System.Data; โดยใช้ระบบการวาดภาพ; ใช้ System.Linq; ใช้ System.Text; ใช้ System.Threading.Tasks; โดยใช้ System.Windows.Forms; ใช้ System.IO.Ports; เนมสเปซ WindowsFormsApplication1 (คลาสสาธารณะบางส่วน Form1: ฟอร์ม ( // String portnumber; SerialPort Port1 = new SerialPort("COM5", 9600); int s=0; public Form1() ( InitializeComponent(); ) /*private const int CP_NOCLOSE_BUTTON = 0x200; แทนที่การป้องกัน CreateParams CreateParams ( get ( CreateParams myCp = base.CreateParams; myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; return myCp; ) )*/ โมฆะส่วนตัว Form1_Load (ผู้ส่งวัตถุ, EventArgs e) ( label2.Text = Port1. PortName; Port1.Open(); ) // ตรวจสอบอุปกรณ์ private void button1_Click(object sender, EventArgs e) ( if (Port1.IsOpen == false) ( ลอง ( // สามารถแก้ไขข้อมูลโปรแกรมได้จาก podrugomu.com/node /987 Port1.PortName = label2.Text; Port1.Write("ตรวจสอบ"); //SerialPort Port2 = new SerialPort("COM4", 9600); //Port2.Open(); ReadByte()); //ตรวจสอบพอร์ตที่อ่าน MessageBox.Show("กระบวนการตรวจสอบฮาร์ดแวร์เริ่มต้นแล้ว", "ข้อความข้อมูล"); ชื่อพอร์ต = label2.Text; ข้อความ; //Port1.Open(); คุณสามารถเพิ่มมอลต์และเปิดโหมดการบดได้"); richTextBox1.Text = richTextBox1.Text + "\n" + "สิ้นสุดกระบวนการเตรียมการบด Т=37 องศา" + " " + DateTime.Now.ToString("HH:mm"); button2.Enabled = true; ) ) โมฆะส่วนตัว EmergencyDisableToolStripMenuItem_Click(ผู้ส่งวัตถุ EventArgs e) ( Port1.WriteLine("a"); MessageBox.Show("ผู้ใช้ปิดระบบทั้งหมด"); ส่วนตัว void mash kettleToolStripMenuItem_Click(ผู้ส่งวัตถุ, EventArgs e) ( Port1.WriteLine("k"); MessageBox.Show("เปิดใช้งานโหมดเดือดของ Mash tun แล้ว รอ 60 นาที") ; richTextBox1.Text = richTextBox1.Text + "\n" + "โหมดเดือดของ Mash Tun เปิดอยู่ รอ 60 นาที" + " " + DateTime.Now.ToString("HH:mm" ) private void timer3_Tick (ผู้ส่งวัตถุ EventArgs e) ( string s1 = ""; Port1.ReadLine(); if (s1.Substring(0, 2) == "t1") label5.Text = s1.Substring(4, 5); if (s1.Substring (0, 2) == "t2") label9.Text = s1.Substring(4, 5); s++; if (s == 900) ( Port1.WriteLine("m"); MessageBox.Show ("เขียนสเตจที่ 62 องศา"); richTextBox1.Text = richTextBox1.Text + "\n" + "แมชสเตจที่ 62 องศา" + " " + DateTime.Now.ToString("HH:mm");

ซอร์สโค้ดโปรแกรม

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

โดยรวมแล้วโปรแกรมสามารถ
- เตรียมอุปกรณ์ในการทำอาหาร
- ทำอาหาร;
- เขียนบันทึกการทำงานอย่างง่าย (มีประโยชน์มากสำหรับการวิเคราะห์การผลิตเบียร์เพิ่มเติม)
ต้มเบียร์และบดถัง

เมื่อปั๊มและโซลินอยด์วาล์วมาถึง ฉันจะทำให้มันทำงานอัตโนมัติต่อไป ระหว่างนี้ผมจะเพิ่มโปรแกรมทำอาหาร 1 รายการทุกวันอาทิตย์ โดยจะมีทั้งหมด 5 โปรแกรม การใช้งานโหมดแมนนวลกำลังรอถึงคราวเช่นกัน
อย่างที่พวกเขาพูดกันว่า

ที่จะดำเนินต่อไป...

อัปเดต:

นี่คือรูปถ่ายบางส่วนของโรงเบียร์

นี่คือเครื่องย่อย ฉันมีสองสิ่งนี้ มีการติดตั้งเซ็นเซอร์อุณหภูมิ DS18B20 ในกรอบปิดผนึกที่ด้านข้าง
เป็นเวลานานที่ฉันไม่สามารถเข้าใจได้ว่าทำไม Arduino ถึงค้างเป็นระยะ ๆ จนกระทั่งฉันตระหนักว่าทุกอย่างจำเป็นต้องต่อสายดินไม่เช่นนั้นมันจะทะลุเข้าไปในตัวเรือนจากนั้นก็ไปที่ตัวเรือนเซ็นเซอร์และไปยัง Arduino

ท่อทองแดงด้านในใช้สำหรับกรองสาโท สามารถทำให้สวยขึ้นได้ แต่ควรใช้ก้นปลอมจะดีกว่า น่าเสียดายที่ชาวจีนไม่รีบร้อนที่จะส่งไป

ยังเร็วเกินไปที่จะพูดถึงผลลัพธ์ นี่คือสิ่งที่เกิดขึ้น

หน้าตาถังโดยรวมจะเป็นแบบนี้ครับ

ใช้ขั้วต่อปกติ
สำหรับต่อเซนเซอร์วัดอุณหภูมิโดยต่อแบบปลั๊กคู่ การล้างอุปกรณ์จะสะดวกกว่า ฉันปิดเครื่องแล้วพาไปห้องน้ำ ฉันล้างมัน เชื่อมต่อแล้วทุกอย่างทำงานได้

ทุกอย่างเกิดฟองตามกำหนดเวลา ไม่มีการรั่วไหลส่วนเกิน และแผนเร่งด่วนของฉันคือการระบายเบียร์หนึ่งชุดเพื่อหมักต่อไปและต้มอีกอันหนึ่ง โดยหลักการแล้วสามารถดูสูตรได้ในโค้ดในรูทีนย่อย varka() ของ arduino

ในที่สุดโซลินอยด์วาล์วก็มาถึงแล้ว กระบวนการอัตโนมัติดำเนินต่อไป

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

อย่างไรก็ตาม ระบบอัตโนมัติไม่เพียงแต่ช่วยในการผลิตเท่านั้น แต่ยังมีประโยชน์สำหรับคนทั่วไปอีกด้วย ตัวอย่างเช่น ระบบอัตโนมัติสำหรับโรงเบียร์ที่ใช้ Arduino ช่วยลดความซับซ้อนของกระบวนการผลิตผลิตภัณฑ์ได้อย่างมาก เรามาดูกันว่าระบบอัตโนมัติสำหรับการแก้ไขบน Arduino และสิ่งอื่นๆ สามารถช่วยได้อย่างไร และดูตัวอย่าง

ข้อได้เปรียบหลักของระบบอัตโนมัติที่ใช้ไมโครคอนโทรลเลอร์ Arduino

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

  1. อุปสรรคในการเข้าต่ำ ไม่จำเป็นต้องได้รับการศึกษาจากวิศวกร แค่ดูวิดีโอการฝึกอบรมสองสามรายการและมีพื้นฐานในการเขียนโปรแกรมก็เพียงพอแล้ว
  2. ห้องสมุดที่เตรียมไว้จำนวนมาก Arduino ถูกใช้ทั่วทั้ง CIS โดยผู้ที่ชื่นชอบหุ่นยนต์จำนวนมาก จนถึงจุดที่การผลิตอุปกรณ์อิเล็กทรอนิกส์ต่างๆ กลายเป็นงานอดิเรกของพวกเขา ดังนั้นชุมชนผู้ใช้ออนไลน์จึงมีความกระตือรือร้นอย่างมาก โพสต์ช่องว่างจำนวนมาก และพร้อมที่จะช่วยคุณแก้ไขปัญหาต่างๆ คุณภาพของไลบรารีต้องทนทุกข์ทรมานเนื่องจากมีเกณฑ์การเข้าต่ำ แต่ไม่มีใครห้ามไม่ให้คุณสร้างไลบรารีของคุณเอง การศึกษาความหมายของภาษา C ++ หรือใช้ตัวแปลสำเร็จรูปก็เพียงพอแล้ว
  3. อุปกรณ์ต่อพ่วงจำนวนมาก ไม่สำคัญว่าคุณต้องการระบบเรือนกระจกอัตโนมัติที่ใช้ Arduino หรือเซ็นเซอร์วัดแสง คุณจะพบโมดูลต่างๆ รวมถึงเซ็นเซอร์เสียงและเครื่องจดจำเสียง ใช่บอร์ดบางตัวใช้เงินจำนวนมาก แต่คุณสามารถหาอะนาล็อกราคาถูกได้เสมอเช่นโมดูล esp8269 wi-fi จากผู้ผลิตบุคคลที่สามซึ่งมีราคาน้อยกว่าอย่างเป็นทางการ 10 เท่า
  4. ข้อมูลมากมาย ปัญหาใดๆ ที่คุณกำลังเผชิญอยู่นั้นมีคนอื่นพบเจอแล้ว และคุณอาจพบวิธีแก้ไขบน Google นอกจากนี้ยังมีวรรณกรรมฉบับสมบูรณ์ที่คุณสามารถปรึกษาได้

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

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

ตัวอย่างกระบวนการอัตโนมัติที่ใช้ไมโครคอนโทรลเลอร์ Arduino

ตัวอย่างที่ง่ายที่สุดของกระบวนการอัตโนมัติอาจเป็นเรือนกระจกโดยใช้ Arduino ในการสร้างระบบใด ๆ จะต้องกำหนดงานที่ต้องทำอย่างชัดเจน หากใช้เรือนกระจกเป็นตัวอย่าง ก็จะเป็น:

  1. การสร้างบรรยากาศพิเศษ
  2. การเปิดและปิดไฟได้ทันเวลา
  3. รดน้ำต้นไม้ทันเวลาและรักษาความชื้นในอากาศให้อยู่ในระดับเดียวกัน

จากงานเหล่านี้ คุณสามารถสังเกตได้ทันทีว่าคุณจะต้องซื้ออะไรสำหรับกระดานหลัก:

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

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

การเขียนโปรแกรมไมโครคอนโทรลเลอร์ Arduino สำหรับกระบวนการอัตโนมัติ ตัวอย่าง

เช่นเดียวกับในประเด็นก่อนหน้า สำหรับการเขียนโปรแกรม สิ่งสำคัญคือต้องแบ่งงานออกเป็นจุดย่อยแยกกันและดำเนินการตามลำดับ การเขียนโปรแกรม Arduino เกิดขึ้นได้ด้วยคำสั่งในอินเทอร์เฟซ AT และ AT+ โดยใช้ไลบรารีที่เตรียมไว้ ดังนั้น สคริปต์ทั้งหมดจึงเขียนในสภาพแวดล้อมพิเศษในภาษา C++ และก่อนที่จะดำเนินการใดๆ ให้อุทิศเวลาให้กับการศึกษาความหมายของสคริปต์นั้น นอกเหนือจากการใช้งานฟังก์ชันง่ายๆ แล้ว ระบบยังสามารถจัดเก็บสคริปต์ในหน่วยความจำแฟลชได้ ซึ่งเป็นสิ่งที่เราต้องการในตัวอย่างนี้

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