Уроки Arduino. Работа с EEPROM памятью

  Рет қаралды 74,070

Заметки Ардуинщика

Заметки Ардуинщика

Күн бұрын

В этом уроке поговорим о EEPROM в Arduino - энергонезависимой памяти для хранения настроек и прочих данных.
► Текстовый урок EEPROM и примеры: alexgyver.ru/lessons/eeprom/
► Текстовый урок по типам данных: alexgyver.ru/lessons/variable...
► Видео урок по графическим меню на OLED: • Как написать меню для ...
► Независимый тест EEPROM: chipenable.ru/index.php/progr...
► Огромный стартовый набор GyverKIT: kit.alexgyver.ru/
► Уроки Arduino на сайте: alexgyver.ru/lessons/
► Модули и датчики с Али: alexgyver.ru/arduino_shop/
► Страница "Заметок Ардуинщика": alexgyver.ru/arduino_lessons/
★ Инструменты, приборы и материалы для пайки ★
- Удобные мультиметры: ali.ski/2nn13 ali.ski/fTDAW9
- Тестеры компонентов: ali.ski/ZFLC7Y ali.ski/Mb_7W
- Карманные осциллографы: ali.ski/JdkQw
- Паяльная станция HakkoT12: ali.ski/pEUz9I
- Паяльный фен 8858: ali.ski/3cSLjp ali.ski/OtB10-
- Коврик для пайки: ali.ski/gF7bWW
- Стриппер для проводов: ali.ski/RiVwcj ali.ski/Thu_i
- Оловоотсос: ali.ski/1MLjH ali.ski/1K-IS
- Куча дешевого припоя: ali.ski/ZGkkx ali.ski/S3h5V
- Шпильки для выпайки: ali.ski/WSv7wx
- Хороший флюс-гель: ali.ski/uFflw
00:00 - вступление
00:18 - EEPROM как тип памяти
01:08 - особенности работы с EEPROM
03:38 - адресация EEPROM
04:36 - библиотека EEPROM.h
05:45 - пример с светодиодом и ШИМ
06:34 - пример с OLED дисплеем
07:23 - оптимизация работы с EEPROM
08:05 - инициализация EEPROM
09:00 - снижение износа
09:52 - EEPROM в роли RAM
10:14 - эпилог
Теги: #arduino #уроки #ардуино #alexgyver
●●●●●●●●●●●●●●●●●●●●
► Основной канал: / alexgyvershow
► Поддержать автора alexgyver.ru/support_alex/
► Официальный сайт: alexgyver.ru/
► Почта: alex@alexgyver.ru

Пікірлер: 191
@MadGun1887
@MadGun1887 2 жыл бұрын
Поздравляем Ничикона с полноценным именным интро:D
@user-dv2bd9ch8k
@user-dv2bd9ch8k 2 жыл бұрын
Спасибо за ваши супер уроки!))
@saimondark
@saimondark 2 жыл бұрын
Спустя вечность, я дождался этот урок. Ура. Мало того, уроки стали с КОММЕНТАРИЯМИ, ого, канал растёт.
@Xiorcid
@Xiorcid 2 жыл бұрын
Отлично, теперь про PROGMEM
@GoodVrGames
@GoodVrGames 2 жыл бұрын
Пишешь PROGMEM в объявлении переменной и всё. Константа лежит в флеш памяти...
@user-vd5ty6sz2w
@user-vd5ty6sz2w Жыл бұрын
@@GoodVrGames а её значение можно менять?
@GoodVrGames
@GoodVrGames Жыл бұрын
@@user-vd5ty6sz2w PROGMEM используется только с константами.
@user-vd5ty6sz2w
@user-vd5ty6sz2w Жыл бұрын
@@GoodVrGames спасибо!
@user-uw1uo3fu4m
@user-uw1uo3fu4m 2 жыл бұрын
Замечательные ролики для легкого восприятия сложного контента, спасибо
@povorotnetuda2019
@povorotnetuda2019 2 жыл бұрын
После слов "надеюсь всё было понятно" обычно я смотрю этот отрывок еще раз. Пишу коды для бегущих поворотников для авто и показываю их работу вам.
@customsel3570
@customsel3570 2 жыл бұрын
Такая же фигня)))))
@user-vh6we5pv8l
@user-vh6we5pv8l 4 ай бұрын
Я с этого не чего не понял, а есть уроки програмирования для начинающих?
@povorotnetuda2019
@povorotnetuda2019 4 ай бұрын
@@user-vh6we5pv8l Так это и есть канал для начинающих. Посмотрите первые видео. Работа с памятью это уже более сложная тема.
@Zemchik
@Zemchik 2 жыл бұрын
Интересно, полезно и главное для меня очень своевременно, как раз собирался прикрутить к часам сохранение настроек.
@olexangrstetsiuk3092
@olexangrstetsiuk3092 2 жыл бұрын
Вот здесь можешь использовать пример кода для сохранения настроек kzfaq.info/get/bejne/l5-Sg9ly2LXRoJc.html
@Zemchik
@Zemchik 2 жыл бұрын
@@olexangrstetsiuk3092 Спасибо, посмотрю, поковыряю.
@UCrEdstktTsLwcJR6dk6sMXw2
@UCrEdstktTsLwcJR6dk6sMXw2 2 жыл бұрын
Полезно и достаточно подробно. Спасибо за труд.
@sanka2331
@sanka2331 2 жыл бұрын
Спасибо! Действительно полезный урок. Давно искал как работать с энергонезависимой памятью. Правда меня больше интересует ESP.
@ArduNotes
@ArduNotes 2 жыл бұрын
точно так же, только нужно вызвать begin(размер в байтах)
@od3417
@od3417 2 жыл бұрын
Спасибо!!
@megannnn98
@megannnn98 2 жыл бұрын
Спасибо. Лайк за из носа
@mih_a
@mih_a 2 жыл бұрын
Спасибо тебе!)
@gasko2762
@gasko2762 2 жыл бұрын
Spasibo poleznoje
@ArduBlock_Projects
@ArduBlock_Projects 2 жыл бұрын
Спасибо за отличный урок !)
@Moishe_Rubinstein
@Moishe_Rubinstein 2 жыл бұрын
Stm 32 будет? Ставим лайки комменту, провоцируем автора.! :)
@de_fer5322
@de_fer5322 2 жыл бұрын
школьников пожалей... если сейчас на практических олимпиадах stm32, то я боюсь представить что будет после появления понятных гайдов по ним
@nich1con652
@nich1con652 2 жыл бұрын
esp8266 скоро будет, так как уже обросла крупным комьюнити и (что важно) стабильным ядром, 32 еще рановато - по слухам местами работает через жопу
@skirilica
@skirilica 2 жыл бұрын
Спасибо за труд!
@user-iv5bk3bq1w
@user-iv5bk3bq1w 2 жыл бұрын
Спасибо, полезный урок был.
@user-tt9rv7zd7f
@user-tt9rv7zd7f 2 жыл бұрын
Ребяты вы молодцы, именно в плане Уроков (а не просто видосов со своими железками да еще и на продажу) вам нет равных, подумайте кстати о преподавании визуальных языков типа fbd - для новичка очень полезная вещь. Flprog, xod.....
@ArduNotes
@ArduNotes 2 жыл бұрын
спасибо, канал изначально уроковый
@user-br6sf7rf4k
@user-br6sf7rf4k 2 жыл бұрын
Спасибо за видео! Подскажите, а где хранить карты шрифтов или битовые изображения, EEPROM используют дял этих целей?
@Drxxx
@Drxxx 2 жыл бұрын
Super video!
@motoday3580
@motoday3580 2 жыл бұрын
ой бой !!!! Красава !!
@user-ek6hs5nj2s
@user-ek6hs5nj2s 2 жыл бұрын
Просто и понятно. Спасибо.
@buzok512buz6
@buzok512buz6 2 жыл бұрын
Как раз вовремя
@OttoLilo
@OttoLilo 2 жыл бұрын
Сделай видео про FRAM память и работу с ней с Arduino. Пробовал работать с FM24C04B-G, очень понравилось, объём хоть и не большой, но его избыточно хватает много для чего и стоит не дорого, если с Китая покупать отдельно микросхемки. Делал им обвязку и использовал как полноценные модули.
@vernnms78
@vernnms78 2 жыл бұрын
Добрался до ролика с опозданием, но, всё равно, лайк!
@andreypupkin848
@andreypupkin848 2 жыл бұрын
Спасибо
@_Gosha_84
@_Gosha_84 2 жыл бұрын
программировал когда-то на Delphi7 )) Винда ХР настройки сохранял в реестр, EEPROM типа того?
@stubbornlifeseeker
@stubbornlifeseeker 2 жыл бұрын
Так ждал, что будут и примеры использования внешней EEPROM на i2c
@ArduNotes
@ArduNotes 2 жыл бұрын
тогда видео и называлось бы, работа с внешней eeprom
@stubbornlifeseeker
@stubbornlifeseeker 2 жыл бұрын
@@ArduNotes да, я подумал, сначала, что, раз i2c, то и будет рассмотрена в уроке по i2c. А затем подумал, что работа с EEPROM i2c будет в этом видеоуроке, т.к. модулей на i2c много разных, наверное, а EEPROM всего две - внутренняя и внешняя :)
@user-lt2xw1gs1r
@user-lt2xw1gs1r 2 жыл бұрын
неужели, дождался
@user-vi1hj7zq3m
@user-vi1hj7zq3m 2 жыл бұрын
Интересно. А будет урок по времени. Интересует как подать сигнал на 2 разных реле при значении времени. Например на одно реле подавать сигнал через 20 секунд, а на второе через 30.
@youngfishy9932
@youngfishy9932 2 жыл бұрын
Лайк, репост, в тренд!
@Klagerh
@Klagerh 2 жыл бұрын
Заметки Ардуинщика , сделай свою плату подобие ардуин на каком - нить микроконтроллере например стареньком AT90S2313 он без внешнего кварца не работает . Спасибо за урок !
@orkoteg09
@orkoteg09 Жыл бұрын
я в одном проекте у клиента в итоге поставил внешнюю 24c08 в DIP панель. проще потом будет поменять ее, чем контроллер (там был MSP430).
@ivankuznetsov5618
@ivankuznetsov5618 2 жыл бұрын
Здравствуйте, спасибо за урок. Полезно, интересно --> комментарий.
@alexone899
@alexone899 2 жыл бұрын
Урок как всегда супер 👍 но хотелось бы ещё услышать инфу о том как подключать внешние eeprom если во встроенной в ардуину уже нет памяти
@nich1con652
@nich1con652 2 жыл бұрын
когда нибудь будет, опять же рабочий код давно написан и оформлен
@olexangrstetsiuk3092
@olexangrstetsiuk3092 2 жыл бұрын
Вот здесь использована внешняя EEPROM (интегрированная в модуль часов DS3231), можешь воспользоваться примером kzfaq.info/get/bejne/l5-Sg9ly2LXRoJc.html
@alexone899
@alexone899 2 жыл бұрын
@@olexangrstetsiuk3092 спасибо
@intelektum
@intelektum 2 жыл бұрын
Ничего сложного, по I2C протокол простой до жути.
@andreyhenneberg2488
@andreyhenneberg2488 2 жыл бұрын
​@@intelektum, только один вопрос: зачем лезть в дебри протокола, если большинство контроллеров имеет его аппаратную реализацию? Работа с памятью через этот протокол -- да, но и тут есть готовые библиотеки.
@MultiMasterRMX
@MultiMasterRMX 2 жыл бұрын
Есть статистика по надежности епромок? Какая фирма, какие модели нормальные. Про Али не говорю, там все понятно.
@user-lo3tn4vc7w
@user-lo3tn4vc7w 2 жыл бұрын
Доброго времени суток ✌️ не могу соединить скетч измерения и регулировки с меню настроек. Попробую вписать как первое меню. Если не сложно подскажите как проще. Скетч могу выложить ссылку на гугл диск
@yan699
@yan699 2 жыл бұрын
Как подключить к ардуино fdd ( флоппи ) привод что бы можно было к ноутбуку подключить как внешний носитель? Что бы не музыку издавал а определял и записывал на дискеты? Что бы ардуино выполнял роль платы которые обычно стоят в боксах для внешних дисков.
@BesenokGAMES
@BesenokGAMES 2 жыл бұрын
Доброго времени суток! Подскажите, возможно ли на ардуинке сделать кнопку цензуры? То есть, нажимаем кнопку и в звуковой канал, например на виртуальный, аудио кабель идет звук цензуры, отпускаем кнопку, звук пропадает
@singular3632
@singular3632 2 жыл бұрын
я для такого использую кольцевой буфер со следующей структуруй структура данных = 3 байта (номер записи) + N байт (полезные данные) и это структуру растягиваем на всю память. При включении контроллера програ пробегает по всем ячейкам и ищет наибольшее значение записи (те самые 3 байта). Указатель следующей записи смещается на размер структуры и каждая следующая запись идет с тем же смещением, и так по кругу. Преимущество метода - уменьшенный общий расход. Недостаток - завышенный удельный расход. Преимущество перекрывает недостаток даже при полезной нагрузке в 1 байт. Например для 328p Структура 4 байта = 3 байта указателя + 1 байт полезной нагрузки 1024 / 4 = 256 ячеек для подобных структур. Т.е. каждая ячейка будет перезаписана в 256 раз реже чем при классическом методе. А это больше 25млн. гарантированных записей. Почему именно 3 байта на указатель а не 4. Максимальное значение 3 байт = 16777216 что с большим запасом покрывает даже самый оптимистичный срок службы.
@singular3632
@singular3632 2 жыл бұрын
UPD: Идея. Расходовать на указатель 1 байт а не 3. Недостающие 2 байта отправить в самый конец памяти, они будут обозначать смещение. Тогда у нас остаётся 1022 байта, структура = 2 байта, итог 511 ячеек. Ресурс 50млн.
@nich1con652
@nich1con652 2 жыл бұрын
есть способ намного проще и эффективнее)
@dmutrom594
@dmutrom594 2 жыл бұрын
Круто
@user-ys7yw7my5h
@user-ys7yw7my5h Жыл бұрын
Можешь сделать урок с динамическим EEPROM адресом? Чтобы каждый раз данные в новый адрес записывались
@kulibin7468
@kulibin7468 7 ай бұрын
Добрый день. а есть полный скетч из данного ролика?
@dwp_rpw8128
@dwp_rpw8128 2 жыл бұрын
А что такое с голосом?
@StoneTL
@StoneTL 2 жыл бұрын
Сделайте видео про GyverStepper. Не всем понятно про абсолютный мод и прочее. Было бы полезно!
@ArduNotes
@ArduNotes 2 жыл бұрын
понятия абсолютный и относительный вроде общепринятые и всем понятны)
@pswru
@pswru 2 жыл бұрын
@@ArduNotes "общепринятые" понятны большинству, но не всем. Ибо края наиболее часто встречаемого Гауссова колокола и широки и глубоки.
@-tellurian-
@-tellurian- 2 жыл бұрын
Как на счет использования внешеней памяти например AT25256B-SSHL-B, Последовательная энергонезависимая память [SO-8] (5EB L) у нее; High Reliability ̶ Endurance: 1,000,000 Write Cycles ̶ Data Retention: 100 Years
@michaeldenisov4815
@michaeldenisov4815 2 жыл бұрын
Я на ESP8266 остановился на SPIFFS. Но т.к. его поддержка скоро закончится перехожу на LittleFS. Интересует ваше мнение, а что лучше из встроенных возможностей контроллера при частой перезаписи?
@theaxial
@theaxial 2 жыл бұрын
Можно по подробнее про прекращение поддержки и LittleFS?
@nich1con652
@nich1con652 2 жыл бұрын
Не работал с есп практически, но я думаю большой разницы нет, все равно флеш затирается постепенно
@yl923
@yl923 2 жыл бұрын
У меня один практичный вопрос. Как считать данные с ячейки еепром по I2C в системе с другим МК? Прижать ресет к земле что бы тот не дёргался и шина свободна? И как это схемотично будет выглядеть, подтягивающие резисторы и пр...? Может видео такое запилите, думаю такой прикладной вопрос очень актуален.
@harvester76
@harvester76 2 ай бұрын
А если в структуре поменялось только одно поле, put перезапишет только его или все равно будет перезаписан весь объект?
@gatoruivo4767
@gatoruivo4767 2 жыл бұрын
И, в догонку, еще один вопрос. Если с EEPROM в Ардуино всё так хорошо, то почему в проекте "Наливатор" калибровочные данные не сохраняются в EEPROM (что наиболее логично и удобно), а необходимо их прописать в коде и прошить плату повторно? Хотя сохранение текущего объема есть (правда у меня это не работает).
@olegkolosov3534
@olegkolosov3534 Жыл бұрын
я недавно случайно наткнулся на али на "24Cxx"(я смотрел 24С04,но видел и более ёмкие варианты как 24С64) (в рекомендациях появился) можно побаловаться,насоздавать "чёрных ящиков" или резервных копий настроек ))) И чтобы не ушатывать память ардуинки можно записывать на сменный блок (видел даже в вариантах DIP)
@konstantingolinskiy4944
@konstantingolinskiy4944 2 жыл бұрын
В STM32 в серии L тоже есть еепром, по поводу алгоритма записи и чтения чтобы максимально увеличить ресурс памяти и не потерять данные если при записи произошёл сбой ( при просадке питания или посередине записи питание пропало то в данной области будут уже не то что хотели записать ), алгоритм довольно прост, очищаем память ( заполняем ее 0хFF ( все биты заполняем единичками )) далее записываем структуру как у вас в видео ( начало 0 адрес ) и в конце ставим пару байт метку ( чтоб знать где мы закончили запись ), теперь если мы читаем из памяти то начинаем в цикле с КОНЦА памяти искать нашу метку, как нашли сдвигаемся еще на размер структуры и считываем ее, теперь если нужно записать новые данные ( обновить старые ) то снова начинаем с конца читать ( ищем нашу метку ) и когда нашли записываем уже с адресом нашей метки и в конце тоже ставим метку ( тем самым у нас остались и предыдущая запись и новая ) теперь при чтении можно проверить ( если в одной из полей структуры хранить контрольную сумму пакета ) на целостность, если запись повреждена то прочитать предыдущую и перезаписать текущую. Ну и отслеживаем коней всех адресов. как дошли до конца все с самого начала. Тем самым кол-во перезаписей увеличиваем до максимального значения и при етом данные всегда можно возобновить в случае их потери.
@nich1con652
@nich1con652 2 жыл бұрын
в дуино среде используют самые популярные F3-F4, и самые доступные платы
@konstantingolinskiy4944
@konstantingolinskiy4944 2 жыл бұрын
@@nich1con652 Самые популярные и доступные это F0 и F1 =)
@olexangrstetsiuk3092
@olexangrstetsiuk3092 2 жыл бұрын
А где можно посмотреть конкретный код варианта предложенного вами ?
@konstantingolinskiy4944
@konstantingolinskiy4944 2 жыл бұрын
​@@olexangrstetsiuk3092 а что там смотреть ? логика подробно описана выше, там чтение, запись, пару циклов и пару проверок
@olexangrstetsiuk3092
@olexangrstetsiuk3092 2 жыл бұрын
@@konstantingolinskiy4944 , эхх, остаётся только сожалеть ,что это все - пока-что не реализованая идея...
@Rumil0905
@Rumil0905 2 жыл бұрын
Интересно при АЦП атмега 32а прошивальшиком АВР можно ли сохранять данные прошивки старой и вернутся к ней там два файла для прошивки hex формата еепром и флеш
@Rumil0905
@Rumil0905 2 жыл бұрын
Зарядник аймакс б6 клон
@USER-ruzer2000
@USER-ruzer2000 2 жыл бұрын
Народ, где прочитать про объяснение заводских библиотек? Как они расписаны, какие функции и переменные из них брать в основную программу?
@ArduNotes
@ArduNotes 2 жыл бұрын
в файле библиотеки или в гугле, на сайте автора/сайте ардуино. "какие функции и переменные из них брать" - для этого также в библиотеках есть примеры
@user-sf9nn6dh2q
@user-sf9nn6dh2q 2 жыл бұрын
Отличное видео, спасибо, а урок по v-usb будет когда нибудь?)
@nich1con652
@nich1con652 2 жыл бұрын
только в контексте готовых библиотек
@user-sf9nn6dh2q
@user-sf9nn6dh2q 2 жыл бұрын
@@nich1con652 отлично, очень жду)у Вас очень хорошие ролики!
@user-bq5ch6kd7s
@user-bq5ch6kd7s 2 жыл бұрын
Для ESP8266 я использую внешнюю EEPROM, подключенную по i2c. Достаточно годно работает, и не надо с эмуляцией во флеш заморачиваться.
@ArduNotes
@ArduNotes 2 жыл бұрын
а разве там заморочки? Стандартная библиотека с таким же API
@user-bq5ch6kd7s
@user-bq5ch6kd7s 2 жыл бұрын
@@ArduNotes в принципе да, но, по моему мнению, внешняя епромка удобна с точки зрения износа. Существенных различий в реализации самого хранения данных нет, кроме того, если хранить данные в флеш, не нужно отбирать у esp аж два порта под i2c - а их там не так уж и много. Но ограничения по количеству циклов записи во флеш немного портят малину.
@user-bq5ch6kd7s
@user-bq5ch6kd7s 2 жыл бұрын
@@ArduNotes Кстати, я не встречал библиотек для работы с внешней eeprom для esp, нет ли желания ее сделать? Мне не приходилось самому библиотеки клепать, однако кодом для реализации библиотеки, если заинтересует, могу поделиться.
@user-bq5ch6kd7s
@user-bq5ch6kd7s 2 жыл бұрын
@@ArduNotes для продвинутых пользователей эта библиотека не нужна, все решается с помощью возможностей библиотеки Wire и даташита на память, однако начинающие ардуинщики это бы оценили. Ваш канал достаточно популярен и, по моему мнению, крайне полезный, поэтому данный контент, по работе с внешней еепром , думаю, был бы интересен многим.
@arduinoman4875
@arduinoman4875 2 жыл бұрын
Позвольте спросить, а заяем вам EEPROM на ESP-шке. Действительно, ничего сложного в эмуляции во Flash-памяти нет, просто поищите "SPIFFS". Это не идеальная система и имеет ряд недостаток (она больше не обновляеися, поэтому копайте в сторону LittleFS), но и преимущества у эиой системы есть. Эмуляция позволяет значительно расширить пространство для записи до нескольких мегабайт!
@user-nb6ey9nd7n
@user-nb6ey9nd7n 2 жыл бұрын
Здравствуйте. Собираю руль на ардуино Леонардо, есть две прошивки: Aiwave и EMC. Скажите, если я залью одну, а потом за хочу перепрошить на другую, то чтобы это сделать понадобится программатор или можно будет обойтись без него?
@vladi_g
@vladi_g 2 жыл бұрын
Леонардо шьётся через USB.
@_OO2_
@_OO2_ 2 жыл бұрын
Интересный урок! Когда выйдет следующий!?
@prlvetqwerty
@prlvetqwerty 2 жыл бұрын
Когда будет продолжение игровой консоли?
@borisfrolov1046
@borisfrolov1046 2 жыл бұрын
Все получилось, благодарю
@user-mk6wr4sl4s
@user-mk6wr4sl4s 2 жыл бұрын
Можно вопрос почему нету урока про записи в епром память минусовое значение и чтения. Во всем просторе интернета толка 2 статий про ето и то не рабочий скеч 😠
@farrydog
@farrydog 2 жыл бұрын
Крут
@Shizaracing
@Shizaracing 2 жыл бұрын
Спасибо за хороший видеоролик
@user-ej4uf6vr8q
@user-ej4uf6vr8q 2 жыл бұрын
Спасибо! Вот бы ещё урок, как можно использовать ПЗУ-ху с платы ds3231...
@andreyhenneberg2488
@andreyhenneberg2488 2 жыл бұрын
Там нет ПЗУ, там маленький кусочек статического ОЗУ, а "энергонезависимость" обеспечивается батарейкой, которая питает эту память и пользовательское ОЗУ.
@nich1con652
@nich1con652 2 жыл бұрын
В контексте урока по RTC разве что
@user-om9nk4ic4z
@user-om9nk4ic4z Жыл бұрын
Пожалуйста, выложите полный пример с олед дисплеем. Невидно процедуру с курсором. Невидно полного кода функции прорисовки меню. Вот переписанно из видео: #include #include #include #define EEPROM_ADDR 90 GyverOLED oled; EncButton enc; struct { bool a = false; char b = '0'; byte c = 0; int d = 0; long e = 0; float f = 0.0; }settings; uint8_t menu_ptr = 2; bool menu_sel = false; void setup() { oled.init(); oled.clear(); drawMenu(); } void loop() { enc.tick(); if (enc.isRight()) { if (menu_sel) { switch (menu_ptr) { case 2: settings.a = !settings.a; break; case 3: settings.b = constrain(settings.b + 1, 48, 90); break; case 4: settings.c = constrain(settings.c + 1, 0, 255); break; case 5: settings.d += 100; break; case 6: settings.e += 1000; break; case 7: settings.f += 0.1; break; } } else { menu_ptr = constrain(menu_ptr + 1, 2, 7); } drawMenu(); } // if (enc.isLeft()) { // if (menu_sel) { // switch (menu_ptr) { // // } if (enc.isClick()) { menu_sel = !menu_sel; drawMenu(); } if (enc.isHolded()) { EEPROM.put(0, settings); } } void drawMenu() { oled.clear(); oled.setCursor(30, 0); oled.println(F("Test menu")); oled.println(F("")); oled.setCursor(30, 2); oled.print(F("A: ")); oled.update(); }
@user-yj8rm8qp1m
@user-yj8rm8qp1m 2 жыл бұрын
как залить скетч в EEPROM и при использовании двух микросхем памяти и одной дуинки переключателем задействовать нужный скетч?
@micromaster4405
@micromaster4405 Жыл бұрын
Никак, программа хранится во флеш памяти
@user-andrei777
@user-andrei777 2 жыл бұрын
Спасибо автору.👍👍👍
@user-pl2ue6ds2r
@user-pl2ue6ds2r 2 жыл бұрын
Очень хорошо 👍
@tim_skr
@tim_skr 11 ай бұрын
А куда делся Алекс Гайвер???
@m_kolotushkin
@m_kolotushkin 2 жыл бұрын
*Вот не могу понять, у меня магнитола после выключения питания теряет настройки, неужети добавление сохранения настроек для производителя это так затратно, это же вопрос на пару баксов!*
@ArduNotes
@ArduNotes 2 жыл бұрын
во многих устройствах и время не сохраняется, хотя микросхема rtc стоит пару десятков центов
@nich1con652
@nich1con652 2 жыл бұрын
в массовом производстве каждая пара баксов превращается в сотни тысяч)
@buter1122
@buter1122 2 жыл бұрын
Давай урок про регистры.
@StoneTL
@StoneTL 2 жыл бұрын
В видео не хватает аналогов стандартной библиотеки и закольцовывание для уменьшения износа ячейки.
@nich1con652
@nich1con652 2 жыл бұрын
В видео сказано, что это тема для отдельного разговора. А библиотека для размазывания уже давно написана и ждет своего часа
@olexangrstetsiuk3092
@olexangrstetsiuk3092 2 жыл бұрын
А ещё у библиотеки EEPROM есть ограничения максимальной длины пакетов записи, их бы тоже надобно ,,разжевать,, ...
@ArduNotes
@ArduNotes 2 жыл бұрын
максимальная длина ограничена размером самой EEPROM, об этом говорится в самом начале урока
@user-bg5vy1we2w
@user-bg5vy1we2w 2 жыл бұрын
Спасибо за видео ,очень интересно. Но видимо здесь один я дурак смотрю ничего не соображая в этом.))
@elektrik_shemotehnik
@elektrik_shemotehnik 2 жыл бұрын
Не используйте нулевой адрес ячейки! Часто слетает от нестабильного питания, тоесть может слететь от включения-выключения устройства. Сталкивалса с етим во время разработки BMS
@nich1con652
@nich1con652 2 жыл бұрын
как именно слетает?
@vilka_v_ass
@vilka_v_ass 2 жыл бұрын
видел, что можно файлы загружать на eeprom (пытался, но чёт не особо получилось, p.s. дело было на esp8266)
@arduinoman4875
@arduinoman4875 2 жыл бұрын
Вы путаете EEPROM и SPIFFS. SPIFFS является "эмуляцией" EEPROM и находится во Flash-памяти, отчего может исеть больший размер и вместить в себя целые файлы. Поищите на эту тему. А вообще, даже эта система уже устарела и не будет обновляться, поэтому советуб копать в сторону LittleFS)
@andreyhenneberg2488
@andreyhenneberg2488 2 жыл бұрын
​@@arduinoman4875, SPIFFS -- не эмуляций ЭСППЗУ, это отдельная штука. Под эмуляцию ЭСППЗУ и под SPIFFS и так настойчиво рекомендуемую Вами LittleFS память выделяется раздельно. Кстати, надо-таки посмотреть, что это за зверь -- LittleFS.
@greyly-off
@greyly-off Жыл бұрын
я наверно вылез из танка, но где, чъерт возьми, Алекс?
@sergey_5557
@sergey_5557 2 жыл бұрын
Внешнюю FRAM память и забудьте про ресурс памяти. 10^14 число перезаписей. Да еще и скорость не сравнить с EEPROM
@ruslansanzharov5825
@ruslansanzharov5825 2 жыл бұрын
4:46 объем*
@schrodingers_kater
@schrodingers_kater 2 жыл бұрын
Сожалею за комментарий, но Алекс на порядок харизматичней, как ведущий.
@schrodingers_kater
@schrodingers_kater 2 жыл бұрын
А так, видео было интересным, спасибо.
@ArduNotes
@ArduNotes 2 жыл бұрын
алех уже пять лет по бумажке читает, всё приходит со временем)
@schrodingers_kater
@schrodingers_kater 2 жыл бұрын
@@ArduNotes Об этом я и говорил - источник текста не особо важен, как удобней. И не спорю, многолетняя практика действительно расковвывает, давая возможность вносить театральность. Но изначально, чтение текста за кадром схоже с чтением текста диктором в радиоспектакле - весь интерес зависит от манеры исполнения. Никогда не занимался таким занятием, но для себя, вероятно, выбирал бы практику в этом направлении. Спасибо за ответ)
@gatoruivo4767
@gatoruivo4767 2 жыл бұрын
Интересно, я один такой невезучий? Четыре китайских NANO, одна UNO, и итальянские (?!) UNO и MEGA - результат один: Данные корректно читаются только после первого ресета. После второго или отключения питания на любое время, вместо данных нули. В ячейках куда не было записи, как и положено 255. (Вашу статью по EEPROM зачитал "до дыр", пытаясь найти свои косяки, но без результата.) Может еще какие камушки подводные есть?
@nich1con652
@nich1con652 2 жыл бұрын
брак бывает попадается, мне с похожим нанка попалась вот
@goodcontent-gcrussian4435
@goodcontent-gcrussian4435 2 жыл бұрын
Стоп, если у того=же LGBT (LGT) ипром берется из флэша, то по сути ресурс у него больше? (я понимаю что он занимает в 2 раза больше физического места чем предполагаемого)
@bdfy8349
@bdfy8349 2 жыл бұрын
у еепром ресурс выше чем у флеш памяти
@andreyhenneberg2488
@andreyhenneberg2488 2 жыл бұрын
Как уже написал @Bdfy, ресурс у ЭСППЗУ больше. Причём, часто на порядок, а то и два. В случае LGT устройства нет. Китайцы просто сэкономили и не стали выращивать на кристалле ещё одно устройство и цепи, отвечающие за работу с ним. Как, кстати, в и STM32F103C8T6, который "синяя таблетка". Если планируется активная работа с ЭСППЗУ, стоит добавить на плату колодку под микросхему памяти, тогда её ещё и менять можно будет по мере износа.
@intelektum
@intelektum 2 жыл бұрын
У СТМ32 L серии есть еепром.
@nich1con652
@nich1con652 2 жыл бұрын
в пердуино среде если и юзаются стм, то F3,F4
@Ownedyou
@Ownedyou 2 жыл бұрын
Даёшь заметки ЕСП32ня! :D
@nich1con652
@nich1con652 2 жыл бұрын
32 еще не получила стабильного ядра, как 8266. 8266 скоро будет от Алекса
@user-oq3tv1br9r
@user-oq3tv1br9r 2 жыл бұрын
Есть специальные епромки которые миллионы записей?? Какие?
@nich1con652
@nich1con652 2 жыл бұрын
внешняя AT24 самая популярная заявляет миллион
@Gameplayer55055
@Gameplayer55055 2 жыл бұрын
Да блин. Если пару тройку раз, то ничего ей не будет Думать про износ памятм надо тогда, если ее насилуешь логами, постоянно ее выдрачиваешь, или майнишь chia Те же SSD имеют лимит, но они через год не ломаются А живут десятилетиями
@megannnn98
@megannnn98 2 жыл бұрын
Гугли мрам или фрам
@ArduNotes
@ArduNotes 2 жыл бұрын
FRAM
@abrormusaev6476
@abrormusaev6476 2 жыл бұрын
@@ArduNotes Жду ещё от вас , новые уроки . Спосиба за уроки
@empty204
@empty204 5 ай бұрын
А что с голосом?
@StoneTL
@StoneTL 2 жыл бұрын
Первый. Ценитель канала тут))
@user-ny6dx4sq7t
@user-ny6dx4sq7t 2 жыл бұрын
Супер. Снимите ролик как сделать весы. по типу "вы худой", " вы норм", и "вы жиробас". Смотрю вас с огромным удовольствием.
@ArduNotes
@ArduNotes 2 жыл бұрын
ахах
@Dr.Salokhiddin.
@Dr.Salokhiddin. Жыл бұрын
7:09 нет, нельзя!(Я вам запрещаю) 😄😄😄
@user-fx9pl3io8f
@user-fx9pl3io8f 2 жыл бұрын
Что с голосом?
@user-dw5fj4co3n
@user-dw5fj4co3n 2 жыл бұрын
А кто озвучил ролик? Это не Alex.
@ArduNotes
@ArduNotes 2 жыл бұрын
на канале сейчас два ведущих
@illuminoid622
@illuminoid622 2 жыл бұрын
Заметки ардуинщкааа
@AvtPosKot
@AvtPosKot 2 жыл бұрын
Что за никичом
@user-yw1rp2jn9i
@user-yw1rp2jn9i 2 жыл бұрын
Очень интересно но никуя не понятно. Слишком сжатая информация, чтобы разобраться просто как обращаться с епром в самом простом варианте приходится пересматривать короткий отрывок по пятьдесят раз...
@Lianitt
@Lianitt 2 жыл бұрын
Меня одного бомбит от "holded"? Каждый раз, когда вижу - ору на весь дом "HELD!!!"
@ArduNotes
@ArduNotes 2 жыл бұрын
дада, но косяк был допусчен много лет назад и из за совместимости не исправляется
@viktorkirsanov3371
@viktorkirsanov3371 2 жыл бұрын
NANO 33
@TheFenix717
@TheFenix717 2 жыл бұрын
Вы первые до тех пор, пока не обновите.
@serbask354
@serbask354 2 жыл бұрын
AlexGyver продал этот канал?
@S60Team
@S60Team 2 жыл бұрын
Спасибо за информацию, но теперь вы слишком спешите :)
@Shini9ami
@Shini9ami 2 жыл бұрын
+
@Gameplayer55055
@Gameplayer55055 2 жыл бұрын
-
Уроки Arduino: энергосбережение и сон
19:03
Заметки Ардуинщика
Рет қаралды 115 М.
ШЕЛБИЛАР | bayGUYS
24:45
bayGUYS
Рет қаралды 685 М.
小路飞姐姐居然让路飞小路飞都消失了#海贼王  #路飞
00:47
路飞与唐舞桐
Рет қаралды 90 МЛН
10 полезных фишек Arduino IDE
5:40
Заметки Ардуинщика
Рет қаралды 70 М.
Arduino lessons - Servo control by arduino
11:17
Заметки Ардуинщика
Рет қаралды 839 М.
Управление моторами с Arduino
15:44
Заметки Ардуинщика
Рет қаралды 477 М.
🤖Я в шоке! ChatGPT пишет Arduino проекты
28:24
Arduino and external EEPROM AT24C128
12:39
Home Made
Рет қаралды 48 М.
Уроки Arduino. Работа с энкодером
10:55
Заметки Ардуинщика
Рет қаралды 177 М.
PT4115 - лучший LED драйвер?
12:13
Заметки Ардуинщика
Рет қаралды 131 М.
wyłącznik
0:50
Panele Fotowoltaiczne
Рет қаралды 13 МЛН
Samsung vs Apple Vision Pro🤯
0:31
FilmBytes
Рет қаралды 1,2 МЛН
Эволюция телефонов!
0:30
ТРЕНДИ ШОРТС
Рет қаралды 6 МЛН
С Какой Высоты Разобьётся NOKIA3310 ?!😳
0:43