From 80da733fab6de25695771b697759e82486b39e01 Mon Sep 17 00:00:00 2001 From: Otacilio Saraiva Maia Neto Date: Thu, 2 Aug 2018 12:08:56 -0400 Subject: [PATCH] Adicionado verificacao de Arduino Gemma Em testes com a Franzininho na CPRO foi verificado um erro de compilacao Devido ao fato da Arduino Gemma nao possuir Serial Este release candidate adiciona um a solucao para este problema --- library.properties | 2 +- src/Brasilino.cpp | 30 ++++++++++++++++++++---------- src/Brasilino.h | 44 +++++++++++++++++++++++--------------------- 3 files changed, 44 insertions(+), 32 deletions(-) diff --git a/library.properties b/library.properties index 749df5d..2c22ed9 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=Brasilino -version=1.0.1 +version=1.0.2 author=Otacilio Neto , Thiago Augusto , Erick Simões maintainer=Brasilino Team sentence=Biblioteca de tradução e facilitação de funções para Arduino em PT-BR diff --git a/src/Brasilino.cpp b/src/Brasilino.cpp index c197e60..4ee44ea 100644 --- a/src/Brasilino.cpp +++ b/src/Brasilino.cpp @@ -14,46 +14,56 @@ #include "Brasilino.h" #include -void iniciarSerial(void) { +#if defined(ARDUINO_AVR_GEMMA) +#else +void iniciarSerial(void) +{ Serial.begin(9600); } -void iniciarSerial(int baud) { +void iniciarSerial(int baud) +{ Serial.begin(baud); } -double temperatura(int valorAnalogico) { +#endif + +double temperatura(int valorAnalogico) +{ double temp = log(10000.0 * (1024.0 / valorAnalogico - 1)); - temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * temp * temp )) * temp); + temp = 1 / (0.001129148 + (0.000234125 + (0.0000000876741 * temp * temp)) * temp); temp = temp - 273.15; return temp; } /* ULTRASSOM */ -Ultrassom::Ultrassom(int tp, int ep) { +Ultrassom::Ultrassom(int tp, int ep) +{ pinMode(tp, OUTPUT); pinMode(ep, INPUT); trig_pino = tp; echo_pino = ep; - tempo_limite = 3000; // 3000 µs = 50cm // 30000 µs = 5 m // Configurado para funcionar ate 50 cm. + tempo_limite = 3000; // 3000 µs = 50cm // 30000 µs = 5 m // Configurado para funcionar ate 50 cm. } -long Ultrassom::Temporizando() { +long Ultrassom::Temporizando() +{ digitalWrite(trig_pino, LOW); delayMicroseconds(2); digitalWrite(trig_pino, HIGH); delayMicroseconds(10); digitalWrite(trig_pino, LOW); - + duracao = pulseIn(echo_pino, HIGH, tempo_limite); - + se(duracao == 0) duracao = tempo_limite; return duracao; } -long Ultrassom::Medir() { +long Ultrassom::Medir() +{ Temporizando(); return duracao / 29 / 2; } diff --git a/src/Brasilino.h b/src/Brasilino.h index 73274ff..75f1cab 100644 --- a/src/Brasilino.h +++ b/src/Brasilino.h @@ -15,9 +15,9 @@ #define Brasilino_h #if ARDUINO >= 100 - #include "Arduino.h" +#include "Arduino.h" #else - #include "WProgram.h" +#include "WProgram.h" #endif //------------------Argumentos Lógicos--------------------- @@ -34,8 +34,8 @@ #define vazio void //Contribuicao de @alessonrenato atraves de issue #define funcao void #define procedimento void //Contribuicao de @alessonrenato atraves de issue -#define nulo NULL //Contribuicao de @alessonrenato atraves de issue -#define inteiro int +#define nulo NULL //Contribuicao de @alessonrenato atraves de issue +#define inteiro int #define decimal float #define dobro double #define caractere char @@ -54,8 +54,8 @@ #define enquanto while #define para for #define sair break -#define contarAte(y) for(int x = 0; x < y; x++) -#define contarDe(y) for(int x = y; x > 0; x--) +#define contarAte(y) for (int x = 0; x < y; x++) +#define contarDe(y) for (int x = y; x > 0; x--) //------------------Funções--------------------- #define imprimir print @@ -65,7 +65,7 @@ #define escrever write #define ler read -#define esperar(tempo) delay(tempo*1000) +#define esperar(tempo) delay(tempo * 1000) #define esperarMili(tempo) delay(tempo) //------------------Funções de Comando--------------------- @@ -90,29 +90,31 @@ #define definirPino(pino, tipo) pinMode(pino, tipo) //------------------Funções de Serial---------------------- +#if defined(ARDUINO_AVR_GEMMA) +#else void iniciarSerial(void); void iniciarSerial(int baud); #define lerSerial() Serial.read() #define escreverSerialn(texto) Serial.println(texto) #define escreverSerial(texto) Serial.print(texto) - +#endif dobro temperatura(int RawADC); /* Ultrassom */ /* Este trecho e' baseado na biblioteca ultrassonic.h de J. Rodrigo e emcontra-se disponivel originalmente em: https://github.com/JRodrigoTech/Ultrasonic-HC-SR04 */ - class Ultrassom - { - public: - Ultrassom(int tp, int ep); - long Temporizando(); - long Medir(); - - private: - int trig_pino; - int echo_pino; - long tempo_limite; - long duracao; - }; +class Ultrassom +{ + public: + Ultrassom(int tp, int ep); + long Temporizando(); + long Medir(); + + private: + int trig_pino; + int echo_pino; + long tempo_limite; + long duracao; +}; #endif // Não apagar antes disto.