You are on page 1of 10

CDR: Critical Design Review

Oriol Aguilera, Nawfal Bouadou, Alex Marin, Martí Brullas i Marc


Bandera
ÍNDEX
1. Descripció de la missió secundària
2. Descripció del sistema
a. Programa del sensor
b. Programa de la cámera
3. Llistat de components
4. Valoració de l’impacte mediàtic
5. Valoració de l’estat de funcionalitat dels diferents
sistemes
1 Descripció de la missió
secundària
Durant el desenvolupament del nostre projecte, vam considerar la importància de
definir una missió secundària que complementaria la nostra missió principal.
Després de molts debats i propostes, vam decidir optar per una opció que, tot i ser
una tasca difícil, creiem que ens permetria destacar per la nostra originalitat i
creativitat. Així, vam establir com a missió secundària la realització de fotografies de
la vista inferior del nostre CanSat, utilitzant diversos objectius amb la finalitat de
mesurar i calcular la quantitat de vegetació sota els nostres peus i tenint en compte
la quantitat de vegetació que hi havia anteriorment .

El primer objectiu d'aquesta missió secundària és mesurar l'àrea de vegetació que


es troba sota el nostre CanSat. Creiem que aquesta mesura és poc comuna i
considerem que és una bona manera de mesurar el nombre de vegetació en la
ubicació del nostre llançament. A més, aquesta mesura ens permet comparar les
imatges obtingudes amb les dades de visió satèl·lit d'altres anys i així poder establir
una comparativa i mesura de com ha evolucionat la vegetació en aquesta zona amb
el pas del temps. A partir d'aquesta informació, també podrem fer prediccions sobre
l'evolució futura de la vegetació i si cal, establir mesures per a la seva protecció.

Els registres que tenim de vegetació a Catalunya d’anys anteriors per així poder
comparar els resultats són:

Mapa de la vegetació de l'aeròdrom


de lleida al 2018
Per realitzar la transmissió d'aquestes imatges a través de l'antena, els nostres
experts en programació ha desenvolupat un algoritme que permet comprimir els
arxius de les imatges fins a una mida suficientment petita per poder ser enviats per
antena a la nostra base a terra. Així mateix, les imatges també es guardaran a la
targeta SD que tenim integrada al nostre CanSat, assegurant la seva disponibilitat
per a futures anàlisis i estudis. Amb aquesta missió secundària, creiem que podem
contribuir al camp de la ciència i la investigació, aportant noves dades i perspectives
per comprendre el món que ens envolta.

Pel que fa el valor científic de la nostra missió, creiem de forma bastant clara que
aquesta missió té un valor molt útil perquè hem sigut molt rigorosos a l’hora de
realitzar l’estudi de com durem a terme el nostre anàlisi de les fotografies i de com
els resultats del nostre estudi pot tenir un gran contribuiment a la comunitat.

2. Descripció del sistema


a. Programa del sensor:

El programa que es presenta és un exemple de com utilitzar la biblioteca


"*Adafruit_BME280.h" per a llegir la temperatura, la pressió, l'altitud i la humitat del
sensor d'ambient BME280. Per a utilitzar aquesta biblioteca, és necessari incloure-la
al principi del programa utilitzant la directiva #*include.

El codi comença definint els pins que s'utilitzaran per a la comunicació amb el
sensor BME280. Aquests pins depenen de la configuració del circuit i poden variar
segons el model de la placa. A continuació, es crea un objecte de la classe
*Adafruit_BME280 utilitzant la interfície I2C. Si s'utilitza una altra interfície com *SPI,
s'han d'utilitzar diferents constructors per a crear l'objecte.

En la funció "*setup()", s'inicia la comunicació serial a una velocitat de 9600 bauds.


S'espera fins que la comunicació serial estigui disponible per a continuar amb el
programa. Després es verifica si el sensor BME280 està connectat i s'estableix
l'adreça I2C del sensor (*0x76 en aquest cas). Si el sensor no està disponible, el
programa imprimeix un missatge d'error i es deté.

En la funció "*loop()", es diu a la funció "*printValues()" per a llegir els valors de


temperatura, pressió, altitud i humitat i mostrar-los pel port seriï. La funció "*delay()"
s'utilitza per a esperar un temps determinat abans de tornar a cridar a la funció
"*printValues()". El temps d'espera s'estableix al principi del programa mitjançant la
variable "*delayTime".

La funció "*printValues()" llegeix els valors del sensor BME280 i els mostra en la
pantalla a través del port seriï. Primer es mostra la temperatura en graus Celsius,
després es mostra la pressió en *hPa, l'altitud en metres i, finalment, la humitat en
percentatge.
En resum, aquest programa utilitza la biblioteca *Adafruit_BME280.h per a llegir els
valors de temperatura, pressió, altitud i humitat del sensor BME280 i mostrar-los en
el port seriï. És un exemple bàsic de com utilitzar aquesta biblioteca i es pot adaptar
per a altres projectes en els quals es necessitin aquests valors ambientals.

#include <Wire.h>
#include <SPI.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BME280.h>

#define BME_SCK 13
#define BME_MISO 12
#define BME_MOSI 11
#define BME_CS 10

#define SEALEVELPRESSURE_HPA (1013.25)

Adafruit_BME280 bme; // I2C


//Adafruit_BME280 bme(BME_CS); // hardware SPI
//Adafruit_BME280 bme(BME_CS, BME_MOSI, BME_MISO, BME_SCK); // software
SPI

unsigned long delayTime;

void setup() {
Serial.begin(9600);
while(!Serial); // time to get serial running
Serial.println(F("BME280 test"));

unsigned status;

// default settings
status = bme.begin(0x76);
// You can also pass in a Wire library object like &Wire2
// status = bme.begin(0x76, &Wire2)
if (!status) {
Serial.println("Could not find a valid BME280 sensor, check
wiring, address, sensor ID!");
Serial.print("SensorID was: 0x");
Serial.println(bme.sensorID(),16);
Serial.print(" ID of 0xFF probably means a bad address,
a BMP 180 or BMP 085\n");
Serial.print(" ID of 0x56-0x58 represents a BMP 280,\n");
Serial.print(" ID of 0x60 represents a BME 280.\n");
Serial.print(" ID of 0x61 represents a BME 680.\n");
while (1) delay(10);
}

Serial.println("-- Default Test --");


delayTime = 1000;

Serial.println();
}

void loop() {
printValues();
delay(delayTime);
}

void printValues() {
Serial.print("Temperature = ");
Serial.print(bme.readTemperature());
Serial.println(" °C");

Serial.print("Pressure = ");

Serial.print(bme.readPressure() / 100.0F);
Serial.println(" hPa");

Serial.print("Approx. Altitude = ");


Serial.print(bme.readAltitude(SEALEVELPRESSURE_HPA));
Serial.println(" m");

Serial.print("Humidity = ");
Serial.print(bme.readHumidity());
Serial.println(" %");

Serial.println();
}
DIAGRAMA DE FLUX DEL PROGRAMA:

b. Programa de la cámera:

codi per a un Arduino que utilitza una càmera OV7670 i una targeta SD per capturar
imatges i guardar-les a la targeta SD en format JPEG.

Al programa, es defineixen els pins utilitzats per a la comunicació amb la càmera


OV7670 i la targeta SD. Després, al mètode setup(), s'inicialitzen la càmera i la
targeta SD. S'estableix la resolució de la càmera a 320x240 píxels.

Al mètode loop(), es captura una imatge amb la càmera OV7670 i es guarda al


buffer de la càmera. Després, es descodifica la imatge en format JPEG utilitzant la
biblioteca JPEGDecoder i es desa en un buffer de mida fixa.

Finalment, s'escriu la imatge comprimida a la targeta SD en un fitxer anomenat


"imagen.jpg" utilitzant el mètode SD.open(). Si l'escriptura és exitosa, s'imprimeix un
missatge indicant que la imatge s'ha desat correctament a la targeta SD. Si no
podeu obrir el fitxer, s'imprimeix un missatge d'error. Després de desar la imatge, el
programa espera 1 segon abans de capturar una altra imatge.

DIAGRAMA DE FLUX DEL PROGRAMA:

3 Llistat de components
Components Funció

Arduino micro Ordinador central


Sensor BME 280 Mesura temperatura, humitat i pressió

Bateria Duracell PP3 9V Bateria

Buzzer

Cable elèctric Connectar els components

Antenna LORA 32 Emitir les dades

Cable USB Connectar l’antenna a l’ordinador

GPS Localitzar el cansat

Corda Nylon Subjectar el paracaigudes

Tela paracaigudes Crear el paracaigudes

Targeta de memòria micro SD Emmagatzemar les dades i fotografies

Sortit de resistències 1 Ohm Posar resistència a les corrents

Càmera RaspBerry PI Fer fotografies

Interruptor Encendre i apagar el cansat

Placa SD per a la càmera Connectar la placa SD a l’Arduino

Portapiles amb bateria cable suport

Placa de prototipat arduino nano Provar les funcions i connexions

4 Valoració del impacte mediàtic del


vostre projecte
Pel que fa a l'impacte mediàtic del nostre projecte, ens hem centrat principalment en
l'ús d'Instagram. Hem anat penjant stories del nostre treball diari i explicant què
estàvem fent en cada etapa del desenvolupament del projecte. Inicialment, el nostre
compte estava creixent a un bon ritme, però al cap de dos mesos, el creixement es
va estancar bastant. Recentment, hem tancat un patrocini amb Academia Guiu i
pujarem alguna publicació en col·laboració amb ells. Ells tenen uns 2000 seguidors
a Instagram, i esperem que aquesta col·laboració ens doni un impuls en les nostres
mètriques.
5. Valoració de l’estat de funcionalitat
dels diferents sistemes

Aquí podem veure una taula amb les diferents tasques del nostre cansat i en quin punt està
el seu procés:

Enllaç video: https://youtu.be/NaT2wWOWZDA

You might also like