цифровая электроника
вычислительная техника
встраиваемые системы

 



Телефонный термометр с использованием Arduino Digispark Attiny85

Автор: Mike(admin) от 30-04-2021, 05:55

В этом руководстве мы собираемся создать простой телефонный термометр с подключением USB OTG на основе миниатюрной платы Digispark ATtiny85 из экосистемы Arduino, которая может подключаться к нашему мобильному телефону через адаптер OTG и считывать температуру чего угодно в реальном времени и отображать ее с помощью последовательного монитора.


Телефонный термометр с использованием Arduino Digispark Attiny85

Digispark ATtiny85 будет подключаться к телефону с помощью библиотеки DigiCDC, которая позволяет Digispark отображаться на мобильном телефоне или компьютере как виртуальный последовательный порт при подключении через USB. Это делает ее похожим на стандартный Arduino и позволяет использовать последовательный монитор. Затем мы считываем температуру с помощью прецизионного термистора и используем функцию последовательного вывода данных, чтобы вывести их в последовательный монитор.


Телефонный термометр с использованием Arduino Digispark Attiny85

Итак, для начала загрузите и установите приложение Serial USB Terminal из Google Play Store (play.google.com/store/apps/details?id=de.kai_morich.serial_usb_terminal).


Телефонный термометр с использованием Arduino Digispark Attiny85

Подключение компонентов очень просто. Подключите один вывод термистора к контакту P2 платы Digispark ATtiny85. Подключите другой вывод термистора к GND. Затем подключите резистор 10 кОм между контактом P2 и 5V.


Телефонный термометр с использованием Arduino Digispark Attiny85

Загрузите следующий код в Digispark Attiny85 с помощью Arduino IDE.



#include <DigiCDC.h>

#define SERIESRESISTOR 10000
#define THERMISTORPIN A1
#define THERMISTORNOMINAL 10000
#define TEMPERATURENOMINAL 25
#define NUMSAMPLES 5
#define BCOEFFICIENT 3950

void setup() {
  SerialUSB.begin();
}

void loop()
{
  if (SerialUSB.available())
  {
    uint8_t i;
    float average;
    average = analogRead(THERMISTORPIN);

    average = 1023 / average - 1;
    average = SERIESRESISTOR / average;
    //SerialUSB.print("Thermistor resistance ");
    //SerialUSB.println(average);

    float steinhart;
    float presteinhart;
    steinhart = average / THERMISTORNOMINAL;     // (R/Ro)
    steinhart = log(steinhart);                  // ln(R/Ro)
    steinhart /= BCOEFFICIENT;                   // 1/B * ln(R/Ro)
    steinhart += 1.0 / (TEMPERATURENOMINAL + 273.15); // + (1/To)
    steinhart = 1.0 / steinhart;                 // Инвертирование
    steinhart -= 273.15;                         // Преобразование абсолютной температуры в температуту по Цельсию

    if (int(presteinhart) != int(steinhart))
    {
      SerialUSB.print("Temperature ");
      SerialUSB.print(steinhart);
      SerialUSB.println(" *C");
      presteinhart = steinhart;
    }
    SerialUSB.delay(1000);
  }
}

Подключите плату к телефону через разъем USB. Откройте приложение последовательного USB-терминала. Щелкните значок подключения, когда будет предложено предоставить доступ, нажмите кнопку ОК.


Телефонный термометр с использованием Arduino Digispark Attiny85

Чтобы начать получать значения температуры, нам нужно отправить некоторую строку, поэтому просто введите что-нибудь и нажмите «Send». Вот и все, теперь мы можем считывать температуру любых объектов в реальном времени с нашего телефона.




© digitrode.ru


Теги: Arduino, датчик температуры, Digispark, термистор, ATtiny




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий