Написание библиотеки для Arduino.

  • Образовательные программы
  • docx
  • 20.10.2018
Публикация в СМИ для учителей

Публикация в СМИ для учителей

Бесплатное участие. Свидетельство СМИ сразу.
Мгновенные 10 документов в портфолио.

Данный документ описывает создание библиотеки для Arduino. Объяснение начнется с написания скетча передачи кода Морзе посредством светодиода. Затем будет показано как конвертировать скетч в библиотеку. Это позволит другим пользователям легко использовать созданный код, обновлять и дополнять его. Скетч, воспроизводящий код Морзе: int pin = 13; void setup() { pinMode(pin, OUTPUT); } void dot() { digitalWrite(pin, HIGH); delay(250); digitalWrite(pin, LOW); delay(250); } void dash() { digitalWrite(pin, HIGH); delay(1000); digitalWrite(pin, LOW); delay(250); }
Иконка файла материала 7.3.3 Билиотека SPI Stepper.docx
«Робототехника». Уровень 5. Занятие 3. Тема занятия: Библиотеки SPI и Stepper. Продолжительность занятия: 2 часа. Библиотека SPI Библиотека SPI позволяет контроллеру Arduino взаимодействовать с  устройствами поддерживающими SPI протокол. Arduino в данном случае  выступает в качестве ведущего устройтва. Коротко о Serial Peripheral Interface (SPI). Последовательный периферийный интерфейс (SPI) — это последовательный  синхронный протокол передачи данных используемый микроконтроллерами  для обмена данными с одним или несколькими периферийными устройствами  на небольших расстояниях. Для организации соединения SPI необходимо одно ведущее устройство,  обычно это микроконтроллер, которое управляет соединением с ведомыми  устройствами. Обычно подключение осуществляется тремя общими линиями  и линией выбора периферийного (ведомого) устройства:     Master In Slave Out (MISO), переводится как  "вход ведущего выход  ведомого", используется для передачи данных от ведомого к ведущему. Master Out Slave In (MOSI) — выход ведущего вход ведомого, для  передачи данных от ведущего к периферийным устройствам. Serial Clock (SCK) — синхронизирующая линия, синхросигнал  генерируется ведущим устройством. Slave Select pin — вход на ведомых устройствах с помощью которого  ведущий может инициировать обмен данными с периферийным устройством.  Если на этом входе LOW, то ведомый взаимодействует с ведущим,  если HIGH, то ведомый игнорирует сигналы от ведущего.  При работе с SPI устройствами надо учитывать следующие моменты:    Какой порядок вывода данных используется:  Most Significant Bit (MSB  ­ старший бит (разряд)) or Least Significant Bit (LSB ­ младший бит) первый.  Порядок может быть изменен функцией SPI.setBitOrder(). Уровень сигнала синхронизации — по какому синхронизирующему  сигналу (HIGH или LOW) передаются данные. Фаза синхронизации — влияет на последовательность установки и  выборки данных. Фаза синхронизации SPI и уровень сигнала задается  функцией SPI.setDataMode(). Скорость на которой работает SPI устанавливается  функцией SPI.setClockDivider(). Производители SPI устройств несколько по разному реализуют протокол,  поэтому необходимо внимательно ознакомиться с техническим описанием к  устройству. Комбинация фазы синхронизации (CPHA) и уровня сигнала  синхронизации (CPOL) задают режим логики работы интерфейса SPI. Режим  устанавливается функцией SPI.setDataMode(). Режим Уровень сигнала (CPOL) Фаза (CPHA) 0 1 2 3 0 0 1 1 0 1 0 1  Подключение На контроллерах Arduino Duemilanove и других на базе ATmega168 /328,  шина SPI использует выходы 10 (SS), 11 (MOSI), 12 (MISO), и 13 (SCK). На  Arduino Mega — 50 (MISO), 51 (MOSI), 52 (SCK), и 53 (SS). Обратите  внимание, что даже если вы не используете выход SS, он должен быть  установлен как выход, в противном случае интерфейс может оказаться в  режиме ведомого и библиотека не будет работать как надо. В качестве SS выхода может быть использован выход отличный от 10­го.  Например, при работе с Arduino Ethernet shield контроллер использует выход  4 для взаимодействия с SD картой по SPI и выход 10 для работы с Ethernet  контроллером.Функции       begin() end() setBitOrder() setClockDivider() setDataMode() transfer() Библиотека Stepper Библиотека Stepper предоставляет удобный интерфейс управления  биполярными и униполярными шаговыми двигателями. Для управления  шаговым двигателем, в зависимости от его типа (биполярный или  униполярный) и выбранного способа подключения, понадобятся некоторые  дополнительные электронные компоненты. Подключение 1) Униполярный шаговый двигатель, управление через 2 выхода. В  данном и следующем подключение используется микросхема драйвера  нагрузки ULN2003 или ULN2004 (Darlington array).2) Униполярный шаговый двигатель, управление через 4 выхода. 3) Биполярный шаговый двигатель, управление через 2 выхода.  Подключение на примере микросхемы L293D.4) Биполярный шаговый двигатель, управление через 4 выхода.  Подключение с помощью микросхемы SN754410NE. Функции     Stepper(steps, pin1, pin2) Stepper(steps, pin1, pin2, pin3, pin4) setSpeed(rpm) step(steps)