Где наука, искусство и фотография пересекаются (с)

15 March 2013

Светография сама по себе обычна. Для интересного кадра ей нужна идея. К примеру автор фотографий, приведенных ниже, подошел к этому вопросу как со стороны искусства, так и со стороны науки.

Снаряжение для дальних поездок

18 February 2013

На бескрайних просторах интернета подвернулась статья о походном снаряжении для многодневных поездок. Весьма занятно. Помимо доказавших свою крутость шортов Endura Hummvee 3/4, тут ещё описывается правильная футболка отводящая пот. Надо будет поискать у нас :)

Хитрости усадки

16 February 2013

Концепт веток для индикаторного дерева успел изменится раза четыре :) По началу думал, что вполне сойдут rgb-светодиоды, и можно сделать красивые цветные переходы при изменении состояний проектов. Как бы не так. Для этого нужна динамическая индикация, которая бы требовала транзисторную часть, более высокое напряжение, и теряла бы яркость при наращивании. Позже, потеряв надежду в переливы, нашлись удобные двухцветные светодиоды. Дерево начало представляться из белых проводов со светодиодами на окончании. Ок. Но эта конструкция сама по себе стоять не сможет, провода то мягкие.

Для устойчивой конструкции нужен каркас. Либо толстые гнущиеся провода, либо опора. Накупил значит проволоки двух размеров, на проверить. Вариант оплетания веток проволокой снаружи показался не эстетическим. Так что решил вместо лишних жил пустить проволоку внутри кабеля ;) Вроде бы получилось! Первые варианты веток и модуля со сдвиговыми регистрами на фото снизу ;)

Сдвиговые регистры, кстати, крайне удобная штука. Наращиваемые, управляемые, компактные, да и вообще классные. В данном случаи использовал популярную модуль - 74HC595.

Рубин 0.1

03 February 2013

Да, а до оживления портов ввода-вывода на ruby я, оказывается, вчера был крайне не далеко. На сайте разработчика библиотеки нашлась красивая табличка с портами и их нумерацией. Которая в свою очередь оправдала полный разброс оных по линейке контактов..

Получилось весьма лаконично.

#!/usr/bin/ruby
MY_PIN = 4
require 'wiringpi'
print "[init]\n"
io = WiringPi::GPIO.new
io.mode(MY_PIN, OUTPUT)
10.times do
  print "[+  on]\n"
  io.write(MY_PIN, HIGH)
  sleep(1)
  print "[- off]\n"
  io.write(MY_PIN, LOW)
  sleep(1)
end
print "[end]\n";

И чуток доколдовав с кодом, решил запилить мигалку посищений сайта. Что может быть проще. Зато приятно сидеть за компьютером и наблюдать дружественные помигивания, значит кто-то тут даже бывает :D


#!/usr/bin/ruby
require 'wiringpi'

MY_PIN = 4

def blink(io, long)
  io.write(MY_PIN, HIGH)
  if long
    sleep(0.5)
  else
    sleep(0.1)
  end
  io.write(MY_PIN, LOW)
  sleep(0.1)
end

def getViews()
  return `wc -l /var/log/nginx/access.log`.to_i
end

puts "[web blinker init]"
io = WiringPi::GPIO.new
io.mode(MY_PIN, OUTPUT)
io.write(MY_PIN, LOW)
lcwas = getViews()
while true
  lc = getViews()
  if lc > lcwas
    dif = lc - lcwas
    print dif
    dif.times do
      blink(io, dif < 10)
    end
  end
  lcwas = lc
  print '.'
  sleep(1)
end


© Oleksiy Tishyn 2018