31.12.2009

7DA!

Приближается новый, 11111011010-ый год. 

Желаю, чтобы в новом году было поменьше глюков, побольше новых чипов, море идей и замыслов, а также свободного времени, чтобы все это воплотить.... на благо всему живому, разумеется! ;)

24.12.2009

howtomakekit

По причине предстоящего пополнения, перемещаю все пошаговые инструкции о сборке из наборов деталей в howtomakekit.blogspot.com.

23.12.2009

OpenSolaris и Arduino

Народ вовсю обсуждает, что теперь ArduinoIDE будет работать и под OpenSolaris x86.

Думаю, уже пора делать версию для iPod и Xbox.

22.12.2009

Уроки Wiring (1)

На досуге немного статей для тех, кто делает самые первые шаги и плохо представляет себе базовые возможности Arduino (рекомендую к прочтению отдельную статью-faq на эту тему).

Урок 1. Из чего состоит Arduino?

Итак, вы собрались поразить мир невероятным электронным устройством и выбрали в качестве платформы Arduino. Но вот вопрос - а что у него, собственно, внутри?

Наверное, вы уже поняли, что на панельке возвышается "сердце" системы - микроконтроллер фирмы ATMEL ATmega328P-PU (иногда это может быть и ATmega168-20PU, и даже - ATmega8-16PU, пока для простоты считайте, что они отличаются лишь максимально возможным размером программы). Если ваши задумки не помещаются в ATmega328P, не паникуйте! Для этого придумали Arduino Mega.

Вернемся к тому, что расположено на плате:



  1. Разъем USB (квадратный, или B-типа) - основной канал общения Arduino с компьютером. Почти всю работу выполняет припаянный справа многоногий чип FT232RL, представляясь компьютеру в виде виртуального COM-порта. Во время обмена моргают светодиоды Rx и Tx. Кроме того, с этого же разъема Arduino будет получать стабилизированное питание +5В - именно от него питается микроконтроллер ATmega.
  2. Разъем питания 2.1/5.5 - альтернативный способ подать питание на Arduino, если под рукой нет компьютера с разъемом USB (c такой ситуацией приходится сталкиваться чаще, чем можно подумать). Когда будете подбирать подходящий блок питания, обращайте внимание на то, что плюс должен быть в центре, а напряжение - в пределах 7..20 Вольт. Идеально было бы питать его от 9 Вольт, иначе стабилизатор начинает ощутимо нагреваться. Часто переносные проекты питают от компактного и относительно недорогого элемента "крона" (6F22).
  3. Кнопка сброса. Работает в точности, как в "большом брате" - нажимаете ее, и все начинается с самого начала!
  4. Колодки цифровых пинов. Цифровые (digital) пины Arduino нумеруются от 0 до 13 и могут превращаться во входы или выходы - причем их роль можно менять прямо по ходу пъесы выполнения программы. Кое-где на них написано PWM, что означает возможность аппаратного ШИМ (широтно-импульсная модуляция, которую мы рассмотрим позже). AREF - это вход опорного напряжения внутреннего АЦП, может пригодиться при работе с аналоговыми значениями. GND - это "земля" или "минус" вашего источника питания. 
  5. Колодки аналоговых и прочих пинов. Справа расположены аналоговые пины - 0..5, их можно использовать для считывания аналоговых сигналов. В отличие от цифровых входов, которые при чтении могут давать только единицу или ноль, аналоговые выдадут вам число от 0 до 1023, в зависимости от текущего приложенного к ним напряжения. Если не хватает цифровых пинов, можно превратить эти выводы в цифровые - и тогда они получат номера 14-19. Левая часть колодки имеет специальное значение, разберем чуть подробнее:





    • RESET - дополнительный вход сброса. Зачем, если и так уже есть кнопка? Очень просто - на пины может надеваться так называемая Shield-плата со схемой, которой управляет Arduino, и до кнопки уже будет не добраться. Поэтому часто на Shield-плате делают еще одну - дублирующую и соединяют с этим входом. Сброс - это святое! ;)
    • 3V3 - питание +3,3 Вольта. Оно получается как бы "побочным" способом от USB-чипа FT323RL. Не исключено, что оно может пригодиться, но увы - допустимый ток всего 50мА! Для сравнения - порт USB может отдавать в 10 раз больше - 500мА.
    • 5V - питание +5 Вольт. Это линия питания микроконтроллера и всей схемы. При питании от внешнего источника, может отдавать до 1,5 А, так что смело используйте, но учтите - помехи на этой шине могут серьезно осложнить жизнь микроконтроллеру! 
    • GND - земля, причем сразу два контакта подряд. Так сделано для удобства.
    • VIN - напряжение, которое поступает прямо с разъема питания [2]. Те самые 7..20 Вольт о которых мы уже упоминали.



  6. Светодиод L. Это специальный тестовый светодиод, подключенный к цифровому входу номер 13. У Arduino нет встроенного дисплея или динамика и иногда единственный способ сообщить миру о том, что в вашей микропрограмме все плохо в порядке - помигать именно этим светодиодом.
У пытливых, наверное, уже созрел вопрос - а что будет, если подключить питание и к USB, и к разъему питания? Облако едкого дыма Да ничего страшного не произойдет - специальная схема на плате Duemilanova выберет, откуда брать питание. В других платах - например, в Diecimila, надо было механически переставлять джампер. Так что эта автоматика - приятное (в основном ;) усовершенствование.

Подводя промежуточный итог: по большому счету, Arduino состоит из микроконтроллера, моста USB-COM и светодиода "L". Микроконтроллер сам по себе содержит в себе много интересного, по умолчанию доступно:

  • универсальные цифровые пины ввода/вывода - 14 штук ( 0 - 13 )
  • аналоговые пины для чтения через АЦП - 6 штук ( 0 - 5 )
  • два пина, которые могут быть источником прерываний ( 2 и 3 )
  • таймер, который отсчитывает число миллисекунд, прошедших с момента старта.
Если подключить некоторое количество библиотек, можно также получить доступ к таким ресурсам:
  • энергонезависимая память (EEPROM) и память программ (FLASH);
  • таймеры;
  • последовательный порт (UART);
  • двупроводная шина, совместимая с I2C.
Что дальше? Конечно же, программировать!

(продолжение следует: Урок 2. Запуск ArduinoIDE)

20.12.2009

Удвоение пинов Arduino (1)

Часто приходится слышать, что "буду покупать Arduino Mega, потому что в обычном Arduino мало выводов". Действительно: а что делать, если цифровых выводов Arduino хронически не хватает? Тем, кто настроен на покупку, настоятельно рекомендую Freeduino Mega 2560 - по крайней мере, и выводов, и возможностей у нее побольше.

Но есть и более дешевый способ, о котором не подозревают начинающие. Попытаемся исправить ;)

Часть I. Размножение выходов, или ShifOut

Понадобится логическая микросхема, которая принимает данные последовательно, а выдает – параллельно. Наиболее популярным решением является 74HC595:



Полностью ее название звучит как 8-bit serial-in, serial or parallel-out shift register with output latches; 3-state, а по-русски - восьмибитный сдвиговый регистр с последовательным входом и последовательным или параллельным выходом с защелкой и высокоимпендансным выходом.

Для нас это значит, что микросхема умеет последовательно, бит за битом, принимать данные по двум входам и по команде "покажи" выставлять полученный код на своих восьми выходах. Заглянем внутрь (а там сплошные триггеры ;):



"Защелка" (по англ. latch) – это регистр хранения на выходе, который удерживает предыдущий принятый код, пока последовательным способом принимается очередная порция данных. В процессе сдвига данные передаются слева направо между триггерами FFx: со входа DS в FF0, с выхода FF0 в FF1 и так далее; самое последнее значение "выталкивается" из FF7 и теряется навсегда в окружающем пространстве-времени. Но расстраиваться не стоит - это же сдвиговый регистр, ему так и положено работать! ;) В нужный момент FFx переписываются "вниз" - в триггеры LATCH и, если на то будет инверсный разрешающий сигнал OE (Output Enable), код появится на выходах Q0-Q7.

Eagle в курсе про 74HC595, искомый элемент располагается в библиотеке "74xx-eu", секция "74*595". Рисуем простейшую схему:


Немного смущает различное наименование выводов чипа 74HC595 в datasheet и в Eagle - видимо сказывается длительный срок жизни этой микросхемы. Но в любом случае, смысл у них один и тот же. На схеме сделаны следующие соединения:
  • вывод 8 – земля микросхемы 
  • вывод 16 – питание микросхемы 
  • вывод 13 - инверсное разрешение вывода информации – уровень логического нуля на этом входе разрешает выставить хранимый в защелке код на параллельные выходы (Q0-Q7, они же QA-QH). Для простоты подключаем к GND - всегда выводить;
  • вывод 10 – инверсный вход сброса сдвигового регистра. Тоже обходимся без него, поэтому делаем его пожизненно неактивным -  подаем туда логическую единицу (на то он инверсный), притягивая к питанию VСС;
  • вывод 14 - последовательный вход данных от МК. Подключаем его к digital 11;
  • вывод 11 - вход синхронизации данных, подключаем к digital 12;
  • вывод 12 - синхронизация защелки, подключаем к digital 8.
Как видите, в самом простом варианте у Arduino расходуются только три цифровых выхода.

#define DS   11
#define SHCP 12
#define STCP 8

void send595(byte output) {
  for (int i=0;i<8;i++){
    digitalWrite(DS,output & 1);
    digitalWrite(SHCP,LOW);
    delay(1);
    digitalWrite(SHCP,HIGH);
    output >>= 1;
  }
  digitalWrite(STCP,HIGH);
  delay(1);
  digitalWrite(STCP,LOW);  
}

void setup() {
  pinMode(DS,OUTPUT);
  pinMode(SHCP,OUTPUT);
  pinMode(STCP,OUTPUT);
  digitalWrite(SHCP,LOW);  
  digitalWrite(STCP,LOW);  
}

void loop() {
  for (int k=0;k<256;k++) {
    send595(k);
    delay(100);
  }
}


Если к каждому из выходов SV2 подключить по светодиоду, то мы сможем визуально последовательно наблюдать, как выглядят двоичные числа от 0 до 255 (снова и снова, пока работает loop ;).

Данные передаются по линии DS, при этом микросхема 595 воспринимает их по фронту сигнала SH_CP - это такой момент времени, когда сигнал переходит из состояния логического нуля в единицу. По окончании приема очередных восьми бит надо ненадолго установить ST_CP, чтобы поместить данные в защелку.

Я поместил вывод байта в отдельную процедуру send595(output) для наглядности, но теперь пора открыть страшную тайну пояснить, что в языке Wiring предусмотрен специальный оператор shiftOut(dataPin, clockPin, bitOrder, value), выполняющий побитовый вывод байтового значения value в порядке bitOrder (имеется ввиду направление вывода value - от старшего бита к младшему или наоборот - от младшего к старшему) через dataPin и clockPin. Как раз подходит для нашего случая:

#define DS   11
#define SHCP 12
#define STCP 8

void setup() {
  pinMode(DS,OUTPUT);
  pinMode(SHCP,OUTPUT);
  pinMode(STCP,OUTPUT);
  digitalWrite(SHCP,LOW);  
  digitalWrite(STCP,LOW);  
}

void loop() {
  for (int k=0;k<256;k++) {
    shiftOut(DS,SHCP,LSBFIRST,k);
    digitalWrite(STCP,HIGH);
    delay(1);
    digitalWrite(STCP,LOW); 
    delay(100);
  }
}


Подведем промежуточные итоги.

Мы пожертвовали тремя,  получили 8, в итоге добавив 5 дополнительных входов. У обычного Arduino 19 выходов, и, теоретически, можно использовать 6 групп по 3, получив 6 * 8 = 48 выходов.

Но не спешите делать вывод, что это предел. Предела вообще нет! Благодаря специальному последовательному выходу Q7`, можно объединить несколько микросхем, получив 16, 24, 32 и т. д. разрядов:


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

Чтобы изменить состояние хотя бы даже одного из выходов 75HC595, нам придется прогнать  последовательно все 8, 16, 24, 32... разряда через вход DS. Чем больше разрядов - тем больше время установки. А чем больше времени тратится на изменение одного разряда, тем меньше скорость изменения выходного сигнала. Впрочем, вполне вероятно, для некоторых приложений это ограничение не будет существенным, попробуем подсчитать.

На вывод одного разряда необходимо как минимум выполнить одну ассемблерную инструкцию сдвига, одну - вывода в порт и две - на переход в цикле. МК построен по RISC-архитектуре и выполняет одну операцию за такт, работая на частоте 16 МГц. Значит, четыре такта он обрабатывает за 250 нс. Таким образом байт будет выведен не менее, чем за 2 мкс, а предельная частота составит 0,5 МГц (это грубая прикидка верхнего значения -  буду признателен, если кто-то подсчитает точнее).

Побороться с этим пределом будет довольно сложно, потому что все известные мне пути довольно ограничены:

  • повысить тактовую частоту МК больше 16 МГц: потеряем базовую совместимость с Arduino, придется исправлять константу в библиотеке, менять кварц на плате. Больше 20 МГц не получится, увы - а это прирост всего-то на 25%;
  • повысить питание 75HC595N: таково уж свойство КМОП-логики - чем больше напряжение, тем быстрее работает. Но МК Arduino (тоже построенный на КМОП) и так работает на предельном напряжении 4,5..5,5В, и вот его-то ускорить уже не удастся;  В то же время, быстродействие зависит и от серии микросхемы - можно по крайней мере не выбирать древние и медленные. Ставьте современные 74HC595 или даже 74HCT595 и будете иметь в запасе предел 100 МГц, который с запасом "накрывает" способности нашего МК в Arduino.

Таким образом, с выходами разобрались.

А что нужно делать, чтобы размножить входы? Читайте во второй части.

(использованы материалы из статьи Serial to Parallel Shifting-Out with a 74HC595)

18.12.2009

Головолупа

За неимением микроскопа, решил немного облегчить себе жизнь с помощью лупы с головным креплением:



Конечно, микроскоп дает большее увеличение, но тут тоже можно "поиграться" увеличением, комбинируя линзы - возможны варианты 1.8, 2.3, 3.7 или 4.8:



Причем делается это одной рукой, без лишних усилий. Также есть подсветка - слева и справа по лампочке, которая питается от двух батарей AAA:



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



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

В целом, все равно хочется иметь микроскоп, но сложно убедить персональную жабу отдать 15000-20000 руб за то, что и так есть на работе ;)

16.12.2009

Опрос по материалам

Спасибо всем 33 отважным людям, которые рискнули принять участие в опросе (надеюсь, все-таки это было действительно 33 человека, а не бесчестные накрутки ;)

Итак:
  1. Требующих прояснить вопросы с базовым синтаксисом и тех, кто и так уже все знает оказалось равное количество - по трое, или по 9% ответов. Вот если бы эти две категории подружить:  те, кто все и так знает, отлично бы разъяснили это тем, кто не знает почти ничего ;) Я же постараюсь в скором времени выложить перевод Arduino Notebook - неплохое, но краткое пособие для начинающих (с принципиальными схемами).
  2. Следующими идут те, кто хочет разобраться с ассемблером и AVR Studio - 6%. Замечу, что этому вопросу посвящено достаточно много ресурсов, и часто они получше моего. Быть может, коснусь процесса отладки.
  3. Третье с конца место делят те, кто хочет узнать больше про Eagle и про Shield-платы - их по 27%. Темы очень связанные, ибо те, кто полезет в Eagle на почве Arduino-мании, неминуемо попробуют создать в нем Shield-плату. Постараюсь им помочь.
  4. По 33% получили беспроводные / проводные сети и аналоговые датчики. Собираюсь осветить работу с недорогим оборудованием и того, и другого типов (про датчики температуры я уже писал).
  5. Управление моторами интересует 36%, и эту тему я затрагивал только вскользь, однажды. Разовью на примере серво, приехавших ко мне недавно из поднебесной.
  6. Ну и первое место... 45% ответов (!) за Processing. Честно говоря, в шоке, хотя и понимаю, почему эта тема интересна. Я сам никогда не использовал этот язык, но в основе его все та же идея - простой и интуитивный инструмент для дизайнеров, заточенный под визуализацию. В Arduino существует библиотека Firmata для общения с Processing, и наоборот - для Processing тоже есть библиотека общения с Arduino. Таким образом, можно быстро визуализировать  работу микропрограммы Arduino. Обращаюсь к тем, кто уже имел с этим дело - сделайте доброе дело, соорудите статью для общественности (возьму на себя корректуру любого уровня)! Я же пока углубляюсь в книгу "Physical Computing" Салливана и Иго, где есть неплохое введение.
Кстати, за окном жесткий минус, травить платы на неостекленном балконе проблемно.

Зато у меня будет достаточно времени для статей ;)

13.12.2009

Программирование SO-корпусов

Недавно мне подкинули вопрос: нужно запрограммировать ATtiny2313-20SU до пайки, как это сделать? 

Действительно, в отличие от корпуса DIP, предназначенный для поверхностного (SMD) монтажа SO-20 вызывает ряд вопросов, среди которых главный - где брать панельку?!



Переходники на DIP существуют, но стоят около 1000 рублей. И тут я вспомнил про замечательное видео на easyelectronics.ru, где демонстрировали, как пользоваться Розе на примере платы подобного переходника. Недолго думая, я взял Eagle и соорудил простую печатную плату:



Чтобы сделать ее более универсальной, я разместил на ней кварц 4.0 МГц (общеизвестно, что внутрисхемное программирование не запустится без питания и тактовых импульсов) и снабдил разъемом BH-10R, чтобы можно было подключать к любому программатору, а не только к USBasp.

Сначала надо аккуратно установить программируемую "тиньку" на контактные площадки, соблюдая положение первого контакта:



Затем воспользоваться самым обычным канцелярским биндером (зажимом для бумаг), на фото экземпляр 15 мм шириной и с 9 мм "глубиной" захвата:





Конечно, биндер надо разжать, завести в над платой с установленным микроконтроллером и опустить плавно и аккуратно - чтобы чип не сдвинулся с контактных площадок. Немного потренировавшись, с третьего раза я это проделывал уже безошибочно ;) Далее, подключаем при помощи 10-контактного кабеля к программатору:



Резюме: в случае промышленного применения для массового программирования, стоит обратить внимание на время установки микросхемы в подобную панельку. Я не знаю, сколько занимает это в "дорогой" панельке-переходнике, но зато переходник, полученный в домашних условиях выглядит значительно дешевле. Ну и всё это актуально только для случая, когда в схеме не предполагается ICSP-разъема.



Как всегда, публикую файлы для Eagle и экспортированное в eps тонер-трансфер изображение для изготовления по технологии ЛУТ. Лицензия - сс sa ;)

08.12.2009

One Chip Arduino

Японец Кимио Косака (Kimio Kosaka), ранее уже замеченный за изобретением бит-банг программинга для Arduino, создал на основе Metaboard вот такой шедевр:



Да, зрение вас не подвело! Печатной платы вовсе и нет, выполнено на проволочном каркасе.



Идея мне нравится, но... насколько удобно будет одевать Shield-плату без риска погнуть конструкцию?







Обратите внимание: CC-NC-SA, использование в коммерческих целях запрещено. Вот к чему приводит пофигистичность в вопросах лицензирования (я про Metaboard, у которого его просто не было).

05.12.2009

USB-TTL

Идея проекта  V-USB - дать миру свободную программную реализацию для микроконтроллеров ATMEL, в которых отсутствует аппаратная поддержка шины USB. Основная цель - упростить и удешевить жизнь самодельщикам,  которые хотят использовать USB в своих проектах.

Экономия оборачивается мелкими ограничениями - расходование 1,5К памяти программ, использование внешнего кварца из определенного набора значений (в экзотическом варианте допускается использовать и внутреннюю RC-цепочку, но тогда тогда надо включить процедуру автокалибровки от USB) жертвование одним пином, на который можно повесить прерывание.  Еще один минус состоит в относительно низкой пропускной способности этой реализации, а также постоянно открытый вопрос о соответствии стандарту - все ожидают, что вот-вот Windows перестанет поддерживать режим low speed bulk transfer, и наступит конец света, Windows перестанут пользоваться будет как-то неприятно.

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

Но представим на секунду, что проекта V-USB не существует. Можно попробовать достать микроконтроллер с аппаратной поддержкой USB - например, что-то из этого списка. Дорого / не достать / не хотите менять МК? Тогда поможет внешний USB-чип, есть на любой вкус - для USB 2.0 и для USB 1.1.

Если вы держали в руках Arduino, то наверняка обратили внимание на микросхемку с махонькими ножками в два ряда. Не судите по размеру: это мегапопулярнейший чип FT232RL, производимый фирмой FTDI:



FT232RL представляет собой мост USB-TTL. При этом для работы ей не нужно почти ровным счетом ничего: питание она берет от шины USB, внешнего кварца не требует, драйвера - свободные и под все ОС,  обеспечивает все сигналы COM-порта (и более того). Плюс к этому имеет 1К EEPROM, где прошит уникальный заводской номер и зарезервированный FTDI для этих чипов VID/PID. Кстати, утверждается, что диапазон PID-ов (Product ID) можно получить бесплатно, если есть необходимость. Но обычно этой необходимости нет: после подключения к шине USB, с точки зрения программ, в компьютере просто появляется еще один COM-порт, хоть и с неимоверно большим номером - COM33 (разумеется, номер меняется, можно выставить хоть COM1).

На выходе мы получаем последовательный порт с уровнями TTL, который можно видеть в спецификациях многих микроконтроллеров как UART. На Arduino это цифровые пины 0 и 1, или PD0 и PD1 на ATmega.

Без минусов тоже не обошлось: цена и мелкий шаг ножек (корпус SSOP28). Многих это останавливает, но не всех: я решил опробовать ЛУТ на пределе возможностей - шаг ножек составляет 0,65 мм, а ширина контактной площадки - всего 0,30 мм.

Начнем со схемы:



Это вторая версия, в которой появились некоторые "излишества". Первое - это самовосстанавливающийся предохранитель FUSE, защищающий линию питания от короткого замыкания. Cветодиоды Rx / Tx хорошо скрашивают досуг в процессе обмена данными, а разомкнутый джампер JP1 позволяет не подавать питание на подключаемую схему. Резистор R3 - это просто перемычка, помогает при разводке.

Откуда-то из моего бардака всплыло устройство-аналог из проекта Arduino - в свое время оно носило название Arduino Stamp. Выполнено на двухсторонней плате и имеет размер 18 х 33 мм:



Я попытался узнать у коллег на работе, какой размер SMD-элементов самый популярный в этом сезоне - мне сообщили, что 0603. Внутренне я долго сопротивлялся этому, и установил с самим собой компромисс на типоразмере 0805 - при этом размер элементов получается целых 2 х 1,25 мм: мне даже удалось найти элемент, который я случайно смахнул со стола! ;) Перемычка R3 имеет размер 1206, а предохранитель и вовсе "гигансткий" - 1812.

Я немного увеличил габариты платы - до 22 х 39 мм, и развел односторонним способом:



Вопреки моим ожиданиям, рисунок протравился довольно четко:



Визуально получилось ненамного габаритнее, чем двустороннее исполнение:



Оригинальная синенькая плата экспортирует наружу все выходные сигналы FT232RL, но на практике  они нечасто бывают нужны -  гребенки для них по умолчанию не распаивают.
Кстати, сам FTDI тоже выпускает подобные переходники, только именуются они как "отладочная плата" и стоят негуманных денег:



Называется он MM232R, чип там FT232RQ, совсем микроскопический, но... такую плату уже не установишь на беспаечную макетку - из-за нелепой конфигурации гребенки. А вот у Arduino Stamp она правильная ;)

В силу своей односторонней природы, разъемы, вилки и светодиоды пришлось расположить на одной стороне платы, а все остальные SMD-элементы - на другой:



В итоге все заработало, естественно с первого раза. Подключал к антикварной LilyPad Main Board, у которой нет USB.

Если будете повторять, хочу обратить внимание, что надо сначала паять предохранитель, а только потом - микросхему, так удобнее. Кроме того, плату надо обязательно равномерно залудить, наилучших результатов можно добиться при помощи сплава Розе.

Файлы для скачивания (лицензия cc-sa):
По традиции, экземпляр выкладываю на Молоток.ру для желающих купить.

03.12.2009

Сухая очистка для паяльника

Мимолетно заглядывая к коллегам в монтажную, не переставал удивляться, зачем это они принесли из дома металлическую мочалку для мойки посуды. И, главное - как они ее используют?

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



Я попросил попользоваться и пришел в полный восторг: нагар на жале образуется довольно часто, надо чистить на бумажке или губкой. А тут - ткнул в латунного "ежика" пару раз - и готово! Одно-два движения, жало даже остыть не успевает.

Хотя, говорят, некоторые и руками умудряются чистить, но мне лично руки дороги как память ;)

Называется это чудо "устройство для сухой чистки жала паяльника" и продается много где: но до тех пор, пока мне не объяснили что это такое и как этим пользоваться, я не обращал на него внимания.

Отсюда мораль: "век живи, век учись" и никакой интернет не заменит общения с живыми людьми.