Использованные и изученные материалы
1. Википедия.Балтийская кольчатя нерпа.https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%BB%D1%82%D0%B8%D0%B9%D1%81%D0%BA%D0%B0%D1%8F_%D0%BA%D0%BE%D0%BB%D1%8C%D1%87%D0%B0%D1%82%D0%B0%D1%8F_%D0%BD%D0%B5%D1%80%D0%BF%D0%B0
2. Викиверситет. Балтийская кольчатая нерпа. https://ru.wikiversity.org/wiki/%D0%91%D0%B0%D0%BB%D1%82%D0%B8%D0%B9%D1%81%D0%BA%D0%B0%D1%8F_%D0%BA%D0%BE%D0%BB%D1%8C%D1%87%D0%B0%D1%82%D0%B0%D1%8F_%D0%BD%D0%B5%D1%80%D0%BF%D0%B0
3. Викисловарь. Балтийская кольчатая нерпа. https://ru.wiktionary.org/wiki/%D0%BA%D0%BE%D0%BB%D1%8C%D1%87%D0%B0%D1%82%D0%B0%D1%8F_%D0%BD%D0%B5%D1%80%D0%BF%D0%B0
4. Портал Совета по морским млекопитающим http://www.2mn.org/ru/mammals/species/ringed.htm
5. Портал «Редкие и исчезающие животные России» http://nature.air.ru/doc/mammal/1_37.htm
6. Материалы Генеральной Ассамблеи Организации Объединенных Наций, семидесятая сессия, пункты 15 и 116 повестки дня, 21 октября 2015 года.
7. Сайт «Консультант Плюс» - Федеральный закон №7-ФЗ «Об охране окружающей среды» http://www.consultant.ru/document/cons_doc_LAW_34823/db0c21025b6f5cd08563f596e6bee27cb53a6332/
8. Сайт «Консультант Плюс» - Федеральный закон №52-ФЗ «О животном мире» http://www.consultant.ru/document/cons_doc_LAW_34823/db0c21025b6f5cd08563f596e6bee27cb53a6332/
9. Сайт реабилитационного центра морских млекопитающих «Тюлень» в Приморском крае http://nature.air.ru/doc/mammal/1_37.htm
10. Сайт Фонда друзей балтийской нерпы http://balticseal.org/
11. Страница Центра изучения и сохранения морских млекопитающих на сайте ГУП «Водоканал Санкт-Петербурга» http://www.vodokanal.spb.ru/pomogaem_lastonogim/o_centre/
Приложение 1. Поездка на RRO
Приложение 2. Этапы работы над проектом "Спасатель нерп"
Приложение 3. Исходные тексты программ на RobotC
Система охраны
#pragma config(Sensor, S1, , sensorEV3_Color)
#pragma config(Motor, motorA, , tmotorEV3_Large, openLoop, encoder)
#pragma config(Motor, motorB, , tmotorEV3_Large, openLoop, encoder)
#pragma config(Motor, motorC, , tmotorEV3_Large, openLoop, encoder)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
task main()
{
while(true)
{
int a=0;
if(SensorValue[S1]>=90)
{
}
else
{
while(a==0)
{
setSoundVolume(50);
playSoundFile("Error alarm");
sleep(2000);
motor[motorA]=80;
motor[motorB]=-100;
motor[motorC]=-100;
sleep(2000);
a=1;
}
motor[motorA]=0;
motor[motorB]=0;
motor[motorC]=0;
}
}
}
Система охлаждения
#pragma config(Sensor, S1, temp, sensorI2CCustom)
#pragma config(Motor, motorA, a, tmotorEV3_Large, PIDControl, encoder)
#pragma config(Motor, motorB, b, tmotorEV3_Large, PIDControl, encoder)
#pragma config(Motor, motorC, c, tmotorEV3_Large, PIDControl, encoder)
#pragma config(Motor, motorD, d, tmotorEV3_Large, PIDControl, encoder)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
#include "include/lego-temp.h"
task two()
{
while(true)
{
motor[a]=-100;
sleep(2000);
motor[a]=0;
motor[b]=-100;
sleep(2000);
motor[b]=0;
motor[c]=-100;
sleep(2000);
motor[c]=0;
}
}
task main()
{
while(true)
{
displayBigTextLine(4,"temp=%d",temp);
if(SensorValue[temp]>-5)
motor[d]=-100;
else
{
if(SensorValue[temp]<-5)
{
motor[d]=0;
}
}
}
}
Система ранней диагностики
#pragma config(Sensor, S1, camera1, sensorI2CCustomFast)
#pragma config(Sensor, S2, , sensorTouch)
#pragma config(Motor, motorA, A, tmotorNXT, PIDControl, encoder)
#pragma config(Motor, motorB, B, tmotorNXT, PIDControl, encoder)
#pragma config(Motor, motorC, C, tmotorNXT, PIDControl, encoder)
//*!!Code automatically generated by 'ROBOTC' configuration wizard !!*//
/*
Color Recognition - ROBOTC for the NXT
Description: The NXT displays the name of the color returned by the Mindsensors NXTCam v2
NXT Configuration:
- Mindsensors NXTCam v2 plugged into NXT Sensor Port 1
Camera Configuration:
- Color Index 0: Red
- Color Index 1: Orange
- Color Index 2: Yellow
- Color Index 3: Green
- Color Index 4: Blue
- Color Index 5: Purple
- Color Index 6: Black
- Color Index 7: Brown
Notes:
- As of October 2008, NXTCam color index must be configured through
NXTCamView, found at: http://nxtcamview.sourceforge.net/
- More information can be found at: http://mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=78
*/
//Include NXTCam Library
#include "NXTCamRobotCSamplePrograms for RobotC/nxtcamlib.c"
//Define global variables
string colorName;
int numBlobs,a=0,b=0,c=0, iteration = 0;
bool foundRed = false;
int_array blobColor;
int_array blobX1;
int_array blobTop;
int_array blobX2;
int_array blobBottom;
void printColorName();
void carryUp();
void carryDown();
void dropToCure();
void dropToRelease();
task main()
{
//Initialize the NXTCam
init_camera(camera1);
//Recognize Colors Forever
while (true)
{
printColorName();
nxtDisplayTextLine(5, "iter =%d", iteration);
if (foundRed)
{
carryUp();
dropToCure();
carryDown();
dropToRelease();
}
iteration++;
wait1Msec(500);
}
}
void printColorName()
//void printColorName() - Writes the color returned from the camera to the NXT screen
{
//Retrieves Camera Data
init_camera(camera1);
get_blobs(camera1, numBlobs, blobColor, blobX1, blobTop, blobX2, blobBottom);
nxtDisplayTextLine(1, "color:");
nxtDisplayTextLine(7, "numBlobs=%d", numBlobs);
colorName = "NONE ";
foundRed = false;
if(numBlobs>0) //If at least 1 "blob" or color is seen...
{
if(blobColor == 0) //...check the blobColor index.
{
colorName = "RED ";
foundRed = true;
a = 1;
}
else
{
colorName = "OTHER ";
foundRed = false;
a = 0;
}
}
nxtDisplayTextLine(3, colorName);
}
void carryUp() // carry the seal up by the carriage
{
nMotorEncoder[A]=0;
while(nMotorEncoder[A]>=-790)
{
motor[A]=-10;
nxtDisplayTextLine(5,"A=%d",nMotorEncoder[A]);
wait1Msec(100);
}
motor[A]=0;
}
void carryDown() // bring carriage to initial position
{
while(nMotorEncoder[A]!=-10)
{
motor[A]=50;
nxtDisplayTextLine(5,"A=%d",nMotorEncoder[A]);
motor[A]=0;
}
}
void dropToCure() // drop the seas from the carriage
{
while(SensorValue[S2]==0)
{
motor[B]=20;
}
motor[B]=0;
sleep(100);
motor[B] = -11;
sleep(2000);
motor[B]=0;
}
void dropToRelease()
{
motor[C]=-15;
sleep(2000);
motor[C]=15;
sleep(2000);
motor[C]=0;
}