Набор «йодо»

Документация

Стандартный JavaScript

  • Встроенные функции и константы — константы и функции
  • Array, Boolean, Function, Number, Object, String — примитивы
  • ArrayBuffer — типизированые массивы, ArrayBuffer, DataView, ArrayBufferView
  • Error, , , , — ошибки
  • Date — работа с датами и временем
  • JSON — кодирование и декодирование JSON
  • Math — математические функции

Классы и объекты, уникальные для Espruino и Iskra JS

  • E — утилитарные функции Espruino
  • Pin — работа с портами ввода-вывода (пинами)
  • File — чтение и запись файлов
  • SPI — работа с интерфейсом SPI
  • I2C — работа с интерфейсом TWI/I²C
  • Serial — работа с интерфейсом UART
  • OneWire — работа с шиной 1-Wire

Встроенные библиотеки Espruino и Iskra JS

  • crypto — работа с криптографией
  • Flash — прямые чтение и запись флеш-памяти контроллера
  • fs — работы с файловой системой карт памяти

Подгружаемые библиотеки

  • @amperka/accelerometer — драйвер акселерометра
  • @amperka/analog-line-sensor — драйвер аналогового сенсора пересечения линии
  • @amperka/animation — плавное изменение параметров
  • @amperka/barometer — драйвер барометра
  • @amperka/bluetooth — драйвер bluetooth-модуля
  • @amperka/button — драйвер модуля-кнопки и других кнопок
  • @amperka/buzzer — драйвер модуля-зуммера
  • @amperka/card-reader — расширение библиотеки fs для работы с SD картами
  • @amperka/digital-line-sensor — драйвер цифрового сенсора пересечения линии
  • @amperka/dweetio — клиент для работы с графиками в dweet.io
  • @amperka/gas-sensor — драйвер датчиков газа
  • @amperka/gpio-expander — драйвер GPIO expander
  • @amperka/gprs-shield — драйвер GPRS-модуля
  • @amperka/hysteresis — фиксация пересечения пороговых значений
  • @amperka/ifttt-webhooks — клиент для компонента webhooks сервиса ifttt.com
  • @amperka/ir-receiver — драйвер модуля инфракрасного приёмника
  • @amperka/led — драйвер модуля-светодиода и других светодиодов
  • @amperka/led-matrix — драйвер светодиодной матрицы 8×8
  • @amperka/led-strip — драйвер светодиодной ленты
  • @amperka/light-sensor — драйвер модуля сенсора освещённости
  • @amperka/magnetometer — драйвер магнитометра (компаса)
  • @amperka/motor — драйвер для контроллера двигателей
  • @amperka/multiservo — драйвер для контроллера сервоприводов
  • @amperka/nfc — драйвер RFID/NFC сканера
  • @amperka/pot — драйвер модуля-потенциометра
  • @amperka/pid — ПИД-регулятор
  • @amperka/power-control — управление транзистором
  • @amperka/proximity — драйвер датчика приближения и освещённости
  • @amperka/quaddisplay — драйвер для работы с четырёхразрядным индикатором (v1)
  • @amperka/quaddisplay2 — драйвер для работы с четырёхразрядным индикатором (v2)
  • @amperka/ringtone — проигрывание мелодий в формате Nokia RTTTL
  • @amperka/relay — драйвер для работы с реле
  • @amperka/robot-2wd — драйвер двухколёсного робота
  • @amperka/rs-485 — драйвер для работы с модулей RS-485
  • @amperka/rtc — драйвер для работы с часами реального времени
  • @amperka/servo — драйвер хобби-сервомоторов
  • @amperka/stepper — драйвер шагового двигателя
  • @amperka/telegram — телеграм-бот
  • @amperka/thermometer — драйвер для модуля аналогового линейного термометра
  • @amperka/timer — периодически повторяющиеся и отложенные действия
  • @amperka/ultrasonic — драйвер для ультразвукового дальномера HC-SR04
  • @amperka/usb-keyboard — эмуляция HID-устройства USB-клавиатуры
  • @amperka/water-flow — драйвер датчика потока воды
  • @amperka/water-level — драйвер датчика уровня воды
  • @amperka/wifi — драйвер модуля Wi-Fi

По умолчанию библиотеки модулей Амперки работают только при подключении к интернету.
Если вы планируете прошивать плату Iskra JS без выхода в сеть, необходимо настроить ваш компьютер.

Вы так же можете создать свою библиотеку и подключить её к Espruino Web IDE

FAQ

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

Вставьте четырёхразрядный индикатор в левый нижний слот

Прошейте контроллер скетчем через Arduino IDE.

meteo.ino
// Подключаем библиотеку для работы с дисплеем
#include <QuadDisplay.h>
// библиотека для работы I²C
#include <Wire.h>
// библиотека для работы с модулями IMU
#include <TroykaIMU.h>
// создаём объект для работы с барометром
Barometer barometer;
 
// номер цифрового пина дисплея
#define DISPLAY_PIN  11
 
void setup()
{
  // инициализация барометра
  barometer.begin();
}
 
void loop()
{
  // создаём переменную и присваиваем ей значения 
  // атмосферного давления в мм рт.ст.
  float pressure = barometer.readPressureMillimetersHg();
  // создаём переменную и присваиваем ей температуру окружающей среды
  float temperature = barometer.readTemperatureC();
  // выводим атмосферное давление на дисплей
  displayInt(DISPLAY_PIN, pressure);
  // ждём 3 секунды
  delay(3000);
  // выводим температуру окружающей среды на дисплей
  displayTemperatureC(DISPLAY_PIN, temperature);
  // ждём 3 секунды
  delay(3000);
}

Исходный код

gamePong.ino

// библиотека для работы с композитным видео выходом
#include
 
// создаём объект TV класса TVout
TVout TV;
 
// максимальное количесво очков
#define MAX_SCORE 7
// длина ракеток
#define PADDLE_HEIGHT 10
// невидимые боковые грани рекакетки
// для отбивания в крайних точках ракетки
#define PADDLE_OFFSET 2
 
// пины подключения джойстиков каждого игрока
#define PLAYER_LEFT_PIN A5
#define PLAYER_RIGHT_PIN A0
 
// переменные для хранения размеров экрана
int hres, vres;
// координаты шара
int ballX, ballY;
// направление шара
int ballDX = 1;
int ballDY = 1;
// очки игроков
int playerScoreLeft = ;
int playerScoreRight = ;
int leftPaddleY = ;
int rightPaddleY = ;
 
// состояния системы
enum State
{
RESET_GAME,
NEXT_LEVEL,
PLAY_GAME,
STATE_MISS,
};
 
// объявляем переменную state
State state;
 
bool missed = ;
 
void setup()
{
 
// инициализируем коммуникацию с телевизиром
TV.begin(NTSC, 136, 96);
// ждём 1 секунду
delay(1000);
// считываем размеры экрана
hres = TV.hres();
vres = TV.vres();
// сбрасываем игру
state = RESET_GAME;
 
}
 
void loop()
{
switch (state) {
case RESET_GAME
// очищаем экран
TV.clearScreen();
// выбираем шрифт «4×6»
TV.selectFont(font4x6);
// печатем на экране слово «Амперка»
TV.print(55, , «Amperka»);
delay(1000);
// выбираем шрифт «8×8»
TV.selectFont(font8x8);
// печатем на экране название игры «Arduino Pong»»
TV.print(20, 30, «Arduino Pong»);
delay(1000);
// на старт, внимание, вперёд
for (int i = 3; i != ; i— ) {
TV.print(hres 2, 60, i);
TV.tone(1000, 300);
delay(1000);
}
TV.tone(2000, 300);
// выбираем шрифт «4×6»
TV.selectFont(font4x6);
// очищаем экран
TV.clearScreen();
// обнуляем счёт обоих игроков
playerScoreLeft = ;
playerScoreRight = ;
// переходим на следующий уровень
state = NEXT_LEVEL;
break;
case NEXT_LEVEL
// сброс шарика и ракеток
resetBallAndPaddles();
// рисуем игровое поле на экране
drawBox();
// выводим очки игроков на экране
drawScores();
// рисуем игровые ракетки
drawPaddles();
// переходим в состояние игры
state = PLAY_GAME;
break;
case PLAY_GAME
// если мяч достиг верхеней / нижней границицы поля
if (ballY == vres || ballY == ) {
ballDY *= -1;
}
// если мяч приближается к правой стороне
if (ballX >= hres — 2) {
// если мяч отбился правой ракеткой
if (ballY > rightPaddleY — PADDLE_OFFSET &&
ballY ) {
ballDX = -1;
}
}
// если мяч достиг правой стены
if (ballX == hres — 1) {
missed = true;
state = STATE_MISS;
playerScoreLeft++;
break;
}
 
// если мяч приближается к правой стороне
if (ballX leftPaddleY — PADDLE_OFFSET &&
ballY

Соединение с платой

Espruino Web IDE поддерживает два типа соединения:

Беспроводное подключение

Поддерживаемые устройства

Беспроводное подключение к среде Espruino Web IDE доступно только при наличии беспроводных приёмопередатчиков на обоих устройствах: Espruino и ПК.

  • На ПК должен быть включён модуль Bluetooth. Если он физически отсутствует, его можно приобрести отдельно.
  • Плата Espruino должна поддерживать соединение по протоколу BLE. Список поддерживаемых плат:

    • Espruino MDBT42Q Breakout

    • Espruino Puck.js

    • Espruino Pixl.js

Для всех остальных случаев, используйте .

Инструкция по подключению

  1. Подключите к плате Espruino питание и землю.
  2. В среде Espruino Web IDE в верхнем левом углу нажмите кнопку .
  3. Вам будет представлен список доступных портов плат в зависимости от OS и от типа подключения:

    • Выборка по типу подключения: проводной и беспроводной.
    • Выборка по OS: Windows: COMxxx, MacOS: /dev/tty.usbmodemxxx, Linux: /dev/ttyACMxxx.

      Выбирайте подключение через Web Bluetooth.

  4. Откроется окно поиска новых устройств.
  5. Выберите интересующее вас устройство и нажмите на кнопку «Подключить».
  6. После успешного подключения, вы увидите в консоли надпись «Connected». Фон кнопки изменит цвет на зелёный и в нижнем правом углу всплывёт окошко с уведомлением, что плата успешно подключена к компьютеру.

Проводное подключение

  1. Подключите плату к компьютеру по USB.
  2. В среде Espruino Web IDE в верхнем левом углу нажмите кнопку .
  3. Вам будет представлен список доступных портов плат в зависимости от OS и от типа подключения:

    • Выборка по типу подключения: проводной и беспроводной.
    • Выборка по OS: Windows: COMxxx, MacOS: /dev/tty.usbmodemxxx, Linux: /dev/ttyACMxxx.

      Найдите среди них свою плату простым перебором.

  4. После успешного подключения, вы увидите в консоли надпись «Connected». Фон кнопки изменит цвет на зелёный и в нижнем правом углу всплывёт окошко с уведомлением, что плата успешно подключена к компьютеру.

Элементы платы

Микроконтроллер STM32F405RG

Сердце платформы Iskra JS — 32-разрядный микроконтроллер STM32F405RG от STMicroelectronics с вычислительном ядром ARM Cortex M4.

Выбор питания

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

  • — внешнее питание сначала проходит регулятор на 5 В, а он в свою очередь питает регулятор на 3,3 В. Работают обе шины: 5V и 3.3V. Допустимое входное напряжение в этом случае — от 7 до 15 вольт.
  • — внешнее питание сразу подаётся на регулятор 3,3 В. Шина 5V не используется для получения 3,3 В. Допустимое входное напряжение — от 3,6 до 12 вольт. Используйте это положение, чтобы питать схему от одного Li-Ion аккумулятора.

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

Когда плата подключена к внешнему источнику питания, и джампер выбора питания установлен в положении , напряжение проходит через стабилизатор MC7805BD. Выход стабилизатора соединён с пином 5V. Максимальный выходной ток составляет 1000 мА.

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

Стабилизатор MC33275ST с выходом 3,3 вольта, обеспечивает питание микроконтроллера STM32F405RG. Максимальный выходной ток составляет 300 мА.

Светодиодная индикация

Имя светодиода Назначение
BUSY Информационный светодиод. Загорается, когда плата выполняет действия.
LED1 Светодиод свободного назначения.
ON Информационный светодиод о наличии питания на микроконтроллере.

Разъём SPI

Некоторые платы расширения работают через интерфейс SPI. По стандарту Arduino R3 разъём SPI должен быть выведен в виде разъёма 3×2 штырька в этом месте. Iskra JS следует этому стандарту.

SPI-разъем не предназначен для внутрисхемного программирования микроконтроллера STM32F405RG и может использоваться только для связи с другими SPI-устройствами.

Разъём SWD

SWD-разъём предназначен для внутрисхемного программирования микроконтроллера STM32F405RG через программатор, например, ST-Link.

Пин BOOT0

Если замкнуть эту пару пинов, плата загрузится в DFU-режиме. Это позволит перепрошить микроконтроллер без программатора, через USB.

Как собрать?

  1. Для начала вставьте сим-карту в GPRS Shield и установите его на платформу Iskra Neo.
  2. Подключите внешнюю антенну через SMA-разъём.
  3. На платах Arduino с микроконтроллером ATmega32U4 (Iskra Neo, Arduino Leonardo, Arduino ETH, Arduino Micro и Arduino Yún) пины и используются для протокола I²C. В GPRS Shield контакты и также по умолчанию находятся на пинах и . Чтобы избежать конфликта с I²C-гироскопом перебросим контакты и GPRS Shield’a на пины и . Для этого снимите джамперы с контактов и GPRS Shield’a. На их место воткните два провода «мама-мама».
  4. Присоедините к Troyka Shield контактные колодки и установите получившуюся конструкцию на GPRS Shield. Соединяем с помощью проводов «мама-мама» контакты и GPRS Shield’a с пинами и платы Iskra Neo соответственно.
  5. Используя два 3-проводных шлейфа подключите Troyka-гироскоп к Troyka Shield следующим образом:

    Контакты питания:

    1. Земля (G) — чёрный провод. Соединить с пином Troyka Shield.
    2. Питание (V) — красный провод. Соединить с пином Troyka Shield.
    3. Не используется.

    Контакты шины I²C:

  1. Сигнальный (D) — чёрный провод. Подключить к пину Troyka Shield.
  2. Сигнальный (С) — красный провод. Подключить к пину Troyka Shield.
  3. Не используется.

Используйте 3-проводной шлейф, чтобы подключить Troyka-светодиод к цифровому пину на Troyka Shield.

Теперь подключите динамик и микрофон в соответствующие разъёмы GPRS Shield.

Вставьте шесть NiMH аккумуляторов в батарейный отсек 3×2 AA. Через штекер питания 2,1 мм с клеммником подключите его к плате Iskra Neo.По итогу должна получиться следующая схема:

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

Настройка точки доступа на смартфоне

Иногда в прямой досягаемости нет Wi-Fi сети, а сделать эксперименты из набора очень хочется. Что же делать в таком случае?
Поднять такую сеть самому при помощи смартфона!

Некоторые операторы блокируют возможность раздавать Wi-Fi с телефона. Если у тебя в меню нет нужных пунктов — свяжись со службой поддержки оператора и попроси активировать эту функцию. Обычно операторы восстанавливают эту возможность в течение часа после обращения.

iOS

Настройки общего доступа к сотовой сети твоего телефона находятся в меню «Настройки» «Сотовая связь» «Режим модема» .
В этом меню можно включить режим точки доступа и задать ей пароль. Именем (SSID) точки доступа будет имя телефона.
Рекомендуем не закрывать это меню до тех пор, пока клиент не подключится к точке доступа.

После первого включения режима модема такой пункт скорее всего появится в главном меню настроек телефона.

Android

Особенность телефонов на ОС Android — практически у каждого производителя свой интерфейс. Это значит, что невозможно точно сказать, где в твоем телефоне находится кнопка «Раздать интернет» (или даже как она называется). Обычно её можно найти в настройках под названиями вроде «Режим модема и переносная точка доступа».

Как это собрать?

  1. Установите Troyka Shield на Arduino Uno

  2. Подключите датчик влажности почвы через Troyka Shield к аналоговому пину

  3. Подключите дисплей к управляющей плате через Troyka Shiled:

    1. Пин к пину Toyka Shield.
    2. Пины дисплея к разъёму на Troyka Shiled

  4. Подключите силовой ключ к контакту

  5. Подведите коммутирующее напряжение к силовому ключу в разъём и

  6. Подключите помпу к силовому ключу через клеммник с разъёмами и . В итоге должна получится схема.

  7. Воткните сенсор влажности почвы в землю.
  8. Другой конец шланга вставьте с водой в землю. Если горшок с землёй весит менее 2 кг, рекомендуется отдельно закрепить трубку, чтобы она не перевернула растение.
  9. Опустите помпу в ёмкость с водой.

  10. Подключите питание.

Восстановление прошивки Wi-Fi модуля

Mac OS

Скачай архив ESPTOOL_MAC.

Распакуй архив с программой для установки. При этом конечный путь к программе и файлу прошивки не должен содержать кириллических символов.

Открой терминал. Ты найдёшь его в
Finder
Программы
Служебные программы
Terminal
.

В терминале набери , нажми пробел и перенеси в окно терминала иконку папки с содержимым архива. Нажми .

Набери в терминале . Нажми .

Терминал запросит пароль — введи его и нажми .

Инструменты установлены. Осталось перепрошить модуль.

Узнай в Arduino IDE, к какому порту подключена твоя плата.

Набери в терминале команду для перепрошивки: python esptool.py —port ИМЯ_ПОРТА write_flash 0x00000 esp8266_AT_firmware.bin

Вместо «ИМЯ_ПОРТА» подставь порт из Arduino IDE (не забывая пропрямой слэш). Введи модуль в режим перепрошивки. Нажми в терминале.

После успешной прошивки модуль перезагрузится

Ты сможешь проверить его через Arduino IDE стандартными AT-командами, как в эксперименте «На старт, внимание, Wi-Fi!».

Windows

Подробную инструкцию по перепрошивке модуля Wi-Fi читай в .

  1. Скачай архив ESPTOOL_WIN.
  2. Распакуй архив с программой для установки. При этом конечный путь к программе и файлу прошивки не должен содержать кириллических символов.
  3. Запусти файл ESPFlashDownloadTool_v3.4.4.
  4. В появившемся окне выбери «ESP8266 DownloadTool».
  5. Укажи путь к файлу AT-прошивки «esp8266_AT_firmware.bin» (он лежит в том же архиве), отметь выбранный файл галочкой в чекбоксе напротив и укажи адрес 0х00, по которому будет записан файл в память модуля.
  6. Выбери СОМ порт, к которому подключён твой модуль, и установи Baud rate 115200.
  7. Настрой оставшиеся поля и чекбоксы:
  8. Переведи модуль в режим программирования.
  9. Теперь, когда модуль готов к прошивке, нажми кнопку «START» и дождись окончания процесса. Ура, модуль снова готов к работе!

Как собрать?

  1. Закрепите платформу Iskra JS на панели #структора «крепление Arduino 7×8 шипов» с помощью акриловых стоек. Стойки закрепите на панели винтами, сверху установите платформу и зафиксируйте гайками.
  2. Установите Motor Shield на плату Iskra JS.
  3. Установите «лицевую панель Arduino c microUSB-интерфейсом 4×6 шипов» и через неё подключите входящие в комплектацию помп «разъёмы-переходники на 2 провода» к Motor Shiled. Красный провод к плюсу, чёрный — к минусу.
  4. Установите Troyka Shield на бутерброд из плат Iskra JS и Motor Shield.
  5. Закрепите два модуля сенсора вибрации с помощью саморезов и гаек на боковых панелях #структора «7×7 шипа».
  6. Подключите модули сенсора вибрации к аналоговым пинам и Troyka Shield и через клеммник выведите провода «папа-папа» для дальнейшего подключения пьезо-дисков.
  7. Закрепите силовой ключ с помощью нейлоновых винтов к детали #структора (крепление Troyka 4×7 шипа), откусите бокорезами неиспользуемую часть и подключите к пину Troyka Shield.
  8. Подготовьте провода для подключения колонки к Iskra JS через силовой ключ:

    1. «Плюс» колонки подключите к пину

    2. «Минус» колонки — к «плюсу» силового ключа.
    3. Пин — к «минусу» силового ключа.
  9. Прикрепите обновлённые боковые панели («пластины 7×6 шипов») и заднюю панель («пластина 6×6 шипов») к основанию корпуса устройства («крепление Arduino 7×8 шипов»).
  10. Закрепите клеммник с помощью двухстороннего скотча к задней панели корпуса и подключите к нему выведенные ранее провода от модулей сенсоров вибрации и силового ключа.
  11. Возьмите кнопку (Troyka-модуль), прикрутите её к панели для крепления Troyka-модулей. из четырёх панелей конструктора (3×2 шипов) соорудите «башенку» и закрепите на будущей верхней панели корпуса («пластина 7×8 шипов»).
  12. Закрепите два светодиода «Пиранья» на панелях крепления Troyka-модулей, затем закрепите их по бокам верхней панели устройства.
  13. Подключите два светодиода «Пиранья» к и пину Troyka Shield, а кнопку (Troyka-модуль) — к пину Troyka Shield.
  14. Закончите сборку лицевой части корпуса с помощью реек #структора и пластины (2×6 шипов). Прикрепите верхнюю панель («пластина 7×8 шипов») к передней, задней и боковым стенкам корпуса.
  15. Отпаяйте от пьезо-диска короткие провода и замените их на провод длинной около 1–2 метров. Повторите это для второго датчика.
  16. Подключите пьезо-диски к модулям сенсора вибрации через установленный ранее клеммник.
  17. Припаяйте многожильный монтажный провод к выводам динамика.
  18. Соберите корпус для динамика из четырёх «мега пластин» #Структора и подключите его к клеммнику на задней части корпуса.
  19. Возьмите две «пивные башни», опустите в них погружные помпы, концы выходящих трубок проведите в противоположную «башню». Помпы будут откачивать жидкость из башен соперника.В итоге должна получите схема.
  20. Подключите помпы к Motor Shield через «разъём-переходник на 2 провода»
  21. Выпилите из листа фанеры два модуля «Troyka XXL» и покрасьте их белой краской.
  22. На задней части модуля «Troyka XXL» закрепите несколько кусков поролона и приклейте пьезо-диск. Повторите действие со вторым «Troyka XXL» и сенсором вибрации.
  23. Расположите все модули на расстоянии в 15–20 см друг от друга и подключите источник питания к устройству.

Теперь осталось залить любимый «лимонад» в пивные башни и можно играть.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector