Мазмуну:
Video: Arduino Dueга 24LC256 EEPROM кошуу: 3 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Arduino улам бир eeprom жок. Бул көрсөтмө бири кошумчалайт жана баалуулуктарды arduino камтылган жаңыртуусунан аман кала турган эстутумда сактоого мүмкүндүк берет.
1 -кадам: Breadboarding
Бул жерде абдан жакшы көрсөтмөлөр бар: https://www.hobbytronics.co.uk/arduino-external-eeprom Мен аларды ээрчип жөнөдүм. 1ден 4кө чейин жана 7 пинге жерге туташтырылган. пин 8 тийиштүү борттогу 3.3V камсыздоого туташкан. i2c SDA (маалымат) жана SCL (саат) казыктарына туташкан сары (пин 6) жана ак (пин 5) зымдары тиешелүү тактада (21 жана 20 номурлуу)).
2 -кадам: Код убактысы
Мына мен эскиздеримде колдонгон коддун айрым үзүндүлөрү. Биринчиден, эскиздин чокусуна жакын жердеги Wire китепканасынын башын кошуңуз: / * Орнотууларды сактоо үчүн 24LC256 EEPROM колдонуңуз * / #include Андан кийин EEPROMдан байттарды окуу жана жазуу үчүн кээ бир функцияларды кошуңуз (мен жеке байттарды ойлоном, бирок чипте баракты жазуу өзгөчөлүгү да бар). 0x50 макро аныктамасы бар экенин белгилеңиз.. бул i2c автобусундагы чиптин дареги (i2c автобуста бир нече i2c нерсесин туташтырып, дарегин өзгөртүү аркылуу кайсынысы менен сүйлөшкүңүз келерин тандай аласыз). / * Бул эки функция 24LC256 EEPROM чипине жазууга жардам берет */ #define EEPROM_ADDR 0x50 боштук EEPROM_write (unsigned int addr, byte data) {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 write: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); кечигүү (5); } байт EEPROM_read (unsigned 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); if (Wire.available ()) data = Wire.read (); //Serial.print("EEPROM read: addr: "); //Serial.print(addr); //Serial.print (""); //Serial.println(data); кечигүү (5); маалыматтарды кайтаруу; } Эгер сиз кээ бир мүчүлүштүктөрдү оңдоону көргүңүз келсе, Serial.print (…) линияларын комментарийлей аласыз. Arduinos setup () функциясында сиз зым китепканасын баштайсыз жана баштапкы маанилерде окуй аласыз. Бул жерде мен эки байтта (желектер жана max_cc), эки сөздө (lean_min жана lean_max) жана sd_max сөздөрдүн массивинде [3] окудум: // EEPROM Wire.begin () де сакталган баалуулуктарды окуу; желектер = EEPROM_read (0); max_cc = EEPROM_read (1); lean_min = сөз (EEPROM_read (3), EEPROM_read (2)); lean_max = сөз (EEPROM_read (5), EEPROM_read (4)); үчүн (int j = 0; j <3; j) {sd_max [j] = сөз (EEPROM_read (7 j*2), EEPROM_read (6 j*2)); } Бул жерде аларды EEPROMга жазган кичинекей код: EEPROM_write (0, желектер); EEPROM_write (1, max_cc); EEPROM_write (2, lowByte (lean_min)); EEPROM_write (3, highByte (lean_min)); EEPROM_write (4, lowByte (lean_max)); EEPROM_write (5, highByte (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 -кадам: Wire It Up
Корпуска жана аткарылган иштерге буруш үчүн аны вербордго байлаңыз.
Сунушталууда:
Эски байланыш алуучуга санариптик дисплей кошуу: 6 кадам (сүрөттөр менен)
Эски Байланыш Алуучуга Санарип Дисплей кошуу: Эски байланыш жабдууларын колдонуунун кемчиликтеринин бири - аналогдук терүү өтө так эмес. Сиз дайыма алып жаткан жыштыкта болжоп жатасыз. AM же FM диапазондорунда бул көбүнчө көйгөй эмес, анткени сиз адатта
WiFi Hydroponics метрине ээриген кычкылтекти кантип кошуу керек: 6 кадам
WiFi Hydroponics Meterге ээриген кычкылтекти кантип кошуу керек: Бул окуу куралы EZO D.O схемасын жана зондун Atlas Scientificден WiFi Hydroponics Kitке кантип кошууну көрсөтөт. Колдонуучуда wifi гидропоника комплекси иштеп жатат жана азыр эриген кычкылтекти кошууга даяр деп болжолдонууда. ЭСКЕРТҮҮ: Atlas Sci
Raspberry Pi аркылуу Sonosко Aux кошуу: 26 кадам (сүрөттөр менен)
Raspberry Pi колдонуп Sonosко Aux кошуңуз: Мен Raspberry Piге дайыма кызыкчумун, бирок ушул убакка чейин эч качан чыныгы муктаждык болгон эмес. Биздин үйдө Sonosтун үч компоненти бар: конок бөлмөсүндө Play 5, уктоочу бөлмөдө Play 3 жана Sonos CONNECT: AMP биздин сырткы динамиктерди иштетет
Колдонуу Мониторун Үй Термостатына кошуу: 4 кадам
Колдонуу мониторун үйдүн термостатына кошуңуз: "Акылдуу" деген нерсе пайда болгонго чейин эле. термостат, менде үйдүн термостаты бар болчу, ал күнүмдүк (менин оюмча - балким жума сайын) " убагында " Менин жылытуу жана кондиционер тутумум үчүн. Баары өзгөрдү … Жашоо
Бреттин Arduino ASCD 18650 акылдуу кубаттоочу / разряддагы калыбына келтирүүнү кошуу: 3 кадам
Бреттин Arduino ASCD 18650 акылдуу кубаттоочу / разряддагы калыбына келтирүүнү кошуу: DIY TESLA powerwall коомчулугу тездик менен өсүүдө. Powerwall куруунун эң маанилүү кадамы - батарея кубаттуулуктарын бирдей жалпы кубаттуулуктагы пакеттерге топтоо. Бул батарея топтомдорун сериялык түрдө орнотууга жана оңой эле баланстоого мүмкүндүк берет