Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*PROJETO PARA FUNCIONAMENTO CONTÍNUO - Reinicia o funcionamento após retorno da queda de energia
- OBS: - Neste caso o botão RESET original da placa NÃO conseguirá parar o sistema, apenas reiniará
- - Precisa de um boão adicional, como abaixo
- PREPARADO PARA TESTAR VIA SERIAL
- Diagrama do botão
- __|__
- Pino 2 <=| |=> Resistor 10k ligado no GND
- | O |
- 5v <=|_____|=> Não usar
- |
- */
- //Biblioteca da memória
- #include <EEPROM.h>
- //Pino e variável
- int bt_parar = 2;
- int est_bt_parar = 0; // Armazenar o estado do botao
- void setup() {
- Serial.begin(9600);
- pinMode(bt_parar, INPUT);
- Serial.println();
- Serial.println("INICIALIZANDO ...........");
- }
- void loop() {
- parar(); //Chamar na(s) parte(s) do cógigo ou dentro de outra função que quiser
- if (EEPROM.read(100) == 0) {
- Serial.println("EXECUTANDO..... Teste o BOTÃO DE PARAR");
- }
- else
- {
- Serial.println("NÃO EXECUTANDO..... Nesta parte não teria nenhum código a ser executado");
- Serial.println("Com esta dinâmina para colocar um códico em funcionamento");
- Serial.println("precisa que seja gravado na EEPROM o valor: 0");
- Serial.println("Desta forma: EEPROM.write(100, 0); O QUE ACONTECERÁ NESTE EXEMPLO APÓS 15 SEGUNDOS");
- delay(15000);
- EEPROM.write(100, 0); //Grava valor 0 na posição 100 da memória
- }
- }
- void parar() {
- est_bt_parar = digitalRead(bt_parar); //Leitura do estado do botao
- if (est_bt_parar == HIGH) {
- EEPROM.write(100, 1); //Grava valor 1 na posição 100 da memória
- delay(500);
- asm volatile (" jmp 0");
- }
- }
Add Comment
Please, Sign In to add comment