Запускаем Arduino от DIY-батарейки из лимона

в 13:12, , рубрики: arduino, DIY, fpga, Гальванический элемент, Лимонная батарейка, мохито, ПЛИС, Программирование
Запускаем Arduino от DIY-батарейки из лимона - 1

В 2018 году я уволился из российского подразделения Atmel (компании, которая разработала микроконтроллеры ATmega, применяемые в Arduino) и был приглашён в южноамериканское подразделение NXP. На собеседовании в числе прочих был один весьма забавный вопрос: «Как вы запустите демоплату с микроконтроллером MCXA143VLH, если окажетесь в античной Греции?» Мой ответ про батарейку из лимона приятно удивил собеседника.

Такую батарейку каждый читатель легко может сделать у себя дома. И сегодня я расскажу как. А чтобы убедиться в том, что батарейка функциональна, мы подключим к ней Arduino, который выполнит написанный нами код.

Два металла

Для батарейки нам потребуется пара пластин из двух различных металлов. Например, из меди и цинка.
Медную пластину можно вырезать из токопроводящей силовой шины:

Запускаем Arduino от DIY-батарейки из лимона - 2

Цинковую пластину можно купить в магазине химических реактивов.

Обе пластины необходимо протереть содой и обрезать так, чтобы они по размерам могли поместиться в стакан.

Запускаем Arduino от DIY-батарейки из лимона - 3

После этого каждую пластину необходимо разметить и просверлить в двух точках.
Затем пластины нужно соединить при помощи изолирующего крепежа. Для этого подойдут белые нейлоновые гайки и винты М4×40.

Запускаем Arduino от DIY-батарейки из лимона - 4

Для подключения Arduino к батарейке нам потребуется сделать кабельную сборку из разъёма питания, кабеля, термоусадки и двух «крокодилов».

Запускаем Arduino от DIY-батарейки из лимона - 5

Разбираем разъём, надеваем его кожух на кабель, зачищаем кабель, накидываем на него термоусадку, припаиваем кабель к «крокодилам» и разъёму. Затем усаживаем термоусадку на «крокодилы» при помощи паяльного фена и надеваем кожух разъёма питания обратно.
Важно, чтобы красный провод был припаян к центральному контакту разъёма питания и «крокодилу» красного цвета.

Запускаем Arduino от DIY-батарейки из лимона - 6

Наш код

Отвлечёмся ненадолго от электрической части и займёмся программной.

Подключим Arduino к компьютеру, откроем Arduino IDE и создадим новый скетч.

Запускаем Arduino от DIY-батарейки из лимона - 7

Проинициализируем вывод микроконтроллера, подключенный к светодиоду. Для этого пишем в функцию setup следующую строчку:

pinMode(LED_BUILTIN, OUTPUT);

Затем в функцию loop добавим включение и выключение светодиода:

digitalWrite(LED_BUILTIN, HIGH);
digitalWrite(LED_BUILTIN, LOW);

Далее добавим после каждой функции digitalWrite задержку — функцию delay(500).
Итог должен выглядеть так:

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  digitalWrite(LED_BUILTIN, HIGH);
  delay(500);
  digitalWrite(LED_BUILTIN, LOW);
  delay(500);
}

Теперь нажимаем «Проверить», а затем — «Загрузка».

Запускаем Arduino от DIY-батарейки из лимона - 8

Если жёлтый светодиод на Arduino начал мигать, значит всё сделано правильно.

Мохито

Вернёмся к батарейке. Чтобы она заработала, потребуется электролит. Для его приготовления можно взять обычный жёлтый лимон, но я взял лайм. И добавил немного мяты. Рекомендую то же сделать и вам :)
Важное замечание: после опускания в получившийся мохито пластин батареи пить его больше нельзя!

Теперь берём стакан с нашим безалкогольным мохито, опускаем туда скреплённые пластины, выставляем на мультиметре режим измерения напряжения, подключаем «крокодилы» мультиметра к пластинам и смотрим, какое напряжение даёт наша батарейка.

Запускаем Arduino от DIY-батарейки из лимона - 9

Напряжение появляется от того, что у цинка и меди различные электродные потенциалы. У меди он равен +0,25 вольт, а у цинка −0,68 вольт. Вместе получается +0,93 вольт.

Регулятор напряжения

Запускаем Arduino от DIY-батарейки из лимона - 10

В Arduino сразу после разъёма питания установлен регулятор напряжения. Его входное напряжение может находиться в интервале от 6,5 до 12 вольт. Сам регулятор постоянно отслеживает напряжение на выходе и приоткрывается так, чтобы выходное напряжение всегда составляло ровно 5 вольт.

Для того чтобы эта схема заработала, нам потребуется последовательно соединить несколько отдельных лимонных батарей.

Запускаем Arduino от DIY-батарейки из лимона - 11

Теперь нам следует присоединить «крокодилы» кабельной сборки к пластинам так же, как «крокодилы» мультиметра, когда он показывал положительное напряжение. Важно не перепутать полярность: плюс — к меди, минус — к цинку. Затем воткнуть штекер кабельной сборки в разъём питания Arduino, предварительно отключив Arduino от USB.

Запускаем Arduino от DIY-батарейки из лимона - 12
Запускаем Arduino от DIY-батарейки из лимона - 13

Заключение

Как видите, запустить Arduino можно без подключения к USB или адаптеру питания. И это достаточно просто, если быть аккуратным.

Большое спасибо, что прочитали эту статью. Если вам понравилась эта статья, ставьте лайки, оставляйте комментарии, делитесь статьёй со своими друзьями. А также подписывайтесь — здесь на Хабре, либо на мой Телеграм. Также буду признателен, если поучаствуете в опросе в конце статьи.

Если же у вас всю статью зрел вопрос вроде «что это, чёрт побери, такое??», то у меня есть что вам ответить.

Ответ

Данная статья — своего рода эксперимент. Это попытка написать максимально пустую, вторичную, бесполезную, но в тоже время конъюнктурную статью.

Во‑первых, код мигалки светодиодом в Arduino IDE делается в два клика. Он есть в готовых примерах. Его не надо писать.

Запускаем Arduino от DIY-батарейки из лимона - 14

Во‑вторых, статей, описывающих мигание светодиодом на Arduino, только на Хабре три штуки:

А в целом, несмотря на то что Arduino появилась в 2005 году, подобные статьи выходят до сих пор. Например LED Blinking Using Arduino, опубликованная 3 июля 2024 года.

Сама лимонная батарейка является настолько типовым демонстратором гальванического элемента, что ей посвящена статья в Википедии, а также, например, эпизод в 22‑й серии 6‑го сезона Теории большого взрыва (там, правда, вместо лимона была картофелина).

Кроме этого, для гальванического элемента вовсе не нужны именно цельномедный и цельноцинковый электроды. Прекрасно подойдёт оцинкованная сталь и FR4 — меднёный стеклотекстолит.

Запускаем Arduino от DIY-батарейки из лимона - 15

Если есть желание использовать именно чистые металлы, то на AliExpress продаются готовые наборы из парных пластин.

Запускаем Arduino от DIY-батарейки из лимона - 16

Протирание содой, сверление и пластиковый крепёж для работы гальванического элемента абсолютно бесполезны. Чтобы пластины не замкнулись в стакане, достаточно просто положить между ними большой кусок лимона.
Однако все эти манипуляции очень нужны для другого.

Дело в том, что лента Хабра в куда большей степени является развлекательным аттракционом, чем научно‑технической библиотекой.
Я предположу, что наиболее частая схема при чтении статей такова:

  1. Фиксация внимания на КДПВ, заголовке и аннотации

  2. Вход в статью, чтение первых 3‑5 абзацев

  3. Оценка статьи ±1

  4. Чтение примерно до середины

  5. Выход из статьи

  6. Повторение действий со следующей статьёй

Подобный алгоритм в лучшие времена Хабра служил для удовлетворения поискового инстинкта и ощущения единения с научно‑техническим сообществом. В таком случае маловероятны попытки буквально повторить опыт. Здесь скорее идёт речь о погружении в «ритуализованное» действо.

Вместо «забросить две готовые пластины в стакан с лимоном» здесь многоступенчатый набор операций, назначение которых не вполне прозрачно.

Зачем протирать содой? Почему не наждачной бумагой? Почему вообще надо протирать пластины? Появившись, эти вопросы сами собой находят ответы.
Протирать — чтобы очистить поверхность. И безразлично, что агрессивная среда гальванического элемента сама очистит практически что угодно.
Может быть сода потому, что она всегда под рукой, не нужно искать наждачную бумагу? А может, она аккуратнее счищает окисел, а наждачная бумага — грубее? А может она работает как какой‑нибудь активатор?
Какая разница? Главное, теперь известно сакральное знание — протирать надо содой.

Такая тональность статей и заметок меня всегда вводила в недоумение, когда я читал разделе «маленькие хитрости» в журналах «Наука и жизнь», «Техника — молодёжи» и подобных изданиях. Но теперь я, кажется, понимаю как это работает :)

Точные значения электродных потенциалов в лимонном соке я взял с первого попавшегося сайта, чтобы их сумма примерно соответствовала напряжению одного лимонного гальванического элемента. В конце концов, в развлекательной статье не нужны точные числа. Важно лишь их принципиальное наличие — оно создаёт научность :)

Также выдумкой была и история про Atmel с NXP.
Многие слышали легенду про собеседования в Google, в которых были в том числе вопросы на общую сообразительность. Почему бы не следовать этой легенде? Почему бы не предложить подумать: «о, а я знал про лимонную батарейку! Может, меня бы тоже взяли в NXP?»

Надеюсь, кто‑нибудь оценит пару «пасхальных яиц» относительно 2018 года:

  • Atmel был куплен компанией Microchip и прекратил своё существование ещё в 2016 году

  • Микроконтроллер MCXA143VLH, один из новейший у NXP, был выпущен в 2024 году

А ещё я выставил уровень статьи как «Сложный». Это для Технотекста 2024.
Дело в том, что сравнительно недавно появилась механика, предлагающая авторам самостоятельно определить такой субъективный параметр статьи, как сложность. А затем, в конкурсе Технотекст 2023, участникам было предложено промаркировать свои статьи как Junior, Middle и Senior.
Что это значит? Что статья написана для миддлов, или что статья написана миддлом? Что вообще такое — быть миддлом, например в DIY? Кто его знает...
При этом в каждой номинации разыгрывалось три награды, по одной для каждого уровня.
Большинство авторов оценили уровень своих статей как Junior или Middle. Это большинство было настолько подавляющим, что в некоторых номинациях в Senior попало две, одна или даже ноль статей. Эксперимент был признан не на сто процентов удачным, тем не менее награды нашли своих героев. В том числе тех, кто буквально вырвал победу в потной схватке с... самим собой.

Наконец, я добавил эту статью в хаб FPGA.
Мешает ли непрофильное содержимое статьи иным известным и популярным хабровским авторам приписывать её к наиболее «вкусным» хабам?
Нисколько.
Есть ли в данной статье что‑нибудь про FPGA?
Конечно! FPGA ведь питаются электрическим током, а лимонная батарейка его как раз вырабатывает. Так почему бы и нет? :)

Проблема в том, что (я уверен на 90%) — данная пустая, бестолковая статья превзойдёт по рейтингу, скажем, статью Согласование импедансов: симуляторы и симуляция. Часть 2. Хотя в той статье и уникальный материал (в рунете нет подобных инструкций по работе с Keysight ADS), и экспериментальные данные, полученные как в симуляторах, так и на реальных дорожках.

На этом месте можно было бы выкрикнуть что‑нибудь эмоционально‑истеричное вроде «Доколе?! Хабр — не тот!!!». Но как представляется, подобные восклицания никогда не рассматривают структуру системы. Не пытаются ответить на вопросы: как мы пришли к подобному; могло ли получиться иначе; может ли то, что кажется лишним и вредным, выполнять какие‑либо важные функции; и тому подобное.

Поэтому я завершаю данную статью опросом (шуточным, как и вся статья в целом). А ряд мыслей по поводу некоторых аспектов функционирования нашего инженерного сообщества я выделяю в отдельную статью (ссылка станет активна ровно через час после публикации настоящей статьи).

Автор: Flammmable

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js