Новость из категории: Информация

AstroCam: фото, снятые Pi. Часть II

Содержание:
1. Часть I;
2. Часть II (Вы читаете данный раздел);
3. Часть III.
AstroCam: фото, снятые Pi. Часть II

Далее создадим две функции — первая будет производить фотографирование: def takepic(timer,toggle): for seconds in range(timer):
def takepic(timer,toggle):    
for seconds in range(timer):
sense.show_message(str(seconds), text_colour=[255,0,0],
scroll_speed=0.05)
time.sleep(1)

Сначала мы определили имя функции — takepic; мы также создали два аргумента, передаваемые функции. Эти аргументы — значение таймера и переключатель, управляющий вспышкой. В цикле for перебирается количество секунд, на которое установлен таймер. Цикл прокрутит значение таймера по светодиодной матрице Sense Hat, затем на секунду уснет и повторит процесс.

 a = str(datetime.datetime.now())   
a = a[0:19]
flash(toggle)

Мы вышли из цикла for, но остались в функции, и создали строковую переменную с именем a, записав в нее текущую дату и время, конвертированные в строку. Строку мы укоротили, использовав только символы из позиций строки от 0 до 19 ([0:19]), т. е. настоящие дату и время. И, наконец, вызвали функцию flash со значением переключателя.

Все еще внутри функции, настроим камеру на создание снимка:
with PiCamera() as camera:    
temp = round(sense.get_temperature(),2)
camera.resolution = (800, 600)
camera.framerate = 24
camera.start_preview()
time.sleep(5)
camera.stop_preview()
camera.annotate_text = ‘На этой кар тин ке тем пе ра ту ра %s C’
% temp
time.sleep(0.1)
camera.capture(‘/home/pi/’+(a)+’.jpg’)

AstroCam: фото, снятые Pi. Часть II

Камера Raspberry Pi должна быть защищена от контактов с Raspberry Pi, особенно с выводами GPIO. Чехол для камеры можно купить на CPC (http://cpc.farnell.com/) и Pimoroni (https://shop.pimoroni.com/). дешевле £ 5.

AstroCam: фото, снятые Pi. Часть II

Наш завершенный проект прост В сборке, И его относительно легко интегрировать в фотокабину

Съемка

Начнем с создания переменной temp, для хранения текущей температуры. Снимем показания датчика температуры Sense Hat — его точность для нас сейчас чрезмерна, поэтому округлим его значение до двух десятичных знаков. Зададим разрешение камеры как 800 х 600 пикселей, а частоту кадров — как 24 кадра в секунду, и на 5 секунд откроем окно предпросмотра, давая время кадрировать снимок до закрытия окна. Затем аннотируем изображение на включение текущей температуры перед тем, как перейти в спящий режим на 0,1 секунды, делаем снимок и сохраняем изображение в home с текущим временем и датой в качестве имени файла.

Наша последняя функция работает со вспышкой.

def flash(toggle):    
print(toggle)
if toggle == ‘on’:
sense.clear(255,255,255)
elif toggle == ‘off’:
sense.clear()

Мы уже ссылались на эту функцию в функции takepic(), и будем вызывать ее из takepic(). Функция flash имеет один аргумент, контролирующий включение/выключение вспышки. Если значение переключателя — ‘on’, все светодиоды устанавливаются на максимальную яр кость; если значение переключателя — ‘off’, то светодиодная матрица выключается. Теперь перейдем к основному коду (см. https://www.bit.ly/LXF205AstroCam):
try:    
timer = 0
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:


Самостоятельно смастерили чехол для PiCamera и сэкономили £5. Предлагаю вам перейти на http://play-vulcan-club.com/ (http://play-vulcan-club.com/) и приумножить эту сумму в тысячу раз. Играя на игровых автоматах, вы вполне можете сорвать джекпот и в одночасье стать миллионером.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх