คุณเขียนในโปรแกรมสำหรับ Arduino บางสิ่งที่ชอบ:
lcd.print ("สวัสดีโลก!")
คณะกรรมการดำเนินการอย่างเชื่อฟังคำสั่งและข้อความที่ปรากฏบนจอแสดงผล แต่อุปกรณ์หนึ่ง“ พูด” บางสิ่งและที่สอง“ ได้ยิน” และ“ เข้าใจ” ได้อย่างไร นี่เหมือนกับการขอให้ศิลปินสร้างภาพเหมือนของคุณ แต่ไม่เห็นว่าเขาทำงานอย่างไร ผู้เขียนของ Instructsbles ภายใต้ชื่อเล่น Indoorgeek เกิดขึ้นพร้อมขาตั้งที่จะช่วยให้คุณรู้สึกในรองเท้าของ "Living Arduino" และควบคุม HD44780 ในระดับต่ำ ในการแข่งขันครั้งนี้ สินค้าทำที่บ้าน ได้รับรางวัลชนะเลิศ
ต้องการรายละเอียดเล็กน้อย: โมดูลใด ๆ (LCD, VLI หรือ PMOLED) บนตัวควบคุม HD44780 หรือเข้ากันได้กับสวิตช์สลับแปดปุ่มปุ่มแบบไม่ล็อคสลักสวิตช์เลื่อนตัวต้านทานตัวแปร 1 kΩบอร์ดที่มีช่องเสียบ Micro USB และตัวเรือน
จากสิ่งที่ไม่แสดงในภาพเราต้องการ: ตัวต้านทาน 10 kOhm และตัวเก็บประจุ 100 μFและอย่างน้อย 6.3 V
Indoorgeek ตัวเองเอาโมดูลประเภทที่พบมากที่สุด: LCD, 16 ตัวอักษรต่อบรรทัดสองบรรทัด แต่ส่วนที่เหลือของโมดูลมีหลักการควบคุมเดียวกันเพียง pinout อาจแตกต่างกันเล็กน้อยดังนั้นอย่าขี้เกียจเกินไปที่จะดูในแผ่นข้อมูล
ในทุกกรณีการเชื่อมต่อกับสายทั่วไปจะสอดคล้องกับศูนย์โลจิคัลและการเชื่อมต่อกับ +5 โวลต์พาวเวอร์บัสสอดคล้องกับความสามัคคี
หมุด 1 และ 2 ใช้สำหรับเปิดโมดูล ครั้งแรกของพวกเขาเชื่อมต่อกับสายสามัญและที่สองอยู่เสมอกับรถบัสพลังงาน
พิน 3 ใช้สำหรับปรับความคมชัด เมื่อแรงดันไฟฟ้า 0 ถึง 5 โวลต์ถูกนำไปใช้กับมันที่เกี่ยวข้องกับสายสามัญความคมชัดเปลี่ยนจากศูนย์ถึงสูงสุด
Pin 4 ช่วยให้คุณสามารถเลือกระหว่าง data register และ register register เราให้เหตุผลศูนย์ - การลงทะเบียนของคำแนะนำ (ในคำอื่น ๆ คำสั่ง) ถูกเลือกหน่วยคือการลงทะเบียนข้อมูล
ตัวอย่างเช่นคำแนะนำต่อไปนี้: เริ่มต้นตัวควบคุมล้างหน้าจอ ฯลฯ และข้อมูลรวมถึงสัญญาณที่คุณจะแสดงบนตัวบ่งชี้
คุณสามารถอ่านข้อมูลจากการลงทะเบียนบางส่วนได้ ในการทำเช่นนี้คุณต้องใช้ระดับสูงกับ 5 พินและจอแสดงผลจะเข้าสู่โหมดการส่งข้อมูลกลับไปยังไมโครคอนโทรลเลอร์ของคุณ ในการเริ่มเขียนข้อมูลจากไมโครคอนโทรลเลอร์ของคุณไปยังตัวควบคุมการแสดงผลอีกครั้งคุณจะต้องส่งระดับต่ำ 5 ถึงขา 5 บ่อยครั้งที่โหมดการอ่านนั้นไม่ได้ใช้เลยตัวอย่างเช่นในผลิตภัณฑ์โฮมเมดนี้
ตามพิน 7 ถึง 14 จอแสดงผลสามารถแลกเปลี่ยนคำสั่งและข้อมูลในรูปแบบ 8 บิต ระดับต่ำสุดสอดคล้องกับพิน 7 สูงสุด - 14
จำเป็นต้องใช้ Pin 6 สำหรับการเกตคุณกำลังตั้งค่าข้อมูลช้า ๆ บนหมุด 7 ถึง 14 แต่ในขณะที่ขา 6 เป็นศูนย์ตรรกะโมดูลจะไม่ตอบสนองต่อสิ่งนี้เลย จากนั้นโดยไม่เปลี่ยนสถานะของพิน 7 เป็น 14 คุณส่งพัลส์ระยะสั้นระดับสูงเป็นพิน 7 - และข้อมูลจะถูกส่ง
บทสรุป 15 และ 16 - โภชนาการของแสงไฟถ้ามี 15 - บวก, 16 - ลบ
กรณีนี้มีให้เลือกถึงขนาดเป็นขนาด 200x150x40 มม. กรณีนี้ถูกนำมาจากที่อื่นถอดประกอบที่บ้านและมีรูอยู่แล้ว อาจารย์ใช้พวกเขาในการออกแบบใหม่ให้มากที่สุดเพื่อที่จะทำได้น้อยที่สุด
เขาตั้งสวิตช์สลับแปดตัวสำหรับการเปลี่ยนสถานะของข้อมูลบัสบรรทัดคำสั่งสวิตช์สำหรับเลือกระหว่างรีจิสเตอร์ (ดูด้านบน) ปุ่มสำหรับ gating ตัวต้านทานตัวแปรสำหรับปรับความคมชัดอย่างต่อเนื่อง
บอร์ดยกระดับพร้อมแจ็ค Micro USB มีพินสะดวกที่ทำให้เชื่อมต่อโอกาสในการขายได้ง่าย ต้องการเพียงสองของพวกเขาที่นี่: +5 V และสายสามัญ หากคุณไม่มีบอร์ดดังกล่าวและช่องเสียบ Micro USB ที่บัดกรีจากที่ใดที่หนึ่งดูเหมือนจะไม่สะดวกสำหรับการบัดกรีคุณเพียงแค่เสียบสายที่มีขั้วต่อ USB ไม่ว่าในกรณีใดลองทำซ้ำหลังจากต้นแบบและประสานรูปแบบดังกล่าว:
รายชื่อผู้ติดต่อของสวิตช์สลับที่สอดคล้องกับตำแหน่งด้านบน indorgeek เชื่อมต่อเข้าด้วยกันและยื่นบวกกับพวกเขา เขาทำเช่นเดียวกันกับหน้าสัมผัสของสวิตช์สลับที่สอดคล้องกับตำแหน่งล่างเพียง แต่ให้ลบ เขาเชื่อมต่อรายชื่อผู้ติดต่อที่สามารถเคลื่อนย้ายของสวิตช์สลับไม่ได้กับแต่ละอื่น ๆ แต่ด้วยข้อสรุปของคำสั่งบัสข้อมูล / โมดูลตาม "น้ำหนัก" ของทั้งสองพวกเขา (D0 - ขา 7 - ต่ำลำดับ D7 - ขา 14 - สูง) หากอาจารย์ไม่ได้กัดตัวต้านทานแบบดึงขึ้นในวัยเด็กเขาจะสามารถใช้สวิตช์สลับที่ง่ายกว่าได้ - ไม่ใช่การสลับ แต่จะเปิดตามปกติ
แต่ตัวต้านทานเดียวกัน แต่ในวงจรการปราบปรามของการตีกลับที่ติดต่อเขาไม่เคยโกรธเคือง ที่นี่จำเป็นต้องใช้วงจรนี้เพื่อให้ตัวควบคุมการแสดงผลไม่ได้กดปุ่มแฟลชค้างไว้หลายครั้ง การควบคุมอื่น ๆ ไม่จำเป็นต้องมีการปราบปรามการพูดคุยเนื่องจากตราบใดที่ยังไม่ได้รับสัญญาณกะพริบแฟลชข้อมูลในบรรทัดที่เหลือสามารถเปลี่ยนแปลงได้หลายครั้งตามที่ต้องการ สิ่งสำคัญคือไม่ต้องสัมผัสสวิตช์สลับและสวิตช์ที่กดปุ่ม ดังนั้นด้วยตัวต้านทาน 10 kOhm อาจารย์จึงดึงหมุด 6 ไปที่สายสามัญและด้วยปุ่มไปยังบัสบัสบวก เนื่องจากความต้านทานของปุ่มนั้นต่ำกว่ามากเมื่อกดจึงเป็นการ“ ลาก” เมื่อปล่อยออกมาความต้านทานจะใกล้เคียงกับระยะอนันต์และตัวต้านทานจะ“ ดึง” มันแล้ว ตัวเก็บประจุ 100 ยูเอฟ (ไม่ได้แสดงในแผนภาพ) เชื่อมต่อด้วยเครื่องหมายบวกกับบัสบวกและลบด้วยตัวต้านทานและเอาต์พุตที่หกของจอแสดงผลยับยั้งการพูดคุย มันเป็นการดียิ่งกว่าแน่นอนที่จะปราบปรามการพูดคุยด้วยปุ่มสลับและ RS-trigger
ที่สวิตช์สไลด์เอาต์พุตของผู้ติดต่อคงที่จะเชื่อมต่อในลักษณะเดียวกับสวิตช์สลับและสวิตช์ที่เคลื่อนที่ได้หนึ่งไปยังเอาต์พุตของโมดูล 6 ที่นี่นักพัฒนาซอฟต์แวร์ได้แสดงความกลัวตัวต้านทานแบบดึงขึ้นอีกครั้ง สวิตช์นี้จำเป็นต้องเลือกระหว่างโหมดการส่งคำสั่ง (ศูนย์) และข้อมูล (หน่วย)
Indoorgeek เชื่อมต่อเอาต์พุตของตัวต้านทานผันแปรที่สอดคล้องกับความคมชัดต่ำสุดกับสายสามัญตรงกันข้ามกับบัสบวกและตรงกลาง (เครื่องยนต์) ไปยังเอาต์พุตที่สามของโมดูล
ข้อสรุป 1, 5 และ 16 (ตามลำดับ, ลบกำลังไฟ, เขียน / อ่านและลบแบ็คไลท์) ต้นแบบที่เชื่อมต่อกับสายทั่วไปดังนั้นโหมดการบันทึกจะถูกเลือกอย่างต่อเนื่อง สรุป 2 และ 15 (ตามลำดับรวมทั้งพลังงานและบวกแสงไฟ) เขาเชื่อมต่อกับรถบัสห้าโวลต์ ตัวต้านทาน จำกัด ปัจจุบันผ่านไฟ LED แบ็คไลท์รวมอยู่ในโมดูลจอแสดงผล
หากคุณได้รวบรวมสิ่งนี้ไว้ต่อหน้าคุณตอนนี้ - บางสิ่งเช่นนี้:
Indoorgeek แผงด้านหน้าออกแบบมาเพื่อให้คุณสามารถทำเช่นเดียวกัน:
คุณสามารถเรียนรู้คำสั่งควบคุม HD44780 และวิธีการควบคุมได้ แผ่นข้อมูล. นอกจากนี้คุณยังสามารถดูตัวอย่างสคริปต์สำเร็จรูปสำหรับ จำลอง. สำหรับผู้เริ่มต้นเราจะทำซ้ำขั้นตอนด้านหลัง Indoorgeek เพื่อแสดง HELLO!
เปิดอุปกรณ์ แสงไฟจะสว่างขึ้น ย้ายสวิตช์เลื่อนไปยังตำแหน่งที่สอดคล้องกับศูนย์โลจิคัลเพื่อให้ตัวบ่งชี้สลับไปยังโหมดของการรับคำสั่ง ตั้งค่าเลขฐานสอง 00001111 บนคำสั่ง / บัสข้อมูลด้วยสวิตช์สลับและกดปุ่มแฟลชในเวลาสั้น ๆ คำสั่งนี้หมายถึง: เปิดจอแสดงผลทำให้เคอร์เซอร์มองเห็นและกะพริบซึ่งจะเกิดขึ้น ในทำนองเดียวกันเราจะออกคำสั่ง 00110000 ซึ่งหมายความว่า: รับข้อมูลในรูปแบบ 8 บิตเลือกบรรทัดแรกและตัวอักษร 5 คูณ 8 พิกเซล มองเห็นได้ว่าจะไม่มีอะไรเกิดขึ้น แต่มีที่ไหนสักแห่งในตัวควบคุมการแสดงผลสวิตช์ที่จำเป็นจะเกิดขึ้น คุณสามารถถ่ายโอนข้อมูล เราแปลสวิตช์เลื่อนไปยังตำแหน่งที่สอดคล้องกับหน่วยโลจิคัลตอนนี้โมดูลตัวบ่งชี้พร้อมที่จะยอมรับ ตั้งรหัส ASCII ของตัวอักษร H เช่น 01001000 เพื่อสลับสวิตช์สลับบนบัสและกดปุ่มแฟลช ตัวอักษรที่เกี่ยวข้องจะปรากฏขึ้นบนหน้าจอและเคอร์เซอร์จะเลื่อนตำแหน่งหนึ่งไปทางขวา ในทำนองเดียวกันเราจะผ่านตัวอักษร E, L, L, O และเครื่องหมายอัศเจรีย์: 01000101, 01001100, 01001100, 01001111, 00100001 หากคุณทำสิ่งเดียวกันมันไม่สำคัญเลยบนแท่นที่คุณเพิ่งประกอบหรืออยู่ในอุปกรณ์จำลอง ! เช่นนี้
นี่คือวิธีที่คุณเข้าใจว่า Arduino ทำเพื่อแสดงตัวละครเพียงไม่กี่ตัว และมีทีมที่จะทำการกระทำที่ซับซ้อนมากขึ้นโดยมีความเชี่ยวชาญซึ่งคุณสามารถรับเอฟเฟกต์ที่น่าสนใจกำหนดตัวละครที่ไม่ได้มาตรฐาน ...
การเดินทางของคุณไปที่ "ครัว" ของห้องสมุด Arduino LiquidCrystal กำลังจะเริ่มขึ้นและปล่อยให้มันสนุก!