В этом уроке мы научимся читать датчик гироскопа с помощью Arduino 101 и при этом покажем статус наклона нужным светодиодом.
Arduino 101 хорош для начинающих. Имея модуль Intel® Curie ™, разработанный для интеграции низкого энергопотребления и высокой производительности ядра с использованием Arduino, возможностями Bluetooth Low Energy и встроенным 6-осевым акселерометром / гироскопом, эта плата обеспечит захватывающие возможности для создания креативных проектов.
Более подробную информацию о технических характеристиках и документации можно найти на главной странице Arduino / Genuino 101.
Шаг 1: Нам понадобится
Для реализации проекта гироскопа с Arduino нам потребуется:
- Arduino 101 (на фото выше)
- Светодиоды - 3 шт
- Резисторы 220 Ом - 3 шт
- Макетная плата
- Провода - 4 шт
Шаг 2: Настраиваем схему
Давайте создадим нашу схему.
Подключите разъем Arduino 101 GND (заземление) к одному из контактов макетной платы. Мы взяли верхний левый разъем. Подключите 3 резистора в том же столбце где GND. Добавьте 3 светодиода, каждый отрицательный контакт подключен к другому концу его резистора.
Возьмите 3 провода-перемычки.
- Подсоедините положительный контакт 1-го светодиода к цифровому выходу 9.
- Подсоедините положительный контакт 2-го светодиода к цифровому выходу 6.
- Подсоедините положительный контакт 3-го светодиода к цифровому выходу 5.
Ваша схема должна быть похожа на изображения выше.
Шаг 3: Программируем Arduino 101
Подключите свой Arduino 101.
Скачайте исходный код SyroscopeSensor.ino и загрузите его в IDE.
Arduino 101 имеет модуль Intel Curie, который использует Arduino api CurieIMU.h
С помощью этой функции мы можем прочитать акселерометр и гироскоп.
CurieIMU.readMotionSensor(ax, ay, az, gx, gy, gz);
Переменные оси используются в качестве параметра и будут ссылаться на api для обновления значений.
Наконец, получите яркость светодиода, используя формулу, и «обновите» светодиод.
if(gx>0) gxBrightness = gx/66.66; else gxBrightness=0; analogWrite(gxLed,gxBrightness); // show gyroscope's X Axis brightness if(gy>0) gyBrightness = gy/66.66; else gyBrightness=0; analogWrite(gyLed,gyBrightness); // show gyroscope's Y Axis brightness if(gz>0) gzBrightness = gz/66.66; else gzBrightness=0; analogWrite(gzLed,gzBrightness); // show gyroscope's Z Axis brightness
Шаг 4: Тестируем датчик гироскопа
Чтобы проверить датчик гироскопа на наших светодиодах, следуйте приведенному ниже руководству.
- Чем выше нижняя сторона - желтый светодиод загорается, если мы находимся в положительной оси X
- Выше правая сторона - оранжевый светодиод загорается, если мы находимся в положительной оси Y
- Поверните влево / вправо - Красный светодиод загорится, если мы находимся в положительной оси Z.
Яркость светодиода соответствует значению положительной оси. Максимальные показания для каждой оси равны 17000. Таким образом, мы вычислили яркость (0-255) аналоговой записи по яркости = ось / 66,66.
Это всё! Исследуйте потенциальное применение гироскопа на Arduino 101 и изобретайте дальше.