Похожие презентации:
этап 3. подключение датчиков
1.
Работа с IntrosatЭтап 3
Подключение датчиков
Подключение
датчиков
Инициализация гироскопа
Инициализация
датчиков освещения
По завершению третьего этапа мы подключим пять датчиков к
материнской плате
Задание на
ветвление
2.
Контакты, с которыми мы будем работать3.
Датчик – это устройство,воспринимающее
внешние воздействия и
реагирующее на них
изменением
электрических сигналов.
Физические явления:
тепло, холод, давление и
другие -> электрические
сигналы.
4.
Фоторезистор – прибор изменяющий проводимость(сопротивление) в зависимости от количества света,
падающего на его поверхность. Чем
интенсивнее освещённость чувствительной области, тем
меньше сопротивление.
5.
Принцип работыФоторел
е
6.
Передача сигнала с датчикаАналоговым является сигнал, непрерывно
изменяющийся во времени и имеющий определённое
значение в каждый бесконечно малый момент времени.
Вся информация, идущая от окружающего мира,
является аналоговой: звук, свет и пр.
Цифровой сигнал имеет два значения - минимальное и
максимальное. В случае работы с Arduino - это значение
HIGH, соответствующее 5 В, и LOW, соответствующее 0 В.
7.
Различие аналоговых и цифровых сигналовАналоговый сигнал от
датчика
Цифровой сигнал от датчика
время между импульсами
- передаваемое
значение выше
8.
Оцифровка сигналазначение измеренной величины
непрерывная функция
0
∆t
дискретная функция
∆t
t (время)
Широтно-импульсная модуляция (ШИМ)
t (время)
9.
Линия SCL является линиейтактирования и отвечает за
синхронизацию устройств между
собой по частоте работы.
Линия SDA является линией данных
и отвечает за их прием и передачу.
10.
Каждое устройство, подключенное к шине I2C имеет свой адрес.Обычно данный адрес задается производителем устройства и
указывается в datasheet устройства.
11.
Датчик положения (motion sensor)Вставляется в гнездо Sensor на материнской плате.
1. Подключение нужной библиотеки
2. Создание объекта
Для библиотеки Gyroscope
Для библиотеки GyroscopeV2
Gyroscope gyro = Gyroscope(Wire, address);
GyroscopeV2 gyro = GyroscopeV2(Wire, address);
1. Инициализация датчика и необходимых интерфейсов (UART, I2C)
2. Использование функций библиотеки для снятия показаний с датчика
3. Вывод показаний в UART
12.
Адрес датчика положения13.
Методы библиотеки для датчика положенияInit() - инициализация настроек гироскопа по умолчанию.
gyro.Init();
int16_t RawX() - получение сырых данных из гироскопа по оси x. Данные не преобразуются.
int16_t RawY() - получение сырых данных из гироскопа по оси y. Данные не преобразуются.
int16_t RawZ() - получение сырых данных из гироскопа по оси z. Данные не преобразуются.
float X() - получение данных из гироскопа по оси x в град/с.
int16_t x = gyro.RawX();
int16_t y = gyro.RawY();
int16_t z = gyro.RawZ();
float x = gyro.X();
float Y() - получение данных из гироскопа по оси y в град/с.
float y = gyro.Y();
float Z() - получение данных из гироскопа по оси z в град/с.
float z = gyro.Z();
14.
Код для считывания угловой скоростиКакого участка кода не
хватает в части loop(), чтобы
жизнь не усложнялась?
15.
Подключим датчик освещенности к IntrosatДатчик освещенности
16.
Датчик освещённости позволяет измерять силу светового потока, которыйпадает на него. Чувствительным элементом датчика является фотоэлемент –
свет, попадая на него, преобразуется в электрический заряд.
В качестве чувствительного элемента
выступает фототранзистор TEMT7000X01
(на плате обозначен как Q1).
Выходным результатом работы датчика - сигнал ШИМ;
Чем больше значение силы светового потока, падающего на датчик, тем короче конфигурируемый
импульс. Длительность импульсов - выходная информация датчика, диапазон 0-1800 [мс].
17.
Фоторезистор подключён к АЦПмикроконтроллера по следующей схеме:
Разрядность АЦП микроконтроллера - 12 бит. Считанное с вывода
PHOTO_SENSOR напряжение передаётся по шине I2C, одно
показание представляет собой 2 байта данных. По полученным
данным можно определить коллекторный ток фототранзистора и
узнать облучённость (мВт/см2) из datasheet на фототранзистор.
Зависимость облучённости от
коллекторного тока для
фототранзистора
TEMT7000X01
18.
Подключение датчика к материнской платеосуществляется через разъём I2C с помощью
шлейфа. При подсоединении шлейфа важно
следить, чтобы выступ на разъёме шлейфа
входил в отверстие на плате рядом с
ответным разъёмом (или в жёлоб на
ответном разъёме).
Также подключение может осуществляться проводами через разъём PLS:
Распиновка PLS разъёма датчика освещённости,
сверху - край платы
19.
Для датчиков определены адреса 0х50, 0х51, 0х52 и 0х53.20.
Определите датчикам разные адреса, проверьте, чтобы не былодатчиков с двумя одинаковыми адресами и подключите их
короткими кабелями с разъемами micromatch, чтоб первый датчик
был подключен ко второму и тд. Запустите сканер I2C, чтобы
проверить работу датчиков
21.
Подключим необходимые библиотеки.Зададим I2C-адреса датчиков.
22.
Подключим пространство имен и создадим объекты для датчиковосвещенности.
Попробуйте далее самостоятельно реализовать код, используя
метод для считывания данных GetLight(), которая возвращает
данные типа float.
Не забудьте инициализировать необходимые устройства и
интерфейсы.
23.
Условное ветвлениеif (condition #1)
{
// выполнение команд
// при выполнении условия condition #1
}
else if (condition #2)
{
// выполнение команд
// при выполнении условия condition #2
}
else
{
// выполнение команд в случае,
// когда все проверяемые условия ложны
}
24.
ЗаданиеИспользуя условное ветвление и
конструкцию if, напишите прошивку,
которая будет возвращать номер датчика,
на который будет направлен источник света