Skip to content

Commit

Permalink
Add more examples and code defaults
Browse files Browse the repository at this point in the history
  • Loading branch information
joaopedrovbs committed Jun 23, 2021
1 parent 8c3ca27 commit bbe6805
Show file tree
Hide file tree
Showing 22 changed files with 526 additions and 15 deletions.
1 change: 1 addition & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -284,3 +284,4 @@ cubesat.menu.DebugLevel.debug.build.code_debug=4
cubesat.menu.DebugLevel.verbose=Verbose
cubesat.menu.DebugLevel.verbose.build.code_debug=5


Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
#include "PION_System.h"

/*
Esse código demonstra como interagir com os LEDs presentes na placa de interface do seu kit
*/

System canSat;

void setup(){
// Inicializa seu CanSat
// Inicializa seu CanSat, e seus periféricos
canSat.init();
}

void loop(){
// Ativa o LED L1
canSat.setLed(L1, HIGH);
delay(1000);
// Desativa o LED L1
canSat.setLed(L1, LOW);
delay(1000);
}
10 changes: 8 additions & 2 deletions libraries/PION/examples/CanSat-Blink-RGB/CanSat-Blink-RGB.ino
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
#include "PION_System.h"

/*
Esse código demonstra como interagir com os LEDs RGB presentes na placa de interface do seu kit
*/

System canSat;

void setup(){
// Inicializa seu CanSat
// Inicializa seu CanSat, e seus periféricos
canSat.init();
}

void loop(){
// Ativa o RGB
canSat.setRGB(BLUE);
delay(1000);
canSat.setLed(OFF);
// Desativa o RGB
canSat.setRGB(OFF);
delay(1000);
}
41 changes: 41 additions & 0 deletions libraries/PION/examples/CanSat-ChangeWiFi/CanSat-ChangeWiFi.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include "PION_System.h"
#include "WiFi.h"

/*
Esse código demonstra como modificar o funcionamento da WiFi do seu kit para
que ele se conecte a uma WiFi que pode ser modificado abaixo em WiFi.begin(ssid, password);
*/

System canSat;

// Modificação para conectar a uma wifi
void networkConnect(){
// Para qualquer aplicação bluetooth que possa existir
btStop();

// Começa WiFi se conectando ao SSID fornecido com a senha fornecida
WiFi.begin("NomeDaSuaWiFi", "senhadaSuaWiFi");

// Espera o Status de conectado
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Exibe via serial o endereço IP do seu kit na rede
Serial.println("");
Serial.println("WiFi conectada");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}

void setup(){
// Inicializa seu CanSat, e seus periféricos
canSat.init();
}

void loop(){
canSat.setRGB(BLUE);
delay(1000);
canSat.setRGB(OFF);
delay(1000);
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
#include "PION_System.h"

/*
Esse código demonstra como obter os dados dos sensores do seu kit
*/

System canSat;

void setup(){
// Inicializa seu CanSat, e a serial
// Inicializa seu CanSat, e seus periféricos
canSat.init();
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
#include "PION_System.h"
#include "FS.h"

/*
Esse código demonstra como o subsistema de armazenamento de dados
pode ser modificado para que de acordo com a chamada da função
logOnSDFile() sejam armazenados os dados desejados.
*/


System canSat;

void setup(){
// Inicializa seu canSat, e seus periféricos
canSat.init();
// Cria o arquivo para armazenamento no cartão SD
canSat.createLogOnSD();
}

void loop(){
// Salva uma nova linha com dados no seu arquivo a cada 1000 millisegundos ou 1 segundo
canSat.logOnSDFile();
delay(1000);
}

// Declaração de funções que sobrescrevem as funcionalidades padrão

// Função Modificada
void createFileFirstLine(fs::FS &fs, const char * path){
// Mostra o nome do arquivo
Serial.printf("Escrevendo em: %s\n", path);

//Abre o arquivo do SD para a memória RAM
File file = fs.open(path, FILE_WRITE);
if(!file){
Serial.println("Falha ao abrir para escrita");
return;
}
// Cria a primeira linha modificada e separada por vírgulas do CSV.
const char * message = "tempo(ms),temperatura(C),umidade(%),co2(ppm),bateria(%)";

// Escreve a mensagem criada anteriormente
if(file.println(message)){
Serial.println("Escrita Começou");
} else {
Serial.println("Falha na escrita");
}
// Fecha o arquivo
file.close();
}

// Função Modicada para armazenamento
void appendFile(fs::FS &fs, const char * path, TickType_t time){
//Abre o arquivo do SD para a memória RAM
File file = fs.open(path, FILE_APPEND);
if(!file){
Serial.println("Falha ao abrir para gravacao");
return;
}
// Salva no CSV o dado, seguido de uma vírgula.
file.print(time);
file.write(',');
file.print(canSat.getTemperature());
file.write(',');
file.print(canSat.getHumidity());
file.write(',');
file.print(canSat.getCO2Level());
file.write(',');
file.println(canSat.getBattery());
// Fecha o arquivo
file.close();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#include "PION_System.h"

/*
Esse código demonstra como o subsistema de armazenamento de dados
pode ser utilizado para que de maneira assíncrona (em paralelo a
seu código) seja feito armazenamento dos dados coletados.
*/

System canSat;

void setup(){
// Inicializa seu canSat, e seus periféricos
canSat.init();
// Cria a Task assíncrona de armazenamento
canSat.createSDLogTask();
}
void loop(){
// Liga a gravação a cada meio segundo por 30 segundos
canSat.activateSDLog();
// Libera o sistema para fazer outras ações por 30000 millisegundos
delay(30000);
// Desativa a gravação
canSat.deactivateSDLog();
}
22 changes: 22 additions & 0 deletions libraries/PION/examples/CanSat-SD-Card/CanSat-SD-Card.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#include "PION_System.h"

/*
Esse código demonstra como o subsistema de armazenamento de dados
pode ser utilizado para que de acordo com a chamada da função
logOnSDFile() sejam armazenados os dados coletados.
*/

System canSat;

void setup(){
// Inicializa seu canSat, e seus periféricos
canSat.init();
// Cria o arquivo para armazenamento no cartão SD
canSat.createLogOnSD();
}

void loop(){
// Salva uma nova linha com dados no seu arquivo a cada 1000 millisegundos ou 1 segundo
canSat.logOnSDFile();
delay(1000);
}
21 changes: 21 additions & 0 deletions libraries/PION/examples/CubeSat-Blink-Led/CubeSat-Blink-Led.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include "PION_System.h"

/*
Esse código demonstra como interagir com os LEDs presentes na placa de interface do seu kit
*/

System cubeSat;

void setup(){
// Inicializa seu CubeSat, e seus periféricos
cubeSat.init();
}

void loop(){
// Ativa o LED L1
cubeSat.setLed(L1, HIGH);
delay(1000);
// Desativa o LED L1
cubeSat.setLed(L1, LOW);
delay(1000);
}
19 changes: 19 additions & 0 deletions libraries/PION/examples/CubeSat-Blink-RGB/CubeSat-Blink-RGB.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#include "PION_System.h"

/*
Esse código demonstra como interagir com os LEDs RGB presentes na placa de interface do seu kit
*/

System cubeSat;

void setup(){
// Inicializa seu cubeSat, e seus periféricos
cubeSat.init();
}

void loop(){
cubeSat.setRGB(BLUE);
delay(1000);
cubeSat.setRGB(OFF);
delay(1000);
}
41 changes: 41 additions & 0 deletions libraries/PION/examples/CubeSat-ChangeWiFi/CubeSat-ChangeWiFi.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#include "PION_System.h"
#include "WiFi.h"

/*
Esse código demonstra como modificar o funcionamento da WiFi do seu kit para
que ele se conecte a uma WiFi que pode ser modificado abaixo em WiFi.begin(ssid, password);
*/

System cubeSat;

// Modificação para conectar a uma wifi
void networkConnect(){
// Para qualquer aplicação bluetooth que possa existir
btStop();

// Começa WiFi se conectando ao SSID fornecido com a senha fornecida
WiFi.begin("NomeDaSuaWiFi", "senhadaSuaWiFi");

// Espera o Status de conectado
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
// Exibe via serial o endereço IP do seu kit na rede
Serial.println("");
Serial.println("WiFi conectada");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
}

void setup(){
// Inicializa seu CubeSat, e seus periféricos
cubeSat.init();
}

void loop(){
cubeSat.setRGB(BLUE);
delay(1000);
cubeSat.setRGB(OFF);
delay(1000);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
#include "PION_System.h"

/*
Esse código demonstra como obter os dados dos sensores do seu kit
*/

System cubeSat;

void setup(){
// Inicializa seu cubeSat, e seus periféricos
cubeSat.init();
}

void loop(){
// Realizando a Leitura de temperatura
Serial.print("Temperatura: ");
Serial.print(cubeSat.getTemperature());
Serial.println(" °C");

// Realizando a Leitura de umidade
Serial.print("Umidade: ");
Serial.print(cubeSat.getHumidity());
Serial.println(" %HR");

// Realizando a Leitura de pressão
Serial.print("Pressão: ");
Serial.print(cubeSat.getPressure());
Serial.println(" pa");

// Realizando a Leitura do Nível de CO2
Serial.print("Nível de CO2: ");
Serial.print(cubeSat.getCO2Level());
Serial.println(" ppm");

// Realizando a Leitura de luminosidade
Serial.print("Luminosidade: ");
Serial.print(cubeSat.getLuminosity());
Serial.println(" %");

// Realizando a Leitura do Acelerometro
Serial.print("Acelerometro X | Y | Z : ");
Serial.print(cubeSat.getAccelerometer(0));
Serial.print(" m/s^2 | ");
Serial.print(cubeSat.getAccelerometer(1));
Serial.print(" m/s^2 | ");
Serial.print(cubeSat.getAccelerometer(2));
Serial.println(" m/s^2");

// Realizando a Leitura do Giroscopio
Serial.print("Giroscopio X | Y | Z : ");
Serial.print(cubeSat.getGyroscope(0));
Serial.print(" graus/s | ");
Serial.print(cubeSat.getGyroscope(1));
Serial.print(" graus/s | ");
Serial.print(cubeSat.getGyroscope(2));
Serial.println(" graus/s");

// Realizando a Leitura do Magnetometro
Serial.print("Magnetometro X | Y | Z : ");
Serial.print(cubeSat.getMagnetometer(0));
Serial.print(" uT | ");
Serial.print(cubeSat.getMagnetometer(1));
Serial.print(" uT | ");
Serial.print(cubeSat.getMagnetometer(2));
Serial.println(" uT");

delay(1000);
}
Loading

0 comments on commit bbe6805

Please sign in to comment.