Обучение
Схема обучения
Инженер по пограничным устройствам на основе ИИ - Training
Эта схема обучения рассказывает учащимся о принципах развертывания ИИ на пограничных устройствах с помощью служб Azure.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Аналогово-цифровой преобразователь (ADC) — это устройство, которое может считывать аналоговое значение входного напряжения и преобразовывать его в цифровое значение. ADC используются для считывания значений с терморезисторов, потенциометров и других устройств, которые изменяют сопротивление в зависимости от определенных условий.
В этом разделе вы будете использовать .NET для считывания значений с аналогово-цифрового преобразователя при модуляции входного напряжения с помощью потенциометра.
Примечание
В этом руководстве предполагается, что целевым устройством является Raspberry Pi. Однако это руководство можно использовать для любого SBC под управлением Linux, поддерживающего .NET, например Orange Pi, ODROID и т. д.
Убедитесь, что SBC настроен для поддержки следующих служб:
Для многих устройств дополнительная настройка не требуется. Для Raspberry Pi используйте raspi-config
команду . Дополнительные сведения о raspi-config
см. в документации по Raspberry Pi.
Используйте компоненты оборудования для создания цепи, как показано на следующей схеме:
Для взаимодействия MCP3008 использует последовательный интерфейс для периферийных устройств (SPI). Ниже перечислены подключения от MCP3008 к устройству Raspberry Pi и потенциометру.
Подайте напряжение 3,3 и заземление на внешние контакты на потенциометре. Последовательность не имеет значения.
При необходимости смотрите следующую схему контактов:
MCP3008 | GPIO Raspberry Pi |
---|---|
Изображение взято с Raspberry Pi Foundation. |
Совет
Для упрощения подключения к заголовку GPIO рекомендуется использовать коммутационную плату GPIO в сочетании с монтажной платой для макетирования или тестирования.
Выполните следующие действия в предпочитаемой среде разработки.
Создайте консольное приложение .NET с помощью .NET CLI или Visual Studio. Назовите его AdcTutorial.
dotnet new console -o AdcTutorial
cd AdcTutorial
Добавьте пакет Iot.Device.Bindings в проект. Используйте либо .NET CLI из каталога проекта, либо Visual Studio.
dotnet add package Iot.Device.Bindings --version 2.2.0-*
Замените содержимое Program.cs кодом из этого примера.
using System;
using System.Device.Spi;
using System.Threading;
using Iot.Device.Adc;
var hardwareSpiSettings = new SpiConnectionSettings(0, 0);
using SpiDevice spi = SpiDevice.Create(hardwareSpiSettings);
using var mcp = new Mcp3008(spi);
while (true)
{
Console.Clear();
double value = mcp.Read(0);
Console.WriteLine($"{value}");
Console.WriteLine($"{Math.Round(value/10.23, 1)}%");
Thread.Sleep(500);
}
В приведенном выше коде:
hardwareSpiSettings
задан новый экземпляр SpiConnectionSettings
. Конструктор задает параметру busId
значение 0 и параметру chipSelectLine
— значение 0.SpiDevice
путем вызова SpiDevice.Create
и передачи hardwareSpiSettings
.
SpiDevice
представляет шину SPI. Объявление using
гарантирует, что объект удален и аппаратные ресурсы освобождены должным образом.using
создает экземпляр Mcp3008
и передает SpiDevice
конструктору.while
выполняется бесконечно. Каждая итерация:mcp.Read(0)
.Построение приложения. При использовании интерфейса командной строки .NET выполните команду dotnet build
. Чтобы выполнить сборку в Visual Studio, нажмите клавиши CTRL+SHIFT+B.
Разверните приложение в SBC как автономное приложение. Инструкции см. в статье Развертывание приложений .NET в Raspberry Pi. Обязательно предоставьте исполняемому файлу разрешение execute с помощью chmod +x
.
Запустите приложение на устройстве Raspberry Pi, перейдя в каталог развертывания и запустив исполняемый файл.
./AdcTutorial
Обратите внимание на изменение выходных данных, происходящее при вращении ручки потенциометра. Это происходит из-за того, что потенциометр меняет напряжение, подаваемое в CH0 на устройстве ADC. Для создания значения ADC сравнивает входное напряжение в CH0 с опорным напряжением, подаваемым на VREF.
Завершите работу программы, нажав клавиши CTRL+C.
Поздравляем! Вы считали значения с аналогово-цифрового преобразователя с помощью SPI.
Исходный код для этого учебника доступен на сайте GitHub.
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
Обучение
Схема обучения
Инженер по пограничным устройствам на основе ИИ - Training
Эта схема обучения рассказывает учащимся о принципах развертывания ИИ на пограничных устройствах с помощью служб Azure.
Документация
Считывание с датчика условий окружающей среды - .NET
Узнайте, как считывать температуру, барометрическое давление и влажность с помощью библиотек Интернета вещей .NET.
Сигнал светодиодного индикатора - .NET
Сведения о включении и отключении сигнала (мигании) светодиодного индикатора с помощью библиотек Интернета вещей .NET.
Использование GPIO для двоичного ввода - .NET
Узнайте, как использовать GPIO для двоичного ввода с библиотеками Интернета вещей .NET.