สารบัญ:
วีดีโอ: การเพิ่ม 24LC256 EEPROM ให้กับ Arduino Due: 3 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
Arduino เนื่องจากไม่มี eeprom คำแนะนำนี้เพิ่มหนึ่งรายการและช่วยให้คุณสามารถเก็บค่าในหน่วยความจำแบบไม่ลบเลือนที่จะคงอยู่จากการอัพเดตเฟิร์มแวร์ Arduino
ขั้นตอนที่ 1: เขียงหั่นขนม
มีคำแนะนำดีๆ อยู่บ้างที่นี่: https://www.hobbytronics.co.uk/arduino-external-eepromฉันเพิ่งทำตาม รูปภาพแสดงวงจรเขียงหั่นขนม พิน 1 ถึง 4 และพิน 7 ต่อสายดิน พิน 8 เชื่อมต่อกับแหล่งจ่ายไฟ 3.3V บนบอร์ด เนื่องจากสายสีเหลือง (พิน 6) และสีขาว (พิน 5) เชื่อมต่อกับพิน i2c SDA (ข้อมูล) และ SCL (นาฬิกา) บนบอร์ดกำหนดส่ง (หมายเลข 21 และ 20)).
ขั้นตอนที่ 2: รหัสเวลา
นี่คือตัวอย่างโค้ดบางส่วนที่ฉันใช้ในสเก็ตช์ ประการแรก รวมส่วนหัวของไลบรารี Wire ไว้ที่ใดที่หนึ่งใกล้กับด้านบนสุดของร่างของคุณ: /* ใช้ 24LC256 EEPROM เพื่อบันทึกการตั้งค่า */ #include จากนั้นเพิ่มฟังก์ชันบางอย่างเพื่ออ่านและเขียนไบต์จาก EEPROM (ฉันสนใจเฉพาะไบต์แต่ละรายการ แต่มี คุณสมบัติการเขียนหน้าในชิปด้วย) โปรดทราบว่ามีคำจำกัดความมาโคร 0x50.. นี่คือที่อยู่ของชิปบนบัส i2c (คุณสามารถเชื่อมต่อ i2c ได้มากกว่าหนึ่งรายการบนบัส i2c และเลือกรายการที่คุณต้องการคุยด้วยโดยเปลี่ยนที่อยู่) /* ฟังก์ชันทั้งสองนี้ช่วยให้เราเขียนไปยังชิป EEPROM 24LC256 */ #define EEPROM_ADDR 0x50 เป็นโมฆะ EEPROM_write (int addr ที่ไม่ได้ลงนาม ข้อมูลไบต์) { int rdata = data; Wire.beginTransmission (EEPROM_ADDR); Wire.write((int)(addr >> 8)); // MSB Wire.write((int)(addr & 0xFF)); // LSB Wire.write(rdata); Wire.endTransmission(); //Serial.print("EEPROM เขียน: addr: "); //Serial.print(addr); //Serial.print(" "); //Serial.println(ข้อมูล); ล่าช้า(5); } ไบต์ EEPROM_read (ไม่มีเครื่องหมาย int addr) { ข้อมูลไบต์ = 0xFF; Wire.beginTransmission (EEPROM_ADDR); Wire.write((int)(addr >> 8)); // MSB Wire.write((int)(addr & 0xFF)); // LSB Wire.endTransmission(); Wire.requestFrom(EEPROM_ADDR, 1); ถ้า (Wire.available()) data = Wire.read(); //Serial.print("EEPROM อ่าน: addr: "); //Serial.print(addr); //Serial.print(" "); //Serial.println(ข้อมูล); ล่าช้า(5); ส่งคืนข้อมูล; } คุณสามารถยกเลิกหมายเหตุบรรทัด Serial.print(…) หากคุณต้องการดูผลลัพธ์การดีบัก ในฟังก์ชั่นการตั้งค่า Arduinos () คุณเริ่มไลบรารีสายและสามารถอ่านค่าเริ่มต้นได้ ที่นี่ฉันอ่านในสองไบต์ (flags และ max_cc) สองคำ (lean_min และ lean_max) และอาร์เรย์ของคำ sd_max[3]: // อ่านค่าที่บันทึกไว้ใน EEPROM Wire.begin(); แฟล็ก=EEPROM_read(0); max_cc=EEPROM_read(1); lean_min=word(EEPROM_read(3), EEPROM_read(2)); lean_max=word(EEPROM_read(5), EEPROM_read(4)); สำหรับ(int j=0;j<3;j) { sd_max[j]=word(EEPROM_read(7 j*2), EEPROM_read(6 j*2)); } นี่คือโค้ดบางส่วนที่เขียนลงใน EEPROM: EEPROM_write(0, flags); EEPROM_write (1, max_cc); EEPROM_write(2, lowByte(lean_min)); EEPROM_write(3, ไบต์สูง(lean_min)); EEPROM_write (4, ไบต์ต่ำ (lean_max)); EEPROM_write (5, ไบต์สูง (lean_max)); สำหรับ(int j=0;j<3;j) { EEPROM_write(6 j*2, lowByte(sd_max[j])); EEPROM_write(7 j*2, highByte(sd_max[j])); } แค่นั้นจริงๆ
ขั้นตอนที่ 3: วางสาย
ต่อเข้ากับเวโรบอร์ดเพื่อขันสกรูเข้ากับตู้และงานที่ทำเสร็จแล้ว
แนะนำ:
การเพิ่ม CS Pin ให้กับ ST7789 1.3" IPS LCD: 5 ขั้นตอน
การเพิ่ม CS Pin ลงใน ST7789 1.3" IPS LCD: เมื่อเร็ว ๆ นี้ฉันพบหน้าจอ IPS TFT 1.3" ราคาประหยัด มีความละเอียดสูงมากที่ 240x240 พิกเซลและความหนาแน่นของพิกเซลสูงมากเนื่องจากมีขนาดเล็ก เป็นแผง IPS, IPS ย่อมาจาก InPlane Switching เป็นหน้าจอ LCD ระดับไฮเอนด์
การเพิ่ม Analog Milliamp สำหรับเครื่องตัดเลเซอร์ของคุณ: 8 ขั้นตอน (พร้อมรูปภาพ)
การเพิ่ม Analog Milliamp สำหรับเครื่องตัดเลเซอร์ของคุณ: เหมาะสำหรับทุกคนที่มี K40 หรือ K50 และเครื่องตัดเลเซอร์คุณภาพสูง และเบื่อที่จะเสียเงินไปกับ Tubes ที่ดูเหมือนจะตายเร็วกว่าที่ควรจะเป็น นี่ยังสำหรับผู้ชนะการแข่งขัน Epilog Laser Contest ฉันหวังว่านี่จะช่วยคุณในการเดินทางของคุณ
การเพิ่ม Microsoft Cortana ลงใน Raspberry Pi: 7 ขั้นตอน
การเพิ่ม Microsoft Cortana ให้กับ Raspberry Pi: ในคำแนะนำนี้ เราจะเพิ่มผู้ช่วย Microsoft Cortana ให้กับราสเบอร์รี่ pi 3 ฉันจะแนะนำวิธีตั้งค่า Cortana ของคุณและพูดคุยภายใน 30 นาที สิ่งที่คุณต้องการมีดังนี้: Raspberry Pi 3 https://www.amazon.com/
การเพิ่ม Motion Control ให้กับนาฬิกาฉายภาพ: 7 ขั้นตอน
การเพิ่ม Motion Control ให้กับนาฬิกาฉายภาพ: เป้าหมาย: เพิ่มเซ็นเซอร์ตรวจจับความเคลื่อนไหวที่ส่องสว่างนาฬิกาในเวลากลางคืนเมื่อตรวจจับการเคลื่อนไหว และทำให้ความสว่างของแบ็คไลท์ปรับได้ด้วยตนเอง เหตุผล: ฉันมีข้อกำหนดเพียงเล็กน้อยสำหรับนาฬิกาข้างเตียงที่ดี ต้องมองเห็นได้ง่ายแต่ไม่สว่าง
การเพิ่ม Bluetooth ภายใน (ish) ให้กับแล็ปท็อป: 4 ขั้นตอน
การเพิ่มบลูทู ธ ภายใน (ish) ให้กับแล็ปท็อป: การบรรจุบลูทู ธ ลงในแล็ปท็อปที่ไม่ได้ตั้งใจจะมีมันโดยไม่มีการบัดกรีที่น่ารำคาญ