Espruino:Примеры/Вывод напряжения через полевой транзистор Espruino Pico

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Вывод напряжения через полевой транзистор Espruino Pico[1]

Плата Espruino Pico оснащена полевым транзистором, способным генерировать ток силой 1.5 ампер (или даже 5-амперные импульсы) и напряжением 5 вольт.

Обычно он используется для питания Espruino от батареи. Но когда Pico питается от USB, полевой транзистор не нужен, и им можно управлять при помощи самой Pico.

В этом руководстве мы подключим к Espruino пьезодинамик, но генерируемый звук получится тише, чем у стилофонного пианино из этого руководства. Впрочем, ток, генерируемый с помощью полевого транзистора, позволяет управлять более крупными динамиками, лампочками и реле.

Нам понадобятся

Espruino PicoДинамикМакетная плата
   • Резистор на 470 ом (жёлтый, фиолетовый, коричневый)
   • Провод-перемычка

Подсоединение

Поскольку полевой транзистор можно использовать для зарядки батареи от USB (и это может быть опасно при использовании литий-полимерных батарей), по умолчанию он отключен. Чтобы включить его, вам надо замкнуть перемычку FET/B0 на задней стороне платы.

Это можно сделать, просто нарисовав на ней линию твёрдо-мягким карандашом.

Теперь:

   • Подключите Pico к макетной плате так, чтобы её USB-коннектор смотрел влево.
   • Подключите один конец провода-перемычки к самому нижнему левому контакту Pico, а второй – к верхнему ряду отрицательных контактов на макетной плате, помеченных синий линией и знаком «-».
   • Подключите пьезодинамик к макетной плате так, чтобы один его контакт был подсоединён к самому левому верхнему контакту Pico (Bat), а другой – к верхнему ряду отрицательных контактов на макетной плате, помеченных знаком «-» (GND).
   • Вставьте резистор по обе стороны от пьезодинамика (то есть тоже подключите его контактам Bat и GND). Полевой транзистор притягивает напряжение только к 5 вольтам, поэтому нам нужен резистор, чтобы снова притянуть его к 0 вольтам и сгенерировать звук.

Если вы хотите запитать что-то ещё, просто подключите это устройство между контактами Bat и GND – резистор для этого не нужен. Код Итак, всё подключено, дело за кодом, с помощью которого мы будет управлять выходным током. А этот код очень прост. Как показано здесь, чтобы выключить вывод тока, сначала надо сделать так, чтобы контакт B0 был входным (или находился в режиме opendrain). Поскольку мы не хотим повредить пьезодинамик, то лучше генерировать только квадратные волны. Но вы также можете подключить другое устройство и воспользоваться фрагментами кода-примера, чтобы включить его на полную мощность (или на половину от неё). pinMode(B0, "af_opendrain"); analogWrite(B0, 0.5, {freq:3000}); // запускаем генерацию звука

// Спасаем наши уши: setTimeout(function() {

 pinMode(B0, "input");

}, 1000); А теперь включаем мелодию поприятней: var pitches = {

 'A':440.00, 'B':493.88, 'C':523.25, 'D':587.33,
 'E':659.26, 'F':698.46, 'G':783.99, 'a':880

}; var tune = "E BCD CBA ACE DCB CD E C A A D Fa GFE CE DCB BCD E C A A "; var pos=0; setInterval(function() {

 var ch = tune[pos];
 if (ch !== undefined) pos++; else pos=0;
 if (ch in pitches) {
   pinMode(B0, "af_opendrain"); 
   analogWrite(B0, 0.5, {freq:pitches[ch]});
 } else pinMode(B0, "input");

}, 100);

См.также

Внешние ссылки