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

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
Нет описания правки
Нет описания правки
Строка 5: Строка 5:
=Вывод напряжения через полевой транзистор Espruino Pico<ref>[https://www.espruino.com/Pico+FET+Output www.espruino.com - Pico FET Output]</ref>=
=Вывод напряжения через полевой транзистор Espruino Pico<ref>[https://www.espruino.com/Pico+FET+Output www.espruino.com - Pico FET Output]</ref>=


Плата Espruino Pico оснащена [https://www.espruino.com/Pico#power полевым транзистором], способным генерировать ток силой 1.5 ампер (или даже 5-амперные импульсы) и напряжением 5 вольт.
Плата [[Espruino Pico]] оснащена [https://www.espruino.com/Pico#power полевым транзистором], способным генерировать ток силой 1.5 ампер (или даже 5-амперные импульсы) и напряжением 5 вольт.


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


В этом руководстве мы подключим к Espruino пьезодинамик, но генерируемый звук получится тише, чем у стилофонного пианино из [http://wikihandbk.com/wiki/Espruino:Примеры/Пианино_с_помощью_Espruino_Pico этого руководства]. Впрочем, ток, генерируемый с помощью полевого транзистора, позволяет управлять более крупными динамиками, лампочками и реле.
В этом руководстве мы подключим к [[Espruino]] пьезодинамик, но генерируемый звук получится тише, чем у стилофонного пианино из [http://wikihandbk.com/wiki/Espruino:Примеры/Пианино_с_помощью_Espruino_Pico этого руководства]. Впрочем, ток, генерируемый с помощью полевого транзистора, позволяет управлять более крупными динамиками, лампочками и реле.


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


    • [https://www.espruino.com/Pico Espruino Pico]
* [https://www.espruino.com/Pico Espruino Pico]
    • [https://www.espruino.com/Speaker Динамик]
* [https://www.espruino.com/Speaker Динамик]
    • [https://www.espruino.com/Breadboard Макетная плата]
* [https://www.espruino.com/Breadboard Макетная плата]
    • Резистор на 470 ом (жёлтый, фиолетовый, коричневый)
* [[Резистор]] на [[470 Ом]] (жёлтый, фиолетовый, коричневый)
    • Провод-перемычка
* Провод-перемычка


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


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


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


Теперь:
Теперь:
    • Подключите Pico к макетной плате так, чтобы её USB-коннектор смотрел влево.
* Подключите [[Pico]] к макетной плате так, чтобы её [[USB-коннектор]] смотрел влево.
    • Подключите один конец провода-перемычки к самому нижнему левому контакту Pico, а второй – к верхнему ряду отрицательных контактов на макетной плате, помеченных синий линией и знаком «-».
* Подключите один конец [[провода-перемычки]] к самому нижнему левому контакту [[Pico]], а второй – к верхнему ряду отрицательных контактов на макетной плате, помеченных синий линией и знаком '''«-»'''.
    • Подключите пьезодинамик к макетной плате так, чтобы один его контакт был подсоединён к самому левому верхнему контакту Pico (Bat), а другой – к верхнему ряду отрицательных контактов на макетной плате, помеченных знаком «-» (GND).
* Подключите [[пьезодинамик]] к [[макетной плате]] так, чтобы один его контакт был подсоединён к самому левому верхнему контакту '''Pico (Bat)''', а другой – к верхнему ряду отрицательных контактов на макетной плате, помеченных знаком '''«-» (GND)'''.
    • Вставьте резистор по обе стороны от пьезодинамика (то есть тоже подключите его контактам Bat и GND). Полевой транзистор притягивает напряжение только к 5 вольтам, поэтому нам нужен резистор, чтобы снова притянуть его к 0 вольтам и сгенерировать звук.
* Вставьте резистор по обе стороны от пьезодинамика (то есть тоже подключите его контактам '''Bat''' и '''GND'''). Полевой транзистор притягивает напряжение только к 5 вольтам, поэтому нам нужен резистор, чтобы снова притянуть его к 0 вольтам и сгенерировать звук.
Если вы хотите запитать что-то ещё, просто подключите это устройство между контактами Bat и GND – резистор для этого не нужен.
 
Код
Если вы хотите запитать что-то ещё, просто подключите это устройство между контактами '''Bat''' и '''GND''' – резистор для этого не нужен.
Итак, всё подключено, дело за кодом, с помощью которого мы будет управлять выходным током. А этот код очень прост. Как показано [https://www.espruino.com/Pico#power здесь], чтобы выключить вывод тока, сначала надо сделать так, чтобы контакт B0 был входным (или находился в режиме [https://en.wikipedia.org/wiki/Open_collector opendrain]).
 
Поскольку мы не хотим повредить пьезодинамик, то лучше генерировать только квадратные волны. Но вы также можете подключить другое устройство и воспользоваться [https://www.espruino.com/Pico#powerдругими фрагментами кода-примера], чтобы включить его на полную мощность (или на половину от неё).
== Код ==
 
Итак, всё подключено, дело за кодом, с помощью которого мы будет управлять выходным током. А этот код очень прост. Как показано [https://www.espruino.com/Pico#power здесь], чтобы выключить вывод тока, сначала надо сделать так, чтобы контакт '''B0''' был входным (или находился в режиме [https://en.wikipedia.org/wiki/Open_collector opendrain]).
 
Поскольку мы не хотим повредить [[пьезодинамик]], то лучше генерировать только квадратные волны. Но вы также можете подключить другое устройство и воспользоваться [https://www.espruino.com/Pico#powerдругими фрагментами кода-примера], чтобы включить его на полную мощность (или на половину от неё).
 
<syntaxhighlight lang="javascript" enclose="div">
pinMode(B0, "af_opendrain");
pinMode(B0, "af_opendrain");
analogWrite(B0, 0.5, {freq:3000}); // запускаем генерацию звука
analogWrite(B0, 0.5, {freq:3000}); // запускаем генерацию звука
Строка 58: Строка 64:
   } else pinMode(B0, "input");
   } else pinMode(B0, "input");
}, 100);  
}, 100);  
<syntaxhighlight lang="javascript" enclose="div">
</syntaxhighlight>
</syntaxhighlight>



Версия от 17:52, 17 июля 2021

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


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

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

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

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

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

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

Поскольку полевой транзистор можно использовать для зарядки батареи от 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);

См.также

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