OI, boa noite
Eu fiz um projeto que ve entrada e saida de pessoas com um sensor infravermelho E18.
A quantidade de pessoas que entra, sai, pessoas na sala e o total disso e mostrado em uma tela LCD 16x2
Mas o meu problema é: Não estou conseguindo gravar o numero total de pessoas que entraram no local no cartão micro SD e não sei o motivo.
Todo o resto está funcionando normalmente menos a gravação no micro SD
**DETALHE: E A MINHA PRIMEIRA VEZ MEXENDO COM ARDUINO
**
Espero não ficar muito confuso !
//SD card
#include <SPI.h>
#include <SD.h>
File ArquivoArduino;
//Painel LCD
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define endereco 0x27
#define colunas 16
#define linhas 2
LiquidCrystal_I2C lcd(0x27, 16, 2);
//Pino sensor, buzzer, SD
int sensor_entrada= 6;
int sensor_saida= 7;
int valor_entrada = 0;
int valor_saida = 0;
int buzzer = 8;
const int SdCard = 4;
//LCD
int conta_entrada = 0;
int conta_saida = 0;
int conta_sala = 0;
int conta_anterior = 0;
void setup() {
Serial.begin(9600);
//SDCard
SD.begin(4);
//Sensor
pinMode(6, INPUT_PULLUP);
pinMode(7, INPUT_PULLUP);
pinMode(8,OUTPUT);
//LCD
lcd.begin(16, 2);
lcd.init();
lcd.display();
lcd.backlight();
lcd.clear();
delay(350);
lcd.print("Sala:0 ");
lcd.setCursor(9, 0);
lcd.print("Tot: 0");
lcd.setCursor(0, 1);
lcd.print("Ent: 0");
lcd.setCursor(9, 1);
lcd.print("Sai: 0");
}
void loop() {
valor_entrada = !digitalRead(sensor_entrada);
valor_saida = !digitalRead (sensor_saida);
digitalRead(buzzer);
//entrada
if(valor_entrada!=1){
digitalWrite(6, HIGH);
digitalWrite(buzzer, HIGH);
delay(50);
digitalWrite(buzzer,LOW);
lcd.setCursor(5,1);
lcd.print(conta_entrada= conta_entrada +1);
lcd.setCursor(14,0);
lcd.print(conta_entrada);
digitalWrite(7, LOW);
delay(2000);
digitalWrite(7, HIGH);
}
//Conta sala
{
conta_sala = conta_entrada - conta_saida;
lcd.setCursor(5,0);
lcd.print(conta_sala);
}
//saida
if(valor_saida!=1){
digitalWrite(7, HIGH);
lcd.setCursor(14,1);
lcd.print(conta_saida= conta_saida +1);
digitalWrite(6, LOW);
delay(2000);
digitalWrite(6, HIGH);
}
ArquivoArduino = SD.open("dadosArduino.txt", FILE_WRITE);
if (ArquivoArduino){
delay(60000);
ArquivoArduino.println(conta_entrada);
ArquivoArduino.close();
delay(50);
}
}