Arduino and external EEPROM AT24C128

  Рет қаралды 48,792

Home Made

Home Made

6 жыл бұрын

If you want to save the value of the variables during power off, the best way is to use EEPROM. This is a non-volatile memory that will help save the value of variables and device settings. The I2C connection makes the use of EEPROM AT24C128 very simple.
Library and sketch: drive.google.com/open?id=1l99...
Friends, support the channel!
R340967932571
Z422687519909
U139735106020
4149625807630874 The bank card of Privat Bank (Ukraine)
Useful links:
EEPROM 24C128: ali.pub/1w3yh5
Display 1602 + expander ports: ali.pub/1vb6ja
Display 1602: ali.pub/1uo1ww
Micro SD Module: ali.pub/1tkx36
Arduino Mega 2560: ali.pub/1ny34r
Cheapest Arduino Pro Mini for crafts: ali.pub/1ny2z4
Breadbord: ali.pub/1ny3ae
Lintels: ali.pub/1ny3la
Quality crosspieces: ali.pub/1ny3j5
The most convenient cash back:
LetyShops: goo.gl/Ev5XgI
The most profitable cash back on aliexpress:
Ecomerce: goo.gl/3dDc2w

Пікірлер: 128
@user-kq4gr9jv7p
@user-kq4gr9jv7p Жыл бұрын
Огромное спасибо за понятный язык . Понял --- усвоил .👍👍👍👍👍
@Rin_Media
@Rin_Media 3 жыл бұрын
Всегда приятно и познавательно смотреть твои видео. Здоровья тебе и долгих лет.
@user-gd4jm1sb4q
@user-gd4jm1sb4q 4 жыл бұрын
Здравствуйте. Заранее извиняюсь за возможно глупый вопрос.А есть ли возможность соединения нескольких модулей памяти друг с другом, тем самым увеличив общий объем энергонезависимой памяти. А далее вести запись или считывание уже с объединенной памяти?
@UCanDo
@UCanDo 4 жыл бұрын
Да, конечно. Чипы памяти подключаются параллельно , только пины EN от каждого чипа подключаются по отдельности. Активирую тот или иной пин EN вы задаёте в какую микросхему будет производится запись или чтение
@shockblaze8669
@shockblaze8669 4 жыл бұрын
Как высчитывается ресурс еепром? Одна переменная считается одним циклом записи? Или для каждой ячейки свои 100000 циклов перезаписи?
@UCanDo
@UCanDo 4 жыл бұрын
Для каждой ячейки свой цикл перезаписи
@user-nh4sg6ql7m
@user-nh4sg6ql7m 5 жыл бұрын
Привет. Я в этом новичок есть вопрос. А можно в подобную микросхему записать картинку по типу фотографии и вывести на дисплей?
@UCanDo
@UCanDo 5 жыл бұрын
Да, можно. Вот пример: kzfaq.info/get/bejne/ic6erLKAyMzGmJc.html В этом видео я подключал дисплей и выводил на него несколько тестовых картинок
@user-oq3tv1br9r
@user-oq3tv1br9r 6 жыл бұрын
А как организовывать быстрый поиск 10значных десятичных чисел по всему размеру памяти ? (понятно что там другой формат) Я самим принципом поиска интересуюсь. Но именно шустрого поиска.
@UCanDo
@UCanDo 6 жыл бұрын
Интересную задачку вы задали. Первый вопрос: в чем именно искать будете? В ОЗУ или в EEPROM? Относительно того как искать в ОЗУ, не подскажу, так как надо знать как она устроена, а я это уже забыл... EEPROM разделена на ячейки. Каждая хранит 1 байт, то есть 256 значений. Для хранения переменных Long Integer и Float используется 4 ячейки, то есть 4 байта. Для поиска переменной конкретной длинны вам нужно знать адреса начала всех переменных и сколько байт они занимают. Потому как 4 случайные ячейки могут содержать: - 4 разных переменных по 1 байт - или 2 переменные по 2 байта - или 2 переменные по 1 байт и 1 переменная 2 байта - или .... и так далее... Зная начало и длину можно пробегаться по ним, считывать, сравнивать с искомыми параметрами, считывать дальше... Без знания начала и длинны переменных искать ничего не получится.
@user-oq3tv1br9r
@user-oq3tv1br9r 6 жыл бұрын
Home Made - В епром нужно искать. Будут туда писаться 10значные десятичные цыфири, и потом в такой себе базе нужно быстренько сравнить, есть заданный или нету.
@UCanDo
@UCanDo 6 жыл бұрын
+Александр Сановский вы быстро убьете EEPROM. У нее ограничение на запись/считывание
@user-oq3tv1br9r
@user-oq3tv1br9r 6 жыл бұрын
Home Made - На запись да, а на считывание???
@Gameplayer55055
@Gameplayer55055 5 жыл бұрын
forОМ выбивать
@user-xo2yn4cg5s
@user-xo2yn4cg5s 2 жыл бұрын
Возьми стандартную библиотеку, переменные флоат занимают 4 байта, а вот булевые занимают байт, если хочешь уменьшить то через маску сохранять и писать свою функцию
@AndriiNikolaiev
@AndriiNikolaiev 4 жыл бұрын
10:50 а можно умножить на 100, тогда сохранится без потерь. Надо вспомнить и потом разделить на 100.
@JohnSmith-nw9zg
@JohnSmith-nw9zg 21 күн бұрын
Я так и делаю всегда
@ax3lblock
@ax3lblock 4 жыл бұрын
Подскажите пожалуйста. Как скопировать (сдампить) eeprom.? Arduino mega 2560.
@UCanDo
@UCanDo 4 жыл бұрын
На сколько я знаю, EEPROM можно прочитать только по ячейкам. А значит, нужно создать цикл, в котором поочередно будут читаться ячейки. А дальше записывать считанные данные в новую EEPROM
@f33net
@f33net 6 жыл бұрын
a) Вообще-то любая память "не поддерживает" вещественные числа и EEPROM ничем от другой памяти в этом смысле не отличается - данные везде хранятся в двоичном виде. б) Тут встроенную не знаешь куда потратить... Обычно внешнюю память используют для временного сохранения новой прошивки, которую контролёр получает по IP, ибо в загрузчик вкорячить стек TCP/IP не получается. в) Переменные в EEPROM нормальные люди не хранят, ибо накладно по ресурсам. Хранят значения для инициализации переменных при старте, которые могут меняться в ходе жизни (не константы). г) "Хранение" с умножением вообще чушь полная! Иногда деньги хранят целыми числами, считая копейками т.е. умножая на 100 сумму перед сохранение, ограничивая таким образом число разрядов до 2-х после точки, которые не нужны. Т.е. можно вещественные числа хранить как целые, двигая десятичную точку, и оперировать с ними так же быстрее, где нет встроенной в проц вещественной математики. Но разрядами, т.е. умножая и деля на 10 .
@DmitroVialkov
@DmitroVialkov 6 жыл бұрын
f33net, лайк и в догонку пару комментов 1. Количество перезаписей у EEPROM хоть и ограничено, но очень велико, и если не писать что-попало ради того, чтобы что-то писать, то встроенной в контроллер хватит на всегда. 2. Если писать все таки реально приходится что-то часто, например некий лог, который необходимо сохранить даже в случае перезагрузки до момента слива его куда-то, то организуйте алгоритм так, чтобы не писать в одну и туже ячейку все время, а циклически двигайтесь по всей памяти, в таком случае её хватит еще на более долгий срок. 3. иногда удобней использовать EEPROM вместо флешки для хранения долгих данных, например я так в одном проекте хранил html'ки для веб сервера на ЕСП. Но в таких экзотических случаях подумайте и взвесьте все за и против, и поймите .что скорей всего вам это не надо.
@alextrezvy6889
@alextrezvy6889 6 жыл бұрын
"организуйте алгоритм так, чтобы не писать в одну и туже ячейку все время, а циклически двигайтесь по всей памяти" // Как после перезагрузки узнать адрес для считывания? Если его хранить по постоянному адресу, то его придётся каждый раз обновлять, что приводит нас к тому, с чего начали.
@DmitroVialkov
@DmitroVialkov 6 жыл бұрын
Ну так сказано "разработайте алгоритм", он будет в каждом конкретном случае свой, опираться на свои задачи... Но вот пример одного из простых. Разделите всю память на блоки. Например пусть будет так... Есть у нас 16 КB, делим на блоки таким образом 64B (служебная) + 32 * (500B (данные) + 10B (служебная блока)) В общем служебном блоке записываем номер текущего рабочего блока, при этом выделяем байт в служебной блоке нашей страницы для учета, количества записей, при переполнении изменяем текущий блок на следующий. Дополнительно в данной случае можно реализовать дублирование информации в соседних блоках и проверку корректности сохранения. Это один из способов. В каждом случае нужно смотреть на то ,какие данные нужно сохранять. требования к надежности, объему этих данных, скорости работы и прочее...
@f33net
@f33net 6 жыл бұрын
Да, со знанием алгоритмов и логикой поле не пахано. :) Самый простой и универсальный: перед использованием обнуляем всю флэшку, первое слово - длинна записи + размер слова, R1:=0, читаем по адресу R1, , если 0, по адресу R1 последняя запись, иначе прибавляем к R1 прочитанное и переходим к "читаем по адресу R1". Запись - аналогично, но когда R1+размер блока данных вылазит за размер флэшки, обнуляем флэшку и R1. И ещё раз: флешка не для пиления её часто меняющимися данными. А 100 000 циклов это каждую минуту непрерывно писать 3 года в одно место.
@bjakamax
@bjakamax 6 жыл бұрын
писать блоками, сохранять блоки вместе с инкрементируемыми номерами, после перезагрузки искать блок с максимальным номером, ну например.
@dkim7
@dkim7 6 жыл бұрын
а с чем выше скорость работы: с eeprom или с SD картой памяти?
@UCanDo
@UCanDo 6 жыл бұрын
У них совершенно разное назначение. Как бы не корректно сравнивать одно с другим. Правильно сравнивать SD и SPI FLASH. Я пробовал, но особой разницы не заметил.
@electrosssnake8513
@electrosssnake8513 6 жыл бұрын
Согласен, хотел также написать, не разумно использовать EEPROM для большого количества информации.
@TDMLab
@TDMLab 6 жыл бұрын
Эта eeprom по I2C работает 400кГц макс. для ардуино и 1мГц для самой микросхемы, а SD по SPI интерфейсу до 8 МГц для ардуино и до сотен МГц вообще.
@user-oy7vn6mk1t
@user-oy7vn6mk1t Жыл бұрын
3:10 а всмысле, зачем пропустили WP? Не знаете что это?
@krepton85you
@krepton85you 6 жыл бұрын
А чем отличаются 24с32 , 24с64, 24с128, 24с256, 24с512, кроме объема? Почему АТМЕЛ разделил эти модели по разным даташитам, ведь эта библиотека походу поддерживает все эти модели, все они с 16 битной (2-х байтовой) адресацией памяти, не подойдет эта библиотека только для 24с01-24с16 (эти 8 битную адресацию памяти имеют).
@UCanDo
@UCanDo 6 жыл бұрын
Даже и не знаю. Приходит на ум только две вещи: разное время производства (может у них разная структура?). Ну и разные производители. ST тоже производит такие же EEPROM
@yl923
@yl923 2 жыл бұрын
А если надо прочитать значения еепром в другой системе, достаточно будет прижать ресет МК к земле, что бы он не мешал считывать?
@UCanDo
@UCanDo 2 жыл бұрын
Лучше всего выпаять EEPROM но если такой возможности нет, то тогда придётся изгаляться.
@yl923
@yl923 2 жыл бұрын
@@UCanDo Какие варианты мазахизма есть? Может есть смысл стучаться напрямую через СОМ порт? Но какая тогда прога нужна?
@UCanDo
@UCanDo 2 жыл бұрын
Чтобы считать EEPROM нужно подключаться на прямую к микросхеме. Проблема заключается в том что при подаче питания на плату могут быть задействованы другие узлы устройства, которые займут шину данных EEPROM, из-за чего считать содержимое микросхемы не получится. Именно по этому EEPROM выпаивают и считывают отдельно на программаторе. В остальных ситуациях все крайне индивидуально. И зависит от схемотехники устройства. Но в любом случае содержимое EEPROM должно считываться на прямую при помощи программатора.
@yl923
@yl923 2 жыл бұрын
@@UCanDo С программатором проблем считать нет. Проблема в том, что корпус может быть не SOIC8, а BGA или TSSOP и ты уже её не зажмёшь... При этом мне нужно к примеру считать данный в конкретной ячейке. Что бы МК не дёргался и не занимал шину, полагаю надо прижать его ресет к земле, что бы он не дёргался... Я просто даже не знаю с чего начать в данном случае, никакой толковой инфы нет...
@UCanDo
@UCanDo 2 жыл бұрын
Есть переходники. EEPROM напаивается на переходник. А дальше обычное чтение через программатор. По схеме вам ничем не подскажу. Так каких-то крайне ситуативно.
@KiberDoktoR
@KiberDoktoR 6 жыл бұрын
Интересное решение. Но у меня вопрос: в C++ union уже отменили? Зачем этот велосипед?
@UCanDo
@UCanDo 6 жыл бұрын
Этот "велосипед" и мне самому не очень... Но других решений просто не встречал. Можете дать ссылку где об этом почитать можно?
@UCanDo
@UCanDo 6 жыл бұрын
Почитал я про C++ union. И что-то я не понял причем здесь union к записи в EEPROM
@IgorYegorkin
@IgorYegorkin 6 жыл бұрын
union позволяет объявить вместе структуру данных и одновременно массив из байтов в одном и том же месте памяти. Для работы с данными обращаемся к структуре, а для чтения-записи всего блока вместе - к массиву байт. Можно и через указатели, но так тоже можно.
@UCanDo
@UCanDo 6 жыл бұрын
Да, но это только работа с данными. Это никак не поможет в одну ячейку EEPROM записать дробное число, на пример 39.1
@IgorYegorkin
@IgorYegorkin 6 жыл бұрын
Конечно, одной буквой слово не запишешь, но это альтернативный путь разобрать слово на буквы. Хотя лучше через указатель.
@user-fd7fj4ii8g
@user-fd7fj4ii8g 5 жыл бұрын
Ардуино захватывает мир
@cutefox8319
@cutefox8319 4 жыл бұрын
Хмм, а в чем вообще преимущество внешней ЕЕПРОМ, ведь можно просто микроСД карту использовать и хранить данные там. Ну разве что ЕЕПРОМ юзает i2c а микроСД SPI вроде.. но если выбирать между микроСД и ЕЕПРОМ, какие факты есть для перевеса в сторону внешней ЕЕПРОМ?
@UCanDo
@UCanDo 4 жыл бұрын
Между ними очень большая разница. Micro SD в первую очередь это хранилище файлов, а EEPROM - хранилище переменных. Это можно сравнить с компьютером. Жесткий диск - SD, а оперативка - EEPROM. Хотя такое сравнение тоже не совсем верное. EEPROM тоже предназначена для хранения информации. Но только переменных. На пример, у вас есть переменная х, которая = 211. Вы просто задаете адрес в EEPROM и туда эту переменную записываете, для сохранности. Потом (опять же) обратившись только к адресу EEPROM, можно назад получить значение переменной. Да, можно сохранять переменные и на флешку, но для этого нужно создать файл, открыть его для записи, записать переменную (при этом обязательно нужно знать сколько байт эта переменная занимает, но это верно и для EEPROM), закрыть файл. Потом, при восстановлении переменной, открыть файл, считать именно столько байт, сколько нужно, перевести считанные байты в значение переменной.... Зато работа с файлами и папками на флешке идет без проблем, а вот на EEPROM создать файловую систему не получится. Вообще рекомендую почитать на эту тему что-нибудь. Слишком много между ними отличий чтобы я смог их все перечислить. Еще одно отличие: EEPROM имеет очень "мало" памяти. 8 килобайт считается много. Сохранить картинку не получится. А вот переменных можно сохранить аж 8 тысяч! Ну а какой объем у флешек, думаю вы и сами знаете.
@cutefox8319
@cutefox8319 4 жыл бұрын
@@UCanDo благодарю за весьма подробный ответ! Примерно понятно, у ЕЕПРОМ доступ быстрее будет осуществляться, хотя смотря для каких целей.. скажем, прочитать настройки/опции при запуске системы такая разница в скорости наверное не критична.. другое дело если попытаться ее использовать как "оперативную память".. кстати.. отсюда вытекает такой вопрос - а есть ли вообще возможность как-то добавить оперативной памяти микроконтроллеру? Мне тут где-то в комментах попалось что-то про SPI Flash, потом я стал искать на Ютубе это, попалось Serial Flash, там рассказывалось что можно к МК подключить такой модуль и можно во время работы программы пользоваться этой памятью как если бы она была обычной встроенной оперативной, т.е. создавать переменные, обращаться к ним, как я понял это без дополнительных усилий типа специального обращения к чипу в коде.. возможно ли что-то такое на АТмега или тех же ESP32 STM32? Или же это совсем другое что-то.. в общем можно ли как-то добавить ОЗУ и при этом свободно ею пользоваться, чтобы скажем то же создание массива byte x[1000]; автоматически черпало память из дополнительного чипа?
@S60Team
@S60Team 4 жыл бұрын
Ссылка на Гугл диск не работает. Исправьте, пожалуйста!
@UCanDo
@UCanDo 4 жыл бұрын
Добрый день. Ссылка работает. Только что проверил. Замечено что мобильные устройства (телефоны, планшеты) часто некорректно обрабатывают ссылки. По этому лучше открывать их с компьютера.
@svbHiTek
@svbHiTek 2 жыл бұрын
А почему не упомянули что если кто то, из посмотревших решит все тоже самое повторить в цикле loop, в вашем случае Setup выполняется один раз, при старте, то может достаточно быстро протереть дыру в памяти, вообще с этой памятью нужно обращаться осторожно. Автор явно далек от электроники и от программирования. Правильно сказал мне как то один человек: "Раньше в интернете была только полезная информация, так как выходить в него могли в большинстве своем грамотные люди, а сейчас любой у кого есть компьютер строчит бестолковые статьи даже не разбираясь в том о чем ведет речь". Лучше нужно готовиться, а не стряпать ролики как попало.
@UCanDo
@UCanDo 2 жыл бұрын
То есть в собственной необразованности и глупых действиях вы вините меня??? 🤦‍♂️
@svbHiTek
@svbHiTek 2 жыл бұрын
Да я то не виню, просто кто то не опытный может споткнуться на этом месте, а вы этого не упомянули в видео, даже вскользь, что не есть хорошо, раз уж взялись пилить обзор, пилите до конца. А так получается обзор для галочки. В сети очень много контента, но так мало полезного и качественного.
@crisselectronicprojects8408
@crisselectronicprojects8408 5 жыл бұрын
Arduino с I2C и OLED-EEPROM. EEPROM предоставляет данные для монохромного изображения. Кто-нибудь знает?
@UCanDo
@UCanDo 5 жыл бұрын
Сохраняете картинку на EEPROM, а потом ее считываете и выводите. Но EEPROM не для этого предназначена. Вам надо SPIFLASH
@UCanDo
@UCanDo 5 жыл бұрын
У вас не хватает памяти в скетче?
@crisselectronicprojects8408
@crisselectronicprojects8408 5 жыл бұрын
да. кто-то использовал atma16 с EEPROM: imgur.com/eCP8MgM Мне удалось загрузить EEPROM с помощью библиотек : github.com/cyberp/AT24Cx
@UCanDo
@UCanDo 5 жыл бұрын
Посмотрите это видео: kzfaq.info/get/bejne/iZ6Tlayd0b_HYX0.html Создаете нужную картинку, получаете массив вида: static unsigned char gImage_1[] U8G_PROGMEM = {0x00,0x00,0x00,............} Где каждая точка представлена в виде 0x00 Создаете скетч, с картинкой. Этот скетч "по точечно" сохранит картинку в EEPROM. Потом в пишите новый скетч в котором будет функция считывания картинки прямо с EEPROM
@crisselectronicprojects8408
@crisselectronicprojects8408 5 жыл бұрын
Для меня не проблема создавать изображения: kzfaq.info/get/bejne/pJxzpZyWutvZkZc.html
@user-er1nn1qg9r
@user-er1nn1qg9r 4 жыл бұрын
пожалуйста, перезалей библиотеку и скетч, так как указанная ссылка выдает 404. заранее благодарен
@UCanDo
@UCanDo 4 жыл бұрын
Ссылка рабочая. Ошибка бывает если открывать на телефоне или планшете. Открывайте ссылку на компьютере
@user-er1nn1qg9r
@user-er1nn1qg9r 4 жыл бұрын
@@UCanDo слушай, ну тогда подскажи как с компа через какой браузер качать? все мне известные выдают ошибку 404, тоже самое после формата ц и установки чистой системы. как черт побери у тебя работает эта ссылка?
@UCanDo
@UCanDo 4 жыл бұрын
Странно, у меня открывается. Пробую в Хроме. Только что проверил, в Опере ссылка не открывается (тоже 404). Раньше работало. Несколько дней назад изменилась политика предоставления услуг Гугла, может это как-то повлияло. Архив перезалил. У меня открывается во всех браузерах. Так же дублирую ссылку здесь: drive.google.com/open?id=1l99bhLMaMlG-IKiN5CK7zrPUeQ__8aQJ
@anlaz1
@anlaz1 5 жыл бұрын
Здравствуйте, помогите решить такую задачу: Есть необходимость на платформе Arduino по команде (внешняя кнопка - например) включить шаговый двигатель. После выполнения заданного числа оборотов (1000) остановить его и включить второй шаговый двигатель с аналогичной задачей (допустим 2000 оборотов)и стоп. После получения второй команды программа отрабатывает все в обратном порядке. Сначала второй мотор 2000 оборотов в обратном направлении, затем первый 1000 оборотов в обратном направлении. Нужен скетч программы, по возможности с подробными комментариями, так-как ваш покорный слуга сущий чайник в программировании С уважением и надеждой.
@masterkit9517
@masterkit9517 5 жыл бұрын
это очень легко, поищите сами
@anlaz1
@anlaz1 5 жыл бұрын
Как говорил товарищ Бендер: "Я бы взял по частям, но мне нужно сразу". Что в моем случае означает - написал бы, да не умею. Поэтому и обратился к Вам.😶
@masterkit9517
@masterkit9517 5 жыл бұрын
xn--18-6kcdusowgbt1a4b.xn--p1ai/%D1%88%D0%B0%D0%B3%D0%BE%D0%B2%D1%8B%D0%B9-%D0%B4%D0%B2%D0%B8%D0%B3%D0%B0%D1%82%D0%B5%D0%BB%D1%8C-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE/ здесь для начала найдите меня в vk там пишите
@krypton1886
@krypton1886 Жыл бұрын
@@anlaz1, разобрались?
@anlaz1
@anlaz1 Жыл бұрын
К сожалению не могу найти правильный скетч.☹
@user-sk4ns8sx6k
@user-sk4ns8sx6k 5 жыл бұрын
Ссылка на библиотеку и скетч не работает!?
@UCanDo
@UCanDo 5 жыл бұрын
Ссылка работает. Перепроверил только что.
@user-sk4ns8sx6k
@user-sk4ns8sx6k 5 жыл бұрын
пишет 404. Произошла ошибка. Не удалось найти запрошенный URL на этом сервере. Это все, что мы знаем.
@UCanDo
@UCanDo 5 жыл бұрын
Вы с планшета открываете или с телефона? Ссылка ведёт на ГуглДиск. С компьютера открывается без проблем
@user-sk4ns8sx6k
@user-sk4ns8sx6k 5 жыл бұрын
с ноута, похоже у меня не установлен гугл.диск?!
@UCanDo
@UCanDo 5 жыл бұрын
Нет, должна открыться в браузере страница с возможностью скачать файл. Это общедоступный ресурс. Попробуйте в другом браузере. Может у вас проблема с какими-то блокировщиками, или антивирусом.
@kurmaev13
@kurmaev13 4 жыл бұрын
Ссылка на библиотеку и скетч не работает!
@UCanDo
@UCanDo 4 жыл бұрын
Ссылка рабочая. Только что проверил. Если открываете ссылку на телефоне или планшете, то иногда такое наблюдается. Попробуйте открыть ссылку на компьютере.
@gennadiykuznetsov3723
@gennadiykuznetsov3723 6 жыл бұрын
А 25 серию так перепрошить можно?
@UCanDo
@UCanDo 6 жыл бұрын
25-я серия это не EEPROM, а SPI FLASH. С ней совершенно другой принцип работы. Постараюсь в будущих видео сделать на них обзор.
@gennadiykuznetsov3723
@gennadiykuznetsov3723 6 жыл бұрын
Спасибо за ответ. Она у меня в телеке спрыгнула, перепрошить надо, а под рукой только arduino mega.
@kiprus1476
@kiprus1476 3 жыл бұрын
@@gennadiykuznetsov3723программатор ch341a за не дорого можно купить(200 руб) и можно будет кучу всего прошивать
@user-er1nn1qg9r
@user-er1nn1qg9r 4 жыл бұрын
перезалей скетч с библиотекой и дай нормальную ссылку. та что есть под видео не работает
@UCanDo
@UCanDo 4 жыл бұрын
Ссылка рабочая. Бывает что ссылки на ГуглДиск не открываются на телефонах или планшетах. Открывайте с компьютера.
@user-ow4pv1ir8u
@user-ow4pv1ir8u 6 жыл бұрын
Это что, прикол? Во-первых, hex - 16-ричное, а не двоичное. Во-вторых, о формате дробных чисел уже в школе рассказывают. Открою Вам гигантскую тайну: бывают еще и отрицательные числа. В школу, господа, в школу!
@UCanDo
@UCanDo 6 жыл бұрын
Приведите, пожалуйста, пример как дробное число записать в одну ячейку
@user-ow4pv1ir8u
@user-ow4pv1ir8u 6 жыл бұрын
+Home Made - 1 бит под порядок, 7 бит мантисса
@AndriiNikolaiev
@AndriiNikolaiev 4 жыл бұрын
@@user-ow4pv1ir8u Порядок 1 бит? Вы серьёзно?
@Gameplayer55055
@Gameplayer55055 5 жыл бұрын
А 24со8?
@UCanDo
@UCanDo 5 жыл бұрын
Тоже EEPROM , 1 килобайт
@Igoryanik
@Igoryanik 3 жыл бұрын
а как записать и считать int значение из внешней памяти
@UCanDo
@UCanDo 3 жыл бұрын
Для этого нужно число разбить на две части, старший и младший байты, и каждый байт сохранять отдельно. По этому для сохранения int понадобится две ячейки EEPROM. Немного позже приведу пример кода
@Igoryanik
@Igoryanik 3 жыл бұрын
@@UCanDo ок спс было бы неплохо глянуть
@UCanDo
@UCanDo 3 жыл бұрын
#define addr 0 // адрес, занимает 2 байта int i = 2500; // переменная void setup() { writeIntIntoEEPROM(addr, i); // сохраняем значение в EEPROM i = readIntFromEEPROM(addr); // читаем из EEPROM } void loop() { } void writeIntIntoEEPROM(int address, int number) { EEPROM.update(address, number >> 8); EEPROM.update(address + 1, number & 0xFF); } int readIntFromEEPROM(int address) { byte byte1 = EEPROM.read(address); byte byte2 = EEPROM.read(address + 1); return (byte1
@Igoryanik
@Igoryanik 3 жыл бұрын
@@UCanDo не работает с внешней памятью
@UCanDo
@UCanDo 3 жыл бұрын
Работает. Просто стандартные команды записи и чтения замените на команды записи и чтения для внешней памяти: Вместо EEPROM.update напишите: eeprom.writeByte EEPROM.read замените на: eeprom.readByte
@avtohelpII
@avtohelpII 5 жыл бұрын
Сканер видит 24C04 и 24C16, не с одним, а с множеством адресов Сканер I2C eeprom AT24C04 Scanning... I2C device found at address 0x50 ! I2C device found at address 0x51 ! done kzfaq.info/get/bejne/bMmenMKrsLXXoXU.html Сканер I2C eeprom AT24C16 Scanning... I2C device found at address 0x50 ! I2C device found at address 0x51 ! I2C device found at address 0x52 ! I2C device found at address 0x53 ! I2C device found at address 0x54 ! I2C device found at address 0x55 ! I2C device found at address 0x56 ! I2C device found at address 0x57 ! done kzfaq.info/get/bejne/rbWoqraU09qoj3k.html Подскажите пожалуйста, как решить эту проблему или киньте ссылку где можно об этом узнать.
@UCanDo
@UCanDo 5 жыл бұрын
Это очень странно. Может что-то не так подключено? Попробуйте с этим вопросом обратиться на форум radiokot
@user-vj3fj2hu1x
@user-vj3fj2hu1x 3 жыл бұрын
HEX есть 16 разрядов, а не 2 разряда 6:00
@UCanDo
@UCanDo 3 жыл бұрын
Оговорился
@rogalik007
@rogalik007 6 жыл бұрын
Говори слово write - врайт. Так правильно.
@user-kc1jj4jk4n
@user-kc1jj4jk4n 6 жыл бұрын
Рогалик как раз врайт говорить не правильно Правильно говорить райт
@francoisdastardly4405
@francoisdastardly4405 5 жыл бұрын
If you put an english title you MUST speak english.
@rKvinty
@rKvinty 3 жыл бұрын
У него не английский заголовок
DHT22 (DHT11) and Arduino
4:50
Home Made
Рет қаралды 6 М.
Arduino and the port extender PCF8574
7:31
Home Made
Рет қаралды 24 М.
Разбудила маму🙀@KOTVITSKY TG:👉🏼great_hustle
00:11
МишАня
Рет қаралды 3,9 МЛН
Miracle Doctor Saves Blind Girl ❤️
00:59
Alan Chikin Chow
Рет қаралды 25 МЛН
We accelerate Arduino more than 20 times!
28:18
Home Made
Рет қаралды 69 М.
Using EEPROM with Arduino - Internal & External
31:54
DroneBot Workshop
Рет қаралды 191 М.
Arduino and the display 1602 in Russian
7:26
Home Made
Рет қаралды 80 М.
ATtiny26 - новый король бомж самоделок?
10:40
Заметки Ардуинщика
Рет қаралды 317 М.
Энергонезависимая память ардуино. EEPROM
18:12
Разные разности
Рет қаралды 9 М.
ПК с Авито за 3000р
0:58
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,3 МЛН
ПРОБЛЕМА МЕХАНИЧЕСКИХ КЛАВИАТУР!🤬
0:59
Корнеич
Рет қаралды 3,1 МЛН
Добавления ключа в домофон ДомРу
0:18
НЕ ПОКУПАЙ iPad Pro
13:46
itpedia
Рет қаралды 422 М.