m C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/CMSIS/Device/ATMEL/sam3xa/include/sam3x8e.h:260:0, from C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/CMSIS/Device/ATMEL/sam3xa/include/sam3xa.h:44, from C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/CMSIS/Device/ATMEL/sam3.h:59, from C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/CMSIS/Device/ATMEL/sam.h:198, from C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/libsam/include/../chip.h:25, from C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/libsam/include/twi.h:44, from C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:25, from sketch_nov11a.ino:5:C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/CMSIS/CMSIS/Include/core_cm3.h:868:46: error: expected ')' before '*' token #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ ^sketch_nov11a.ino:6:11: note: in expansion of macro 'MPU'C:\Program Files (x86)\Arduino\hardware\arduino\sam\system/CMSIS/CMSIS/Include/core_cm3.h:868:46: error: expected ')' before '*' token #define MPU ((MPU_Type *) MPU_BASE ) /*!< Memory Protection Unit */ ^sketch_nov11a.ino:6:11: note: in expansion of macro 'MPU'sketch_nov11a.ino: In function 'void setup()':sketch_nov11a.ino:10:29: error: call of overloaded 'beginTransmission(MPU_Type*)' is ambiguoussketch_nov11a.ino:10:29: note: candidates are:In file included from sketch_nov11a.ino:5:0:C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:39:7: note: void TwoWire::beginTransmission(uint8_t) <near match> void beginTransmission(uint8_t); ^C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:39:7: note: no known conversion for argument 1 from 'MPU_Type*' to 'uint8_t {aka unsigned char}'C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:40:7: note: void TwoWire::beginTransmission(int) <near match> void beginTransmission(int); ^C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:40:7: note: no known conversion for argument 1 from 'MPU_Type*' to 'int'sketch_nov11a.ino: In function 'void loop()':sketch_nov11a.ino:17:29: error: call of overloaded 'beginTransmission(MPU_Type*)' is ambiguoussketch_nov11a.ino:17:29: note: candidates are:In file included from sketch_nov11a.ino:5:0:C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:39:7: note: void TwoWire::beginTransmission(uint8_t) <near match> void beginTransmission(uint8_t); ^C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:39:7: note: no known conversion for argument 1 from 'MPU_Type*' to 'uint8_t {aka unsigned char}'C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:40:7: note: void TwoWire::beginTransmission(int) <near match> void beginTransmission(int); ^C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:40:7: note: no known conversion for argument 1 from 'MPU_Type*' to 'int'sketch_nov11a.ino:20:31: error: invalid conversion from 'MPU_Type*' to 'int' [-fpermissive]In file included from sketch_nov11a.ino:5:0:C:\Program Files (x86)\Arduino\hardware\arduino\sam\libraries\Wire/Wire.h:46:13: error: initializing argument 1 of 'uint8_t TwoWire::requestFrom(int, int, int)' [-fpermissive] uint8_t requestFrom(int, int, int); ^Erro compilando.…
sso toda interface que for conectada no módulo não pode ultrapassar o nível de tensão de 3,3V - isso é muito importante pois, por exemplo, se conectar uma interface de 5V você queimará o seu chip !
Segundo as especificações do fabricante , a corrente máxima que um pino de saída (output) pode fornecer é de 12mA.Como precação sugiro não ultrapassar os 10 mA. Isto é, se ligar um Led (dependendo do consumo do Led), poderá danificar o chip também. Muito cuidado com o uso dos pinos de saida e entrada (GPIO_XX).
Link do Datasheet do Chip ESP8266EX:
https://www.adafruit.com/images/product-files/2471/0A-ESP8266__Data...
CHIP ESP8266EX ESP8266EX pinagem
Esses são os pinos de alimentação do Chip ESP8266EX.
Nos módulos ESP8266, esse pinos já estão devidamente conectados.
1) VDDA - Alimentação do circuito analógico +3,3V
3) VDDP3 - Alimentação do Amplificador de potência de RF +3,3V (esses pinos 3 e 4 são soldados juntos)
4) VDDP3 - Alimentação do Amplificador de potência de RF +3,3V
5) VDD_RTC - o datasheet informa = sem conexão
6) TOUT - Pino de medição do conversor analógico digital ADC - máximo 3,3V
11) VDDPST - fonte de alimentação do Digital I/O (1,8V~3,3V)
17) VDDPST - fonte de alimentação do Digital I/O (1,8V~3,3V)
29) VDDD - Alimentação do circuito analógico +3,3V (deve ser Digital e não analógico)
30) VDDA - Alimentação do circuito analógico +3,3V
31) RES12K - conexão de um resistor de 12K ohms ao terra
33) GND - terra
Essa tabela copiada do Datasheet do ESP8266EX demonstra o consumo de corrente nos vários modos de operação:
1) Modem-Sleep : nesse modo, o modem WIFI é desligado, mas a conexão WIFI é mantida sem a transmissão de dados.
2) Light-sleep : A CPU pode estar suspensa em aplicações como Switch de WIFI. Sem a transmissão de dados, o modem WIFI pode ser desligado e a CPU suspendida para economizar energia.
3) Deep-Sleep : Não precisa de conexão WIFI para ser mantido. Pode ser usado em aplicações com grande intervalo de tempo entre as transmissões.
…
#include "SIM900.h"#include "sms.h"#include <SoftwareSerial.h>SMSGSM sms;
char caracter1=-31; char caracter2=-22; char telefones[][14] = {"+556192659780", "+556184779956", 0}; int ledVermelho = 13; int ledVerde = 12; int ledAzul = 11; int PIRpino = 7; int PIR = 0; int IRpino = 0; int IR = 0; int ALTERNATIVOpino = 1; void sensor_infravermelho() {
for (int i = 0; (int)*telefones[i] != 0; i++) { if (sms.SendSMS(telefones[i], "Ha nova(s) correspondencia(s) na sua caixa de cor-reio residencial!")) {
Serial.print("\nSMS enviado para o numero: ");Serial.println(telefones[i]); Serial.print("H");Serial.print(caracter1);Serial.print(" nova(s) correspond");Serial.print(caracter2);Serial.println("ncia(s) na sua Caixa de Correio Residencial!");Serial.println("SMS OK");}}};
void sensor_presenca() {
for (int i = 0; (int)*telefones[i] != 0; i++) { if (sms.SendSMS(telefones[i], "A sua caixa de correio residencial foi aberta!")) { Serial.print("\nSMS enviado para o numero: ");Serial.println(telefones[i]); Serial.println("A sua caixa de correio residencial foi aberta!");Serial.println("SMS OK");}}};
void setup(){//Configuração dos pinos: OUTPUT saída, INPUT entradapinMode(ledVermelho, OUTPUT);pinMode(ledVerde, OUTPUT);pinMode(ledAzul, OUTPUT);pinMode(PIRpino, INPUT);pinMode(IRpino, INPUT);pinMode(ALTERNATIVOpino, INPUT);
//Conexão SerialSerial.begin(9600); //Taxa de dados 9600 bps (bytes por segundo)Serial.println("Conectando Shield IComSat SIM900 GSM/GPRS v1.1");if (gsm.begin(2400)){Serial.println("\nSTATUS = SISTEMA CARREGADO!"); }else Serial.println("\nSTATUS = SISTEMA COM PROBLEMA, FALHA NA REDE GSM!"); };void loop(){int IR = analogRead(IRpino); int PIR = digitalRead(PIRpino); if(IR > 500){ //Se o sensor "IR" for acionadoSerial.print("\nNova(s) correspond");Serial.print(caracter2);Serial.print("ncia(s) na caixa de correio!\n");sensor_infravermelho(); IR = analogRead(ALTERNATIVOpino);while(PIR == LOW){//Enquanto o sensor "PIR" não for acionadodigitalWrite(ledAzul, HIGH); PIR = digitalRead(PIRpino); digitalWrite(ledAzul, LOW);}
if(PIR == LOW){//Testa se a variável "PIR" é alta(5v), caso NÃO:digitalWrite(ledVermelho, LOW); digitalWrite(ledVerde, HIGH); }
else{digitalWrite(ledVermelho, HIGH); digitalWrite(ledVerde, LOW); Serial.println("\nA caixa de correio foi aberta!");sensor_presenca(); delay(30000);//tempo estimado para coleta das correspodências};
ERRO
Arduino: 1.6.8 (Windows 7), Placa:"Arduino/Genuino Uno"
C:\Users\Compútador\Desktop\sketch_may03a\sketch_may03a.ino: In function 'void sensor_infravermelho()':
C:\Users\Compútador\Desktop\sketch_may03a\sketch_may03a.ino:23:104: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
C:\Users\Compútador\Desktop\sketch_may03a\sketch_may03a.ino: In function 'void sensor_presenca()':
C:\Users\Compútador\Desktop\sketch_may03a\sketch_may03a.ino:40:83: warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]
C:\Users\Compútador\Desktop\sketch_may03a\sketch_may03a.ino: In function 'void loop()':
sketch_may03a:94: error: expected '}' at end of input
sketch_may03a:94: error: expected '}' at end of input
exit status 1expected '}' at end of input
This report would have more information with"Show verbose output during compilation"option enabled in File -> Preferences.
DESDE JA AGRADEÇO A AJUDA DE TODOS.…
problemas com essa biblioteca antes mas acabei deixando pra la, agora preciso muito compilar esse codigo. Por favor me ajudem. Att William
obs: codigo erro abaixo
/usr/share/arduino/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -fno-exceptions -ffunction-sections -fdata-sections -mmcu=atmega2560 -DF_CPU=16000000L -MMD -DUSB_VID=null -DUSB_PID=null -DARDUINO=105 -D__PROG_TYPES_COMPAT__ -I/usr/share/arduino/hardware/arduino/cores/arduino -I/usr/share/arduino/hardware/arduino/variants/mega -I/usr/share/arduino/libraries/Wire -I/usr/share/arduino/libraries/LiquidCrystal -I/home/william/sketchbook/libraries/MenuSystem /tmp/build8103932391107466226.tmp/tesla_winder.cpp -o /tmp/build8103932391107466226.tmp/tesla_winder.cpp.o In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:259:21: warning: identifier ‘nullptr’ is a keyword in C++11 [-Wc++0x-compat] FormatValueFnPtr format_value_fn=nullptr); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:39:11: error: expected nested-name-specifier before ‘SelectFnPtr’ using SelectFnPtr = void (*)(MenuComponent* menu_component); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:45:37: error: ‘SelectFnPtr’ has not been declared MenuComponent(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:102:30: error: ‘SelectFnPtr’ has not been declared void set_select_function(SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:176:5: error: ‘SelectFnPtr’ does not name a type SelectFnPtr _select_fn; ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:32: error: ‘SelectFnPtr’ has not been declared MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:225:36: error: ‘SelectFnPtr’ has not been declared BackMenuItem(const char* name, SelectFnPtr select_fn, MenuSystem* ms); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:243:11: error: expected nested-name-specifier before ‘FormatValueFnPtr’ using FormatValueFnPtr = const String (*)(const float value); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:256:39: error: ‘SelectFnPtr’ has not been declared NumericMenuItem(const char* name, SelectFnPtr select_fn, ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:259:21: error: ‘FormatValueFnPtr’ has not been declared FormatValueFnPtr format_value_fn=nullptr); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:267:31: error: ‘FormatValueFnPtr’ has not been declared void set_number_formatter(FormatValueFnPtr format_value_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:292:5: error: ‘FormatValueFnPtr’ does not name a type FormatValueFnPtr _format_value_fn; ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:259:54: error: ‘nullptr’ was not declared in this scope FormatValueFnPtr format_value_fn=nullptr); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:307:28: error: ‘SelectFnPtr’ has not been declared Menu(const char* name, SelectFnPtr select_fn=nullptr); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:307:50: error: ‘nullptr’ was not declared in this scope Menu(const char* name, SelectFnPtr select_fn=nullptr); ^tesla_winder.ino:36:12: error: no matching function for call to ‘MenuSystem::MenuSystem()’tesla_winder.ino:36:12: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:361:5: note: MenuSystem::MenuSystem(const MenuComponentRenderer&) MenuSystem(MenuComponentRenderer const& renderer); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:361:5: note: candidate expects 1 argument, 0 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:359:7: note: MenuSystem::MenuSystem(const MenuSystem&) class MenuSystem { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:359:7: note: candidate expects 1 argument, 0 providedtesla_winder.ino:37:19: error: call to ‘Menu::Menu(const char*, int)’ uses the default argument for parameter 2, which is not yet definedtesla_winder.ino:38:19: error: call to ‘Menu::Menu(const char*, int)’ uses the default argument for parameter 2, which is not yet definedtesla_winder.ino:39:31: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:39:31: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:40:33: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:40:33: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:41:35: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:41:35: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:42:23: error: call to ‘Menu::Menu(const char*, int)’ uses the default argument for parameter 2, which is not yet definedtesla_winder.ino:43:39: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:43:39: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:44:38: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:44:38: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:45:41: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:45:41: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:46:40: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:46:40: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:47:37: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:47:37: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:48:28: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:48:28: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:49:19: error: call to ‘Menu::Menu(const char*, int)’ uses the default argument for parameter 2, which is not yet definedtesla_winder.ino:50:29: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:50:29: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:51:31: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:51:31: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:52:31: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:52:31: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:53:32: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:53:32: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:54:32: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:54:32: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:55:34: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:55:34: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:56:29: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:56:29: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:57:30: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:57:30: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:58:30: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:58:30: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:59:23: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:59:23: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:60:25: error: no matching function for call to ‘MenuItem::MenuItem(const char [20])’tesla_winder.ino:60:25: note: candidates are:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: MenuItem::MenuItem(const char*, int) MenuItem(const char* name, SelectFnPtr select_fn); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:195:5: note: candidate expects 2 arguments, 1 provided/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: MenuItem::MenuItem(const MenuItem&) class MenuItem : public MenuComponent { ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:188:7: note: no known conversion for argument 1 from ‘const char [20]’ to ‘const MenuItem&’tesla_winder.ino:157:20: error: no matching function for call to ‘LiquidCrystal::LiquidCrystal(int)’tesla_winder.ino:157:20: note: candidates are:In file included from tesla_winder.ino:5:0:/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:55:3: note: LiquidCrystal::LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t) LiquidCrystal(uint8_t rs, uint8_t enable, ^/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:55:3: note: candidate expects 6 arguments, 1 provided/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:53:3: note: LiquidCrystal::LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t) LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, ^/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:53:3: note: candidate expects 7 arguments, 1 provided/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:50:3: note: LiquidCrystal::LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t) LiquidCrystal(uint8_t rs, uint8_t rw, uint8_t enable, ^/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:50:3: note: candidate expects 11 arguments, 1 provided/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:47:3: note: LiquidCrystal::LiquidCrystal(uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t) LiquidCrystal(uint8_t rs, uint8_t enable, ^/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:47:3: note: candidate expects 10 arguments, 1 provided/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:45:7: note: LiquidCrystal::LiquidCrystal(const LiquidCrystal&) class LiquidCrystal : public Print { ^/usr/share/arduino/libraries/LiquidCrystal/LiquidCrystal.h:45:7: note: no known conversion for argument 1 from ‘int’ to ‘const LiquidCrystal&’tesla_winder.ino: In function ‘void setup()’:tesla_winder.ino:230:55: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:230:55: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:231:49: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:231:49: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:232:51: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:232:51: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:235:65: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:235:65: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:236:67: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:236:67: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:237:67: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:237:67: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:238:69: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:238:69: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:239:58: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:239:58: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:240:52: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:240:52: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:243:40: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:243:40: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:244:46: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:244:46: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:245:46: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:245:46: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:246:48: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:246:48: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:247:44: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:247:44: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:248:46: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:248:46: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:249:44: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:249:44: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:250:42: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:250:42: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:251:42: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:251:42: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:252:42: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:252:42: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:253:42: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:253:42: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:255:41: error: no matching function for call to ‘Menu::add_item(MenuItem*, void (*)(MenuItem*))’tesla_winder.ino:255:41: note: candidate is:In file included from tesla_winder.ino:7:0:/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: void Menu::add_item(MenuItem*) void add_item(MenuItem* p_item); ^/home/william/sketchbook/libraries/MenuSystem/MenuSystem.h:310:10: note: candidate expects 1 argument, 2 providedtesla_winder.ino:257:6: error: ‘class MenuSystem’ has no member named ‘set_root_menu’tesla_winder.ino:259:7: error: ‘class LiquidCrystal’ has no member named ‘setBacklight’tesla_winder.ino:261:7: error: ‘class LiquidCrystal’ has no member named ‘setBacklight’tesla_winder.ino: In function ‘void displayMenu()’:tesla_winder.ino:525:47: error: ‘const class Menu’ has no member named ‘get_selected’tesla_winder.ino:527:34: error: ‘const class Menu’ has no member named ‘get_num_menu_components’tesla_winder.ino:528:31: error: ‘const class Menu’ has no member named ‘get_cur_menu_component_num’tesla_winder.ino:15:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:567:33: note: in expansion of macro ‘ENABLE’tesla_winder.ino:19:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:571:38: note: in expansion of macro ‘COIL_STEPS’tesla_winder.ino:20:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:575:38: note: in expansion of macro ‘COIL_INV’tesla_winder.ino:22:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:579:38: note: in expansion of macro ‘GUIDE_INV’tesla_winder.ino:21:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:583:38: note: in expansion of macro ‘GUIDE_STEPS’tesla_winder.ino:26:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:587:38: note: in expansion of macro ‘WIRE_SIZE’tesla_winder.ino:27:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:591:38: note: in expansion of macro ‘COIL_DIAM’tesla_winder.ino:28:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:595:38: note: in expansion of macro ‘COIL_HOME’tesla_winder.ino:29:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:599:38: note: in expansion of macro ‘COIL_CALC’tesla_winder.ino:30:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:603:38: note: in expansion of macro ‘COIL_RATIO’tesla_winder.ino:31:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:607:38: note: in expansion of macro ‘COIL_LEN’tesla_winder.ino:32:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:611:38: note: in expansion of macro ‘COIL_TURNS’tesla_winder.ino:33:21: warning: comparison with string literal results in unspecified behaviour [-Waddress]tesla_winder.ino:615:38: note: in expansion of macro ‘COIL_SPEED’tesla_winder.ino: In function ‘long int edit_long(long int)’:tesla_winder.ino:701:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]tesla_winder.ino:728:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]tesla_winder.ino: In function ‘float edit_float(float)’:tesla_winder.ino:848:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]tesla_winder.ino:879:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]tesla_winder.ino: In function ‘void menu_jog_coil(MenuItem*)’:tesla_winder.ino:1239:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]tesla_winder.ino: In function ‘void menu_jog_guide(MenuItem*)’:tesla_winder.ino:1536:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]tesla_winder.ino: In function ‘void menu_job_start(MenuItem*)’:tesla_winder.ino:1789:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]tesla_winder.ino:1758:8: warning: unused variable ‘end_job’ [-Wunused-variable]tesla_winder.ino:1780:17: warning: unused variable ‘loop_steps’ [-Wunused-variable]tesla_winder.ino: In function ‘void print_status(long int)’:tesla_winder.ino:1974:8: warning: unused variable ‘buf’ [-Wunused-variable]tesla_winder.ino:1975:8: warning: unused variable ‘buf2’ [-Wunused-variable]…
2 programas de irrigação e o arduino nao esta realizando mais o processo. Para que nao fosse necessário usar delays eu estou calculando o tempo de ligar e desligar os setores e a bomba e deixando uma quantidade bem grande de if's para conferir as condições. Acho que pode ser nisso o problema:
O codigo esta muito grande, vou deixar ele em anexo mas vou citar o trecho que acredito ser o problema
void Bomba()//Tempo que a bomba ficará ligada{ delay(1000); while(tBomba >=1) { lcd.clear();lcd.setCursor(0,0);lcd.print("Tempo ");lcd.print(tBomba);lcd.print(" minutos"); lcd.setCursor(0,1);lcd.print("Enter");lcd.setCursor(7,1);lcd.print("(-)");lcd.setCursor(12,1);lcd.print("(+)"); delay(120); if(tBomba>60){tBomba=1;} if(digitalRead(bUp)==LOW){delay(70);tBomba++;} if(digitalRead(bDown)==LOW){delay(70);tBomba--;} if(digitalRead(bEnter)==LOW){delay(70);tB=tBomba;menu=0;tBomba=0;} if(digitalRead(bMode)==LOW){menu=0;tBomba=0;} //Vetores recebem horas e minutos e converte para minutos //Calculo Programa 1//Depois acrescenta o valor do tempo de bomba(tB)//Operação desliga bomba e valvula 4 //Retorna os valores para os vetores com o horario de desligar//Exemplo: Programa 1 - 6:30 com tempo de bomba 10min//Em minutos (6*60)+30+10=400minutos//Tranformando para desligar hora=400/60=6 e minuto=400%60=40
if(h[2]!=0 && h[1]!=0 && h[30]==0 && tB!=0){ h[34]=h[2];h[33]=h[1]; h[34]=h[34]*60;h[34]=h[34]+h[33]+(4*tB);h[33]=h[34]%60;h[34]=h[34]/60; h[8]=h[2];h[7]=h[1]; h[8]=h[8]*60;h[8]=h[8]+h[7]+tB;h[7]=h[8]%60;h[8]=h[8]/60;//1 tempo(desliga 1 e liga 2) h[10]=h[2];h[9]=h[1]; h[10]=h[10]*60;h[10]=h[10]+h[9]+(2*tB);h[9]=h[10]%60;h[10]=h[10]/60;//2 tempo(desliga 2 e liga 3) h[12]=h[2];h[11]=h[1]; h[12]=h[12]*60;h[12]=h[12]+h[11]+(3*tB);h[11]=h[12]%60;h[12]=h[12]/60;//3 tempo(desliga 3 e liga 4) //Calculo Programa 2 if(h[4]!=0 && h[3]!=0 && h[31]==0){ h[14]=h[4];h[15]=h[3]; h[14]=h[14]*60;h[14]=h[14]+h[15]+(4*tB);h[15]=h[14]%60;h[14]=h[14]/60;//Operação Desliga bomba e valvula 4 h[16]=h[4];h[17]=h[3]; h[16]=h[16]*60;h[16]=h[16]+h[17]+tB;h[17]=h[16]%60;h[16]=h[16]/60;//1 tempo(desliga 1 e liga 2) h[18]=h[4];h[19]=h[3]; h[18]=h[18]*60;h[18]=h[18]+h[19]+(2*tB);h[19]=h[18]%60;h[18]=h[18]/60;//2 tempo(desliga 2 e liga 3) h[20]=h[4];h[21]=h[3]; h[20]=h[20]*60;h[20]=h[20]+h[21]+(3*tB);h[21]=h[20]%60;h[20]=h[20]/60;//3 tempo(desliga 3 e liga 4) h[31]=1; //Calculo Programa 3 if(h[6]!=0 && h[5]!=0 && h[32]==0){ h[22]=h[6];h[23]=h[5]; h[22]=h[22]*60;h[22]=h[22]+h[23]+(4*tB);h[23]=h[22]%60;h[22]=h[22]/60;//Operação Desliga bomba e valvula 4 h[24]=h[6];h[25]=h[5]; h[24]=h[24]*60;h[24]=h[24]+h[25]+tB;h[25]=h[24]%60;h[24]=h[24]/60;//1 tempo(desliga 1 e liga 2) h[26]=h[6];h[27]=h[5]; h[26]=h[26]*60;h[26]=h[26]+h[27]+(2*tB);h[27]=h[26]%60;h[26]=h[26]/60;//2 tempo(desliga 2 e liga 3) h[28]=h[6];h[29]=h[5]; h[28]=h[28]*60;h[28]=h[28]+h[29]+(3*tB);h[29]=h[28]%60;h[28]=h[28]/60;//3 tempo(desliga 3 e liga 4) h[32]=1; } }//Fim if Programa 2 h[30]=1;tempo=1; }//Fim if Programa 1 }//Fim While}
if(d[0]=1){//Se apção todos os dias for selecionada //Horarios Para Programa 1 if(h[2]==RTCValues[4] && h[1]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,HIGH);digitalWrite(vs1,LOW);delay(70);}//Liga bomba e valvula 1 if(h[8]==RTCValues[4] && h[7]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);delay(70);}//Desliga Valvula 1 e liga Valvula 2 if(h[10]==RTCValues[4] && h[9]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);delay(70);}//Desliga Valvula 2 e liga Valvula 3 if(h[12]==RTCValues[4] && h[11]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);delay(70);}//Desliga Valvula 3 e liga Valvula 4 if(h[34]==RTCValues[4] && h[33]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);delay(70);}//Desliga bomba e desliga Valvula 4 //Horarios Para Programa 2 if(h[4]==RTCValues[4] && h[3]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1 if(h[16]==RTCValues[4] && h[17]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2 if(h[18]==RTCValues[4] && h[19]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3 if(h[20]==RTCValues[4] && h[21]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4 if(h[14]==RTCValues[4] && h[15]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4 //Horarios Para Programa 3 if(h[6]==RTCValues[4] && h[5]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba, HIGH);digitalWrite(vs1,LOW);}//Liga bomba e valvula 1 if(h[24]==RTCValues[4] && h[25]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs1,HIGH);digitalWrite(vs2,LOW);}//Desliga Valvula 1 e liga Valvula 2 if(h[26]==RTCValues[4] && h[27]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs2,HIGH);digitalWrite(vs3,LOW);}//Desliga Valvula 2 e liga Valvula 3 if(h[28]==RTCValues[4] && h[29]==RTCValues[5] && RTCValues[6]==0){digitalWrite(vs3,HIGH);digitalWrite(vs4,LOW);}//Desliga Valvula 3 e liga Valvula 4 if(h[22]==RTCValues[4] && h[23]==RTCValues[5] && RTCValues[6]==0){digitalWrite(bomba,LOW);digitalWrite(vs4,HIGH);}//Desliga bomba e desliga Valvula 4 }
As variaveis h[1]...h[6] Recebem os horarios de irrigação. Impares minutos e Pares horas…
rial.begin (9600);if (!SD.begin(4)){Serial.println("Erro ao iniciar o cartao SD !");inicio_ok =0;return;}
Serial.println ("Iniciacao Ok!");}
void loop (){ Mostrarelogio(); delay(1000); {if (inicio_ok) { int opcao = Serial.read();if (opcao == 'C'){Serial.println ("Opcao Configuracao Selecionada");opcao = Serial.read();while (opcao == -1){opcao = Serial.read();}int valorConfig = opcao - 48;EEPROM.write (0 , valorConfig);Serial.print ("Valor gravado com sucesso:");Serial.println (valorConfig);}else if (opcao == 'w'){while (opcao !='x'){int leituraSensor = analogRead (0);arquivo = SD.open ("sensor.txt, FILE_WRITE");if (arquivo){arquivo.print ("Valor do sensor em:");arquivo.print (millis());arquivo.print (" ms: ");arquivo. println (leituraSensor);arquivo.close();delay (1000 * EEPROM.read (0));Serial.print ("Feita leitura do sensor em");Serial.print (EEPROM.read(0), DEC);Serial.println("segs.");}else{Serial.println ("Erro ao abrir o arquivo para escrita!");}opcao = Serial.read();}Serial.println ("Terminando leitura do Sensor!");}else if (opcao == 'r'){arquivo = SD.open ("sensor.txt");if (arquivo){while (arquivo.available()){Serial.write( arquivo.read());}arquivo.close();Serial.println("Termino da leitura");}else{Serial.println ("Erro ao abrir arquivo para leitura");}}else if (opcao == 'e'){SD.remove ("sensor.txt");if (!SD.exists ("sensor.txt") ){Serial.println ("Arquivo apagado com ");}else{Serial.println ("Erro ao apagar arquivo!"); } } }}}
void SelecionaDataeHora() //Seta a data e a hora do DS1307{ byte segundos = 40; //Valores de 0 a 59 byte minutos = 59; //Valores de 0 a 59 byte horas = 23; //Valores de 0 a 23 byte diadasemana = 1; //Valores de 0 a 6 - 0=Domgino, 1 = Segunda, etc. byte dia = 17; //Valores de 1 a 31 byte mes = 4; //Valores de 1 a 12 byte ano = 13; //Valores de 0 a 99
Wire.beginTransmission(DS1307_ADDRESS); Wire.write(zero); //Stop no CI para que o mesmo possa receber os dados
//As linhas abaixo escrevem no CI os valores de data e hora que foram colocados nas variaveis acima Wire.write(ConverteParaBCD(segundos)); Wire.write(ConverteParaBCD(minutos)); Wire.write(ConverteParaBCD(horas)); Wire.write(ConverteParaBCD(diadasemana)); Wire.write(ConverteParaBCD(dia)); Wire.write(ConverteParaBCD(mes)); Wire.write(ConverteParaBCD(ano));
Wire.write(zero); //Start no CI Wire.endTransmission(); }
byte ConverteParaBCD(byte val){ //Converte o número de decimal para BCD return ( (val/10*16) + (val%10) );}
byte ConverteparaDecimal(byte val) { //Converte de BCD para decimal return ( (val/16*10) + (val%16) );}
void Mostrarelogio(){ Wire.beginTransmission(DS1307_ADDRESS); Wire.write(zero); Wire.endTransmission();
Wire.requestFrom(DS1307_ADDRESS, 7);
int segundos = ConverteparaDecimal(Wire.read()); int minutos = ConverteparaDecimal(Wire.read()); int horas = ConverteparaDecimal(Wire.read() & 0b111111); int diadasemana = ConverteparaDecimal(Wire.read()); int dia = ConverteparaDecimal(Wire.read()); int mes = ConverteparaDecimal(Wire.read()); int ano = ConverteparaDecimal(Wire.read());
//Mostra a data no Serial Monitor Serial.print("Data: "); Serial.print(dia); Serial.print("/"); Serial.print(mes); Serial.print("/"); Serial.print(ano); Serial.print(" "); Serial.print("Hora : "); Serial.print(horas); Serial.print(":"); Serial.print(minutos); Serial.print(":"); Serial.print(segundos); switch(diadasemana) { case 0:Serial.println(", Domingo"); break; case 1:Serial.println(", Segunda"); break; case 2:Serial.println(", Terca"); break; case 3:Serial.println(", Quarta"); break; case 4:Serial.println(", Quinta"); break; case 5:Serial.println(", Sexta"); break; case 6:Serial.println(", Sabado"); }}…
display 16X2 Criado por Eng. Carlos kwiek - Rio de Janeiro - RJ - Brasil 02 de Agosto de 2015 - e-mail carloskwiek1@hotmail.com O codigo é livre para uso e modificação, seguindo as diretivas de software open source. Use por sua conta e risco. */
#include "Wire.h"#include <LiquidCrystal.h>
#define DS1307_ADDRESS 0x68
// Inicializa o LCDLiquidCrystal lcd(8, 9, 4, 5, 6, 7);
byte zero = 0x00; int buzzer = 13;
void setup(){ pinMode (buzzer, OUTPUT); // Define o LCD com 16 colunas e 2 linhas lcd.begin(16, 4); Wire.begin(); Serial.begin(9600); // A linha abaixo pode ser retirada apos setar a data e hora // SelecionaDataeHora(); }
void loop(){ Mostrarelogio(); delay(1000);}
void SelecionaDataeHora() // Seta a data e a hora do DS1307{byte segundos = 01; // Valores de 0 a 59byte minutos = 30; // Valores de 0 a 59byte horas = 19; // Valores de 0 a 23byte diadasemana = 0; // Valores de 0 a 6 (0=Domingo, 1 = Segunda...)byte diadomes = 22; // Valores de 1 a 31byte mes = 11; // Valores de 1 a 12byte ano = 15; // Valores de 0 a 99 Wire.beginTransmission(DS1307_ADDRESS); // Stop no CI para que o mesmo possa receber os dados Wire.write(zero);
// As linhas abaixo escrevem no CI os valores de // data e hora que foram colocados nas variaveis acima Wire.write(ConverteParaBCD(segundos)); Wire.write(ConverteParaBCD(minutos)); Wire.write(ConverteParaBCD(horas)); Wire.write(ConverteParaBCD(diadasemana)); Wire.write(ConverteParaBCD(diadomes)); Wire.write(ConverteParaBCD(mes)); Wire.write(ConverteParaBCD(ano)); Wire.write(zero); //Start no CI Wire.endTransmission(); }
byte ConverteParaBCD(byte val){ // Converte o número de decimal para BCD return ( (val/10*16) + (val%10) );}
byte ConverteparaDecimal(byte val) { // Converte de BCD para decimal return ( (val/16*10) + (val%16) );}
void Mostrarelogio(){ Wire.beginTransmission(DS1307_ADDRESS); Wire.write(zero); Wire.endTransmission(); Wire.requestFrom(DS1307_ADDRESS, 7); int segundos = ConverteparaDecimal(Wire.read()); int minutos = ConverteparaDecimal(Wire.read()); int horas = ConverteparaDecimal(Wire.read() & 0b111111); //int diadasemana = ConverteparaDecimal(Wire.read()); int diadomes = ConverteparaDecimal(Wire.read()); int mes = ConverteparaDecimal(Wire.read()); int ano = ConverteparaDecimal(Wire.read()); // Imprime mensagem na primeira linha do display lcd.setCursor(0,0); lcd.print("DATA: ");
// Mostra a hora atual no display lcd.setCursor(6, 1); if (horas < 10) { lcd.print("0"); } lcd.print(horas); lcd.print(":"); if (minutos < 10) { lcd.print("0"); } lcd.print(minutos); lcd.print(":"); if (segundos < 10) { lcd.print("0"); } lcd.print(segundos); // Mostra a HORA atual no display lcd.setCursor(0,1); lcd.print("HORA: "); lcd.setCursor(0, 2); lcd.print(" "); lcd.setCursor(6,0); if (diadomes < 10) { lcd.print("0"); } lcd.print(diadomes); lcd.print("."); if (mes < 10) { lcd.print("0"); } lcd.print(mes); lcd.print("."); lcd.print(ano); // Definicao do alarme. if (horas == 06 && minutos == 00 && segundos == 0)//Define a hora de tocar o alarme por 1o segundos { digitalWrite (buzzer, HIGH);// Eleva tensao pino 13 para 5V delay (10000);// Atrasa 50ms } { digitalWrite (buzzer, LOW); //Abaixa tensao pino 13 para 0V }
if (horas == 18 && minutos == 00 && segundos == 00)//Define a hora de tocar o alarme por 10 segundos { digitalWrite (buzzer, HIGH);// Eleva tensao pino 13 para 5V delay (10000);// Atrasa 50ms } { digitalWrite (buzzer, LOW); //Abaixa tensao pino 13 para 0V }
}…