Quantcast
Channel: Рождённый с паяльником
Viewing all articles
Browse latest Browse all 2102

Когда лень паять

$
0
0
Изначально написал пост к себе в ЖЖ, а потом подумал что быть может будет полезен читателям данного сообщества. Всё делалось в Ubuntu 12.04, но будет работать и в других линуксах (и даже винде, на сайте будет описано всё).

Меся назад по наводке камрада dru4заказал себе набор ардуиновских датчиков. О наборе распыляться особо не буду, всё отлично описал камрад тут . Набор оказался просто шикарный, особо доставили датчики положения со ртутью ;). В общем крайне рекомендую заказать этот набор самоделкиным. У меня уже расписано использование доброй трети девайсов! Стоит каждую вложенную копеечку.
Для справки, краткое описание содержимого набора, с примерами кода для ардуино:
http://www.cutedigi.com/arduino/sensors-kit-for-arduino.html
И на самом DX http://club.dx.com/forums/forums.dx/threadid.1202308

После получения онного набора, я начал понимать ардуинщиков, ведь можно ничего не разводя плат и не паяя, буквально на коленке получить готовый девайс который будет делать то, что ты хочешь.
У меня как раз есть маленькая монтажная платка с FT232RL, и я решил забубенить себе температурный датчик. А то на работе народ ноет по поводу мощи кондиционера. Делается элементарно. Исходя из картинки:


"Схема"подключения датчика

Вешаем GND и +5 В на землю и питание соответсвтенно, а RX и TX платки с микросхемой FT232 заводим вместе на ножку Signal платки с датчиком. В результате должно выглядеть вот так:


Девайс собран в матраце с дырками

Делаем как на сайте http://martybugs.net/electronics/tempsensor/software.cgi (ищите там описание для винды, увы не юзаю - сказать ничего не могу) :
Инсталим:
apt-get install digitemp

Обратите внимание, что ссылку следует сделать вот так (пример с сайта не работает):

ln -s /usr/bin/digitemp_DS9097 /usr/bin/digitemp

После чего конфигурируем следующим образом:

sudo digitemp_DS9097 -i -s /dev/ttyUSB0 -q -r2000 -c /etc/digitemp.conf

Так термометр будет опрашиваться каждые 2 секунды. Если вы всё сделали правильно, то будет такая надпись:

dlinyj@dlinyj-System:~/tmp$ sudo digitemp_DS9097 -i -s /dev/ttyUSB0 -q -r2000 -c /etc/digitemp.conf
28EB8EB104000026 : DS18B20 Temperature Sensor
ROM #0 : 28EB8EB104000026


Усё, теперя можно юзать, например вот так:
sudo digitemp_DS9097 -a -q -n0 -o"%N %.4C %b %d %H:%M:%S" -c /etc/digitemp.conf

В результате вывод будет таким: вначале будет время с UNIX-формате, потом температура в цельсиях, и далее время в человеческом формате без года, вывод будет идти непрерывно. Для того, чтобы данные логались надо в конце добавить -l temper.txt - где temper.txt - это путь до файла логов. О том как сформировать строку, читайте в манах :).





Ну и ничего не красит пост, как хороший график :). График температуры снятого во время обеда (исходные данные получены форматной строкой выше):


Время по Гринвичу, +4 для Москвы



#! /usr/bin/gnuplot -persist
set terminal png size 800, 600
set output "result.png"
set grid xtics ytics

set xlabel "Время" 
set ylabel "Температура" rotate by 90

set xdata time
set timefmt x "%s"
set format x "%d.%m %H:%M"
set xtics rotate by 270
plot "temper.txt" using 1:2 title "Колебание температуры в комнате" with lines linestyle 3



Вот так просто можно сделать троллейбустворить свои поделки из говна и палок. Я в десять раз дольше писал этот пост, чем делал датчик и график.
З.Ы. Всё это можно сделать паяльником и без платок, но чутка дольше.

Viewing all articles
Browse latest Browse all 2102

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>