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

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

Два металла

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

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

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

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

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

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

Наш код

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

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

Проинициализируем вывод микроконтроллера, подключенный к светодиоду. Для этого пишем в функцию 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 начал мигать, значит всё сделано правильно.

Мохито

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

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

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

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

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

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

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

Заключение

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

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

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

Ответ

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

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

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

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

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

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

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

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

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

  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), и экспериментальные данные, полученные как в симуляторах, так и на реальных дорожках.

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

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

Комментарии (14)


  1. fio
    14.10.2024 14:45

    Медную пластину можно вырезать из токопроводящей силовой шин

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

    Это вы уже уехали из античной Греции?

    Микроконтроллер можно запустить и от 1.8в - понадобится меньше мохито.


    1. Flammmable Автор
      14.10.2024 14:45

      Это вы уже уехали из античной Греции?

      Я скажу вам больше. Несмотря на то, что латунь - сплав меди и цинка - была известна в античные времена, чистый цинк был получен лишь в XVIII веке )))

      Микроконтроллер можно запустить и от 1.8в - понадобится меньше мохито.

      ATmega328P не запустится от 1.8 В. Ей нужно минимум 2,7В. А у Arduino ещё и вход питания пропущен через LDO.


  1. akhkmed
    14.10.2024 14:45

    Спасибо за статью.
    В предисловии к статье прочитал отслыку к другой.
    Проголосовал за ВВГнг, там может быть четырёхпроводное измерение сопротивления для оценки качества.


    1. Flammmable Автор
      14.10.2024 14:45

      Проголосовал за ВВГнг, там может быть четырёхпроводное измерение сопротивления для оценки качества.

      Видимо придётся писать про ВВГнг ))))


    1. vesowoma
      14.10.2024 14:45

      Аналогично, но у кабелей ***нг интересно насколько они как раз нг фактически, ибо видел прямо противоположное, скорее всего контрафактный замаркировали с обычной изоляцией


    1. Mike-M
      14.10.2024 14:45

      В предисловии к статье прочитал отслыку к другой.

      Что-то не вижу я эту "отсылку к другой", ни в предисловии ни в самой статье.

      Радует, что (пока?) в опросе побеждает "Анбоксинг бухты кабеля ВВГнг". Значит, с чувством юмора у большинства хабровчан всё в порядке ))


  1. kuzzdra
    14.10.2024 14:45

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

    Зачем переписывать blink из встроенных в IDE примеров?


    1. Flammmable Автор
      14.10.2024 14:45

      Скрытый текст

      Зачем переписывать blink из встроенных в IDE примеров?

      Без обид, но вашему комментарию видно, что спойлеры в статьях вы не открываете ))


    1. Mike-M
      14.10.2024 14:45

      Спасибо за вопрос. Отличный пример того, как читатели начинают комментировать, не прочитав всю статью до конца. Добавил ссылку в свои закладки )


  1. EvilTeacher
    14.10.2024 14:45

    Готовый рецепт для выживальщика в каменных джунглях: "Как применить дендрофекальные технологии, чтобы помигать светодиодом"... Осталось на 6-й день после Апокалипсиса добраться до развалин магазина химреактивов, опустошенного трамвайного депо (а где еще можно найти медную шинку?) и совершить набег на лаймовые плантации в 350 км от родного города...
    Пойду продам сюжет авторам "Фолаута"... Сюжетец уж больно забористый :)


  1. Yuri0128
    14.10.2024 14:45

    Эх, а чего не написано про батарйку на картошке? Хотя, с другой стороны, - ее, как и цинка, в древней Греции не было.... Яблоки были!!! Ну, возможно, и огурцы.. Соленые.


  1. smart_alex
    14.10.2024 14:45

    Сама статья понравилась, а от бреда под спойлером я просто выпал в осадок (не надо так брольше делать).

    И вопрос по существу: вы не написали самое интересное - какой ток короткого замыкания обеспечивает такой элемент?


    1. Yuri0128
      14.10.2024 14:45

      А какой смысл в токе КЗ для питания Ардуины? пару миллиампер такая батарейка точно обеспечит, а в реальности и много более. Но 10 ампер с нее вы не получите.


      1. smart_alex
        14.10.2024 14:45

        Так вопрос простой: какой конкретно ток даёт такой элемент? (Ардуина тут ни при чём)