Камера ДЗЗ
Виртуальное потребление - 200мА

Рисунок 1. Камера ДЗЗ
Камера дистанционного зондирования Земли (ДЗЗ) - полезная нагрузка для съемки Земли из космоса, ради которой и проектируется космический аппарат в нашем случае (рисунок 1). В реальности, кроме камер для съемки Земли, существует огромный спектр различных полезных нагрузок для космических аппаратов - приборов научного, образовательного, военного, технологического назначения.
В экспериментах с конструктором, камера будет являться полезной нагрузкой аппарата, а передача качественной фотографии заданного участка «земной» поверхности - целевой задачей «запуска». Камера имеет 10 секторов памяти для сделанных ей фотографий, которые заполняются с помощью функции (на языке C):
int32_t take_photo(uint16_t num)
После заполнения очередного сектора фотография остается в ней до тех пор, пока не будет перезаписана новой фотографией. Также в любой момент фотография может быть передана на Землю по высокоскоростной радиолинии с помощью функции:
int32_t transmit_photo(uint16_t num) //Изменено в версии 1.0
Шлейф для подключения камеры должен быть максимально коротким и аккуратным (не длиннее 40см) не должно оставаться отрезков неиспользованного шлейфа за разъемами после сборки шлейфа.
Подключать камеру можно только непосредственно в разъем камеры на центральном компьютере.
О том как работать с камерой конструктора ОрбиКрафт Вы можете прочитать в разделе Использование камеры ДЗЗ.
Проверьте работоспособность камеры нажав на кнопку Тест камерыв Web-интерфейсе Орбикрафт (рисунок 2):

Рисунок 2. Тест камеры на ОрбиКрафт
Если БКУ может работать с камерой, то появится сообщение Camera works (рисунок 3):
Рисунок 3. Уведомление о корректной работе камеры
Если БКУ не может работать с камерой, то появится сообщение Connection error#1 (рисунок 4):
Рисунок 4. Уведомление о некорректной работе камеры
В этом случае необходимо перезагрузить Орбикрафт (выключить питание и включить через 10 секунд).
Пример кода проверки камеры и ВЧ-передатчика на языке С
#include "libschsat.h"
/*
** Lab 6: Camera capture demo
*/
void control(void)
{
int i;
if (LSS_OK == camera_turn_on()) {
for (i = 1; i < 10; i++) {
printf("Take photo #%d\n", i);
if (camera_take_photo(i)) {
puts("\tFail!");
}
}
}
else
puts("\tFail!");
printf("Turn-on transmitter #1\n");
if (LSS_OK == transmitter_turn_on(1)) {
for (i = 1; i < 10; i++) {
printf("Transmit photo #%d\n", i);
if (transmitter_transmit_photo(1, i)) {
puts("\tFail!");
}
}
} else {
puts("\tFail!");
}
printf("Turn-off transmitter #1\n");
if (transmitter_turn_off(1))
puts("\tFail!");
}
Пример кода проверки камеры и ВЧ-передатчика на языке Python
# Программа получения одного снимка и его передачи
def control():
#Инициализируем переменные
num = 1
frame = 0
err = 0
err_transmitter = 0
#Включаем камеру и передатчик и ждем их загрузки
camera_turn_on()
transmitter_turn_on(num)
sleep(1)
# Делаем снимок
err_camera = camera_take_photo(frame)
if err == 1:
print 'Camera access error, check the connection', frame
elif err == 2:
print 'Camera interface errorr, check the code', frame
#Передаем снимок
err_transmitter = transmitter_transmit_photo(num, frame)
if err_transmitter == 1:
print 'Transmition failed'
#Выключаем устройства
camera_turn_off()
transmitter_turn_off(num)