Ничего не найдено :(
    В гостях у Самоделкина! » Темы » Советы » Использование датчиков смартфона в проектах Ардуино

    Использование датчиков смартфона в проектах Ардуино


    Датчики являются ключевыми деталями в некоторых проектах с использованием Ардуино.
    В то же время в современный смартфон на базе Андроид встроено большинство основных датчиков, таких как датчик приближение, акселерометр, датчик света, магнитометр, гироскоп и т. д. Эти датчики можно использовать в проектах Arduino, пока датчики для проекта не доставлены из интернет-магазина.

    В этой инструкции мастер покажет нам, как эти датчики можно использовать и как их "заставить" общаться с Arduino через проводное соединение.

    Для этого потребуются:
    -Arduino uno;
    -USB-кабель (тип B);
    -Кабель OTG;
    -Модуль дисплея OLED (для отображения входящих данных);

    В проекте мастер использует программное обеспечение MIT App Inventor для создания приложения, которое будет выполнять работу по передаче собранных данных с датчика на телефон. Изобретатель приложений MIT идеально подходит для тех, кто не хочет вдаваться в подробности, но хочет, чтобы работа была сделана.

    App Inventor — среда визуальной разработки android-приложений, требующая от пользователя минимальных знаний программирования.
    Последовательная связь между Arduino и Android аналогична последовательной связи между компьютером и Arduino. Отправитель отправляет данные бит за битом, а получатель получает бит за битом.
    Использование датчиков смартфона в проектах Ардуино


    Последовательная связь - Приложение
    Войдите в MIT app inventor и начните новый проект.
    Чтобы установить последовательное соединение, нужно включить вкладку serial from connectivity, перетащить элемент.
    Убедитесь, что скорость загрузки такая же, как скорость загрузки в Arduino.
    Импортируйте две кнопки для подключения и отключения к Arduino и один флажок для визуального представления, что устройство подключено.
    Добавьте еще две кнопки для включения и выключения светодиода.
    Дальше переходим к блочному кодированию. На панели блоки находим различные события связанные с различными компонентами.
    Кликаем место события напротив каждой кнопки
    При нажатии кнопки connect она инициализирует последовательное соединение и открывает последовательное соединение.
    Когда кнопка отключения нажата, она закрывает последовательную связь и снимает флажок
    Теперь, как только будет нажата кнопка вкл, он отправит байт данных, то есть светодиод должен включиться только в том случае, если последовательная связь открыта.
    То же самое произойдет, когда будет нажата кнопка off, будет отправлено указание на то, что светодиод должен выключиться.
    Дальше сохраняем проект.
    Экспортируем APK-файл приложения в телефон и устанавливаем приложение.
    Устанавливаем код для Arduino.
    int ledState = 0;
    
    void setup()
    {
      Serial.begin(9600);
      pinMode(13, OUTPUT);
    }
    
    void loop()
    {
      if (Serial.available() > 0)
      {
        delay(400);
        ledState = Serial.parseInt();
        digitalWrite(13, ledState);
      }
    }

    Дальше подключаем Arduino к телефону с помощью кабеля OTG.
    Открываем приложение.
    Нажимаем кнопку подключения. Должно появиться сообщение о разрешении доступа к USB-устройству. Подтверждаем доступ.
    Нажимаем Connect для фактического подключения к Arduino.
    При нажатии на кнопку должен загореться встроенный светодиод, а после выключения он должен погаснуть.





    Дальше можно начинать работу с датчиками.

    Датчик приближения.
    Этот датчик расположен рядом с передней камерой и используется для определения, находится ли какой-либо объект рядом с датчиком или нет. Работа этого датчика заключается в том, что когда человек подносит телефон близко к уху, чтобы поговорить, датчик это обнаруживает и выключает экран.

    Как правило, выходной сигнал этого датчика высокий или низкий в зависимости от того, находится ли объект поблизости.
    Таким образом, можно мигать светодиодом с помощью датчика приближения.
    Включите кнопку и флажок, чтобы установить последовательную связь.
    Включите датчик приближения на вкладке датчиков.
    Снимите флажок включения датчика приближения, чтобы датчик не генерировал выходной сигнал при первом запуске приложения.
    Датчик приближения имеет событие, которое выводит высокий или низкий уровень в зависимости от того, находится объект поблизости или нет.

    Каждый раз, когда значение датчика приближения изменяется, он отправляет 0 или 1, чтобы указать на изменение.
    Код такой же, как и в первом шаге.




    Датчик освещенности.

    Этот датчик определяет количество света, падающего на экран. Он используется для изменения яркости экрана: чем больше окружающего света падает на экран, тем больше должна быть яркость экрана и наоборот, чем меньше света падает на экран, меньше должна быть яркость экрана.

    Единица яркости света измеряется в люксах.
    Событие, которое мы используем, - это событие, которое срабатывает каждый раз, когда уровень освещенности на датчике изменяется. Каждый раз, когда интенсивность света, падающего на датчик, изменяется, событие запускается.
    Другой параметр, который следует учитывать, - это то, как часто датчик обновляет значение, для некоторых устройств оно может достигать 1000 мс, а для некоторых - всего 1 мс.
    Включаем кнопки подключения, отключения и флажок для последовательной связи.
    Включаем ползунковый переключатель, чтобы датчик отправлял данные только тогда, когда нужно.
    Устанавливаем метку, чтобы знать, совпадают ли значения, воспринимаемые датчиком, и значения, выбранные Arduino.
    Затем нужно включить те же блоки для последовательных подключений, которые включались ранее, соответствующие кнопкам подключения и отключения.
    Включаем блок события .LightChanged.
    Включаем событие, соответствующее ползунковому переключателю Slide.Changed..
    Код Arduino
    Прежде всего нужно инициализировать различные параметры для настройки OLED-дисплея.
    В функции настройки нужно установить несколько параметров OLED, таких как размер текста, цвет и положение курсора.
    void loop() {
    
        if (Serial.available() > 0)  {
        delay(400);
        data = Serial.parseFloat();
        display.clearDisplay();
        display.setCursor(0, 0);
        display.print("Intensity = ");
        display.print(data);
        display.print(" Lx");
        display.display();
      }
    }

    Аппаратное обеспечение
    OLED-дисплей подключается к Arduino с помощью перемычек и макетной платы.
    Контакты OLED-дисплея => контакты Arduino
    VCC => 5 В
    GND => GND
    SCL => A5
    SDA => A4
    Дальше подключаем телефон к android с помощью otg кабеля.
    Запускаем приложение. Дальше можно помахать рукой возле передней камеры, там находится датчик.
    Изменяющееся значение должно отображаться на OLED-дисплее, а также под ползунковым переключателем в приложении.



    Акселерометр.

    Этот датчик используется для определения ориентации телефона. Широко используется в игровых и других интерактивных приложениях.
    Он измеряет ускорение по 3 осям x, y и z.
    Настройка практически такая же, как и на предыдущем шаге с небольшими изменениями.
    Код ниже.

    Схема подключения такая же, как сдатчиком света.



    Гироскоп.

    Этот датчик измеряет скорость вращения по трем осям x, y и z. Единица измерения - градусы в секунду.
    Настройка аналогична предыдущим с небольшими изменениями.
    Код можно скачать ниже.




    Магнитометр.

    Этот датчик измеряет значения магнитного поля по трем осям с единицами измерения в теслах.
    В основном используется в цифровом компасе для указания направления.
    Включите кнопку подключения и отключения и флажок для последовательной связи.
    Включите ползунковый переключатель для включения и выключения магнитометра и таймера.
    Устанавливаем ползунок для изменения времени отсчета таймера.
    В блочном кодировании добавляем события подключения и отключения.
    Добавляем событие switch.Changed, и если переключатель включен, он включает датчик или отключает его.
    Включаем события таймера.
    Загружаем код.




    В принципе все. Таким способом можно заменить датчики и проверить работу своих проектов Ардуино. Более подробно с данным материалом можно познакомиться на странице.

    Источник (Source)
    Подборки: Arduino

    Холодная лимонная вода целый день, или «как спастись от жары»

    Сыр из кефира своими руками дёшево

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

    Привет, Гость!


    Зарегистрируйтесь

    Или войдите на сайт, если уже зарегистрированы...

    Войти

    Добавьте самоделку

    Добавьте тему

    Онлайн чат

    Последние комментарии

    Все комментарии