Espruino:Примеры/Вывод напряжения через полевой транзистор Espruino Pico: различия между версиями
Myagkij (обсуждение | вклад) (Новая страница: «{{Espruino/Панель перехода}} {{Перевод от Сubewriter}} {{Myagkij-редактор}} =<ref>[ www.espruino.com - ]</ref>= <syntaxhighlig...») |
Myagkij (обсуждение | вклад) Нет описания правки |
||
Строка 3: | Строка 3: | ||
{{Myagkij-редактор}} | {{Myagkij-редактор}} | ||
=<ref>[ www.espruino.com - ]</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 питается от USB, полевой транзистор не нужен, и им можно управлять при помощи самой Pico. | |||
В этом руководстве мы подключим к Espruino пьезодинамик, но генерируемый звук получится тише, чем у стилофонного пианино из [http://wikihandbk.com/wiki/Espruino:Примеры/Пианино_с_помощью_Espruino_Pico этого руководства]. Впрочем, ток, генерируемый с помощью полевого транзистора, позволяет управлять более крупными динамиками, лампочками и реле. | |||
== Нам понадобятся == | |||
• [https://www.espruino.com/Pico Espruino Pico] | |||
• [https://www.espruino.com/Speaker Динамик] | |||
• [https://www.espruino.com/Breadboard Макетная плата] | |||
• Резистор на 470 ом (жёлтый, фиолетовый, коричневый) | |||
• Провод-перемычка | |||
== Подсоединение == | |||
Поскольку полевой транзистор можно использовать для зарядки батареи от USB (и это может быть опасно при использовании литий-полимерных батарей), по умолчанию он отключен. Чтобы включить его, вам надо замкнуть перемычку FET/B0 на задней стороне платы. | |||
Это можно сделать, просто нарисовав на ней линию твёрдо-мягким карандашом. | |||
[[File:Pico_FET_Output.jpg|center]] | |||
Теперь: | |||
• Подключите Pico к макетной плате так, чтобы её USB-коннектор смотрел влево. | |||
• Подключите один конец провода-перемычки к самому нижнему левому контакту Pico, а второй – к верхнему ряду отрицательных контактов на макетной плате, помеченных синий линией и знаком «-». | |||
• Подключите пьезодинамик к макетной плате так, чтобы один его контакт был подсоединён к самому левому верхнему контакту Pico (Bat), а другой – к верхнему ряду отрицательных контактов на макетной плате, помеченных знаком «-» (GND). | |||
• Вставьте резистор по обе стороны от пьезодинамика (то есть тоже подключите его контактам Bat и GND). Полевой транзистор притягивает напряжение только к 5 вольтам, поэтому нам нужен резистор, чтобы снова притянуть его к 0 вольтам и сгенерировать звук. | |||
Если вы хотите запитать что-то ещё, просто подключите это устройство между контактами Bat и GND – резистор для этого не нужен. | |||
Код | |||
Итак, всё подключено, дело за кодом, с помощью которого мы будет управлять выходным током. А этот код очень прост. Как показано [https://www.espruino.com/Pico#power здесь], чтобы выключить вывод тока, сначала надо сделать так, чтобы контакт B0 был входным (или находился в режиме [https://en.wikipedia.org/wiki/Open_collector opendrain]). | |||
Поскольку мы не хотим повредить пьезодинамик, то лучше генерировать только квадратные волны. Но вы также можете подключить другое устройство и воспользоваться [https://www.espruino.com/Pico#powerдругими фрагментами кода-примера], чтобы включить его на полную мощность (или на половину от неё). | |||
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); | |||
<syntaxhighlight lang="javascript" enclose="div"> | <syntaxhighlight lang="javascript" enclose="div"> |
Версия от 17:50, 17 июля 2021
Вывод напряжения через полевой транзистор 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);
См.также
Внешние ссылки