Оглавление:
- Шаг 1. Используемые ресурсы
- Шаг 2: Сборка
- Шаг 3: Новая программа в MBED
- Шаг 4: Импорт библиотеки DS18b20
- Шаг 5: Новая программа в MBED
- Шаг 6: Исходный код
- Шаг 7: полученные данные
- Шаг 8: включение дополнительных датчиков
- Шаг 9: просмотр исходного кода
- Шаг 10: файлы
Видео: Невероятно легко программировать! 10 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
Сегодня я расскажу о ядре STM32, L476RG, которое является лицом сверхнизкого энергопотребления. Вы можете увидеть это слева от изображения. Это устройство имеет две розетки с контактами, по одной с каждой стороны, которые представляют собой не что иное, как разъемы для экрана Arduino. Это здорово, не так ли?
На мой взгляд, STMicroelectronics сделала это в своем комплекте разработчика, потому что знает, что профессионалы используют этот чип. Эта компания все больше и больше движется к ардуино. И это также верно для нескольких других профессиональных комплектов STMicroelectronics.
Наконец, что касается сегодняшнего проекта, мы будем использовать два датчика DS18b20 в дополнение к L476RG. Итак, мы сделаем простую сборку с помощью L476RG, импортируем библиотеку в среду MBED, создадим программу в среде MBED и получим данные с L476RG через USB / последовательный порт.
Я уже немного рассказывал о L476RG в этом видео: ПРОСТОЙ СПОСОБ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРА, где я показываю, как настроить среду MBED, которая находится в сети.
Некоторые люди, которые следят за моими видео, спрашивают меня, заменяет ли STM32 ESP32. Я говорю одно: его не заменить и не могло, потому что это две совершенно разные вещи.
Эта микросхема STM32 представляет собой микроконтроллер, а точнее; это не «кластер вещей», как ESP32. Так что названия могут выглядеть похожими, но они совершенно разные. STM32 - это микроконтроллер общего назначения, например, PIC, Atmel.
Шаг 1. Используемые ресурсы
1 ядро L476RG
2 датчика DS18b20 (мы используем обычные водонепроницаемые модули, представленные на рынке)
1 резистор 4k7
Мини-макетная плата
Перемычки для подключения
Шаг 2: Сборка
Изначально сборку будем проводить с помощью одного из датчиков температуры.
Его мощность будет 5В.
Резистор 4k7 будет использоваться для подтягивания линии передачи данных (1-Wire).
Мы будем читать данные с помощью вывода A0.
Шаг 3: Новая программа в MBED
После того, как вы настроите свою учетную запись в MBED и получите к ней доступ, мы создадим новую программу. Для этого щелкните правой кнопкой мыши «Мои программы» и выберите «Новая программа…»
Подтвердите, что «Платформа» соответствует используемой вами доске.
Теперь мы нажимаем на «Шаблон».
Создадим программу на основе примера «Отображение сообщения на ПК с помощью UART».
Введите название программы в «Имя программы».
Установите флажок «Обновить эту программу и библиотеки до последней версии».
Будет создана новая папка для вашей программы, включая библиотеку MBED по умолчанию и файл main.cpp.
Вы можете использовать его, чтобы проверить, все ли работает хорошо. Для этого просто скомпилируйте его и скопируйте на платформу.
Используя выбранный вами последовательный терминал, вы можете получать следующие сообщения.
Шаг 4: Импорт библиотеки DS18b20
Поскольку существует несколько версий библиотек для Ds18b20, мы будем импортировать их с использованием URL-адреса, чтобы в вашем примере использовалась та же библиотека.
Шаг 5: Новая программа в MBED
В поле «Исходный URL» введите: https://os.mbed.com/users/Sissors/code/DS1820/ и нажмите «Импорт».
Ваша библиотека DS1820 должна появиться в папке с программой.
Шаг 6: Исходный код
Включает в себя
Мы начали с включения необходимых библиотек.
#include "mbed.h" // включение библиотеки в MBED # include "DS1820.h" // включение библиотеки в датчик DS1820
Мы определяем константы, которые будут представлять используемые контакты.
Обратите внимание, что DS18b20 - это датчик с 1-WIRE связью. По этой причине мы используем библиотеку, которая будет обрабатывать весь протокол связи с устройствами. Это включает в себя идентификацию каждого устройства до команд чтения.
#define PINO_DE_DADOS A0 // определение pino para leitura dos dados #define MAX_SENSORES 16 // определение максимального числа для вектора сенсоров
Мы создаем вектор, который будет указывать на каждое из 16 возможных устройств, подключенных к линии данных.
DS1820 * датчик [MAX_SENSORES]; // cria um vetor com 16 позиций для сенсорных устройств
Мы запускаем метод main (), где с помощью метода unassignedProbe (), содержащегося в библиотеке DS1820, ищем все доступные устройства в линии связи.
Мы заполняем вектор датчика экземплярами, которые будут представлять каждый из доступных датчиков.
Мы делаем это до тех пор, пока не будет найден последний или пока не наберем максимум 16 датчиков.
int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// инициирование датчика procura por sensores [encontrados] = новый DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // проверка максимума сенсоров break; }
Высылаем количество найденных на линии датчиков.
printf ("Контрастные диспозиции:% d / r / n / n", прямо противоположные);
Мы запускаем бесконечный цикл, запрашивая, чтобы все доступные датчики вычисляли свои соответствующие температуры, а затем перебираем вектор датчика, отправляя полученные показания.
printf ("Контрастные диспозиции:% d / r / n / n", прямо противоположные); while (1) {датчик [0] -> convertTemperature (true, DS1820:: all_devices); // запросить температуру для заданных параметров для (int i = 0; item temperature ()); //… e восстановить температуру printf ("\ r / n"); ждать (1); }
Шаг 7: полученные данные
Используя один датчик, мы получаем следующий последовательный вывод.
Шаг 8: включение дополнительных датчиков
Чтобы проверить код, мы вводим еще один датчик в линию связи, просто подключив его параллельно первому датчику.
Не забудьте выключить узел перед подключением новых датчиков.
При перезапуске сборки мы получили следующий результат без каких-либо изменений в исходном коде.
Шаг 9: просмотр исходного кода
#include "mbed.h" // включение библиотеки в MBED # include "DS1820.h" // включение библиотеки в датчик DS1820 #define PINO_DE_DADOS A0 // определение pino для проверки данных #define MAX_SENSORES 16 // определение Максимальное количество датчиков датчика DS1820 * [MAX_SENSORES]; // cria um vetor com 16 позиций для сенсоров int main () {int encontrados = 0; while (DS1820:: unassignedProbe (PINO_DE_DADOS)) {// инициирование датчика procura por sensores [encontrados] = новый DS1820 (PINO_DE_DADOS); // cria uma instancia para o sensor encontrado encontrados ++; if (encontrados == MAX_SENSORES) // проверка максимума сенсоров break; } printf ("Контрастные диспозиции:% d / r / n / n", противоречащие друг другу); while (1) {датчик [0] -> convertTemperature (true, DS1820:: all_devices); // запросить температуру для заданных параметров для (int i = 0; item temperature ()); //… e восстановить температуру printf ("\ r / n"); ждать (1); }}
Шаг 10: файлы
Другие
Рекомендуемые:
Как программировать ESP32 M5Stack StickC с Arduino IDE и Visuino: 12 шагов
Как программировать ESP32 M5Stack StickC с Arduino IDE и Visuino: в этом руководстве мы узнаем, как программировать ESP32 M5Stack StickC с Arduino IDE и Visuino. Посмотрите демонстрационное видео
DIY MusiLED, светодиоды с синхронизацией музыки с приложением Windows и Linux одним щелчком (32- и 64-разрядные версии). Легко воссоздать, легко использовать, легко переносить: 3 шага
DIY MusiLED, светодиоды с синхронизацией музыки с приложением Windows и Linux одним щелчком (32- и 64-разрядные версии). Легко воссоздать, легко использовать, легко переносить: этот проект поможет вам подключить 18 светодиодов (6 красных + 6 синих + 6 желтых) к плате Arduino и проанализировать сигналы звуковой карты вашего компьютера в реальном времени и передать их на светодиоды, которые загораются в соответствии с эффектами битов (Snare, High Hat, Kick)
Невероятно умная док-станция: 5 шагов
Невероятно умная док-станция: снова привет. Недавно стало огромное количество USB-устройств, включая USB-накопители, iPod, PSP, MP4, сотовые телефоны и т. использовать и делать. Итак, я решил опубликовать это поучительное BTW: Нет М
Невероятно простой Arduino ProtoShield: 7 шагов
Смущающе простой Arduino ProtoShield: вчера я опубликовал ProtoShield Instructable. У него было преимущество учета смещения заголовка Arduino, но люди указали, что это было немного беспорядочно (я использовал эпоксидную смолу там, где стандартные мужские заголовки были бы хороши). Причина, по которой я смущен
Как сделать мощный горящий лазер Blueray! Легко, дешево и легко настраивается !: 5 шагов
Как сделать мощный горящий лазер Blueray! Легко, дешево и легко фокусируемо! Это руководство своими руками о том, как сделать ВЫСОКОМОЩНЫЙ лазер с СИНИМ лучами. ВНИМАНИЕ: вы имеете дело с очень мощными лазерами, которые ослепят любого менее чем за полсекунды, если светить вам в глаза или кому-либо еще! А теперь перейдем к первому ПОС