Останнім часом температура повітря швидко змінюється. Її важко відстежувати за допомогою інтернет-синоптиків. Для легкого відстеження температури ми покажемо, як зібрати електронно-механічний термометр власноруч на основі контролера Arduino Uno, датчика температури DS18B20 та сервопривода.

Для роботи нам знадобиться:
  • Будь-яка плата Arduino
  • Breadboard
  • Набір проводів і/або перемичок «тато-тато»
  • Сервопривод
  • Датчик температури DS18B20
  • Резистор 4.7 КОм
  • Будь-який CD диск
  • Зубочистка

Згадаємо деякі теоретичні відомості

Breadboard
Макетна плата складається з пластикової підставки, на якій є набір струмопровідних контактних роз′ємів. Вони розбиті на сектори, які з′єднані особливим чином. Дві з боків  - це шини, які часто використовуються для живлення (плюсова «+», мінусова «-»). Вони марковані червоною та синьою лініями уздовж контактних точок. Всі точки шини,  в данному випадку, електрично з′єднані між собою вертикально.
Центральна область розділена на дві частини. Роз'єми електрично з'єднані горизонтально по 5 точок.
 Картинки по запросу принцип дії Breadboard
Спочатку отримаємо температуру за допомогою цифрового датчика
DS18B20. Перед тим, як збирати схему, потрібно визначитись з виводами цього електронного компонеиту.

Якщо визначились, то приступим до монтажу його до загальної схеми.


Далі нам знадобиться сервопривід для здійснення відображення температури з датчика DS18B20


 Схема зібрана, перейдемо до наступного кроку.

Програма вже створена та синхронізована з платою.


#include <Servo.h>
#include <DS18B20.h>  

DS18B20 *ds = new DS18B20(8); //оголосим  екземпляр класу DS18B20 порт підключення #8
Servo myservo;                //оголосим  екземпляр класу Servo 
void setup() { 
  Serial.begin(9600);
  myservo.attach(9);          //порт підключення сервопривіда #9
  myservo.write(90);
  delay(5000);  
}   
void loop() {  
  ds->update();  
  ds->readDSTemp();    
  if(ds->countDS()) {     
    Serial.println(ds->getDSTemp(ds->countDS()-1), DEC);     
    myservo.write(map(ds->getDSTemp(ds->countDS()-1),15,45,180,0));   
  }else Serial.println("Sensor not found");    
  delay(2000);   
} 
Перейдемо до механічної частини, а саме збірки прототипу термометра. Для цього нам потрібно розмітити циферблат на компакт диску. Наш сервопривід вміє повертатися тільки на 180 градусів, тому шкала буде займати лише половину кола диска. Цей  термометр здатний відтворювати температуру від -55 до +125 градусів, але для вимірювання кімнатної нам не потрібен такий діапазон. Для вимірювання кімнатної температури нам достатній проміжок від 15 до 45 градусів. Тож створимо розмітку. Наш діапазон ділить півколо на n градусів, тому визначемо значення n.

n = 45 - 15 = 30 градусів целсія,

а це 30 секторів по

 a = 180 / 30 = 6 градусів

Нам потріно розділити півколо на 30 секторів, з відси коло на 60.

Поділ кола на N-ну кількість однакових частин


Поділ виконується в такий спосіб. Проводимо горизонтальну і вертикальну взаємно перпендикулярні осі кола. З верхньої точки "1" кола, проводимо під довільним кутом до вертикальної осі пряму лінію. На ній відкладаємо рівні відрізки довільної довжини, число яких дорівнює числу частин, на яке ми ділимо це коло, наприклад 9. Кінець останнього відрізка з'єднуємо з нижньою точкою вертикального діаметра. Проводимо лінії, паралельні отриманій, з кінців відкладених відрізків до перетину з вертикальним діаметром, розділивши таким чином вертикальний діаметр даної окружності на задану кількість частин. Радіусом рівним діаметру кола, з нижньої точки вертикальної осі проводимо дугу MN до перетину з продовженням горизонтальної осі кола. З точок M і N проводимо промені через парні (або непарні) точки поділу вертикального діаметра, до перетину з колом. Отримані відрізки кола будуть шуканими, тому що точки 1, 2, .... 9 ділять коло на 9-ть (N) рівних частин.

Зробіть розмітку на папері. Якщо у вас вийшло перенесіть розмітку на компакт диск за допомогою маркера, а якщо ні, то спробуйте ще раз у Вас обовяєково все вийде.

Залишилось з'єднати усі елементи разом та перевірити роботу нашого термометру.

Я вважаю що цей виріб у такому вигляді мало кому сподобається, але якщо додати трішки фантазі, та надати пристрою вінтажного вигляду, він стане корисною прикрасою вашого помешкання. 
Дякую за увагу!