Go Down

Topic: Botón Pulsador// Mostrar totales // cómo grabar las lecturas en PC. (Read 224 times) previous topic - next topic

LUISRO847

Hola todos,

Estoy mejorando mi código para un boton pulsador, actualmente funciona al 100%, pero no encuentro la manera de que me envíe al serial la lectura TOTAL o sea la final, y no muestre el conteo parcial osea 1,2,3,4,5, etc.

Adicionalmente estoy usando el software Realterm para grabar los datos en el PC, y me pregunto si el arduino puede grabarlas directamente como archivo txt sin necesidad de utilizar un software adicional.

Adjunto el código.

Code: [Select]


// this constant won't change:
const int buttonPin = A2;      // the pin that the pushbutton is attached to
const int ledPin = 9;           // the pin that the LED is attached to

// Variables will change:
int Total;            // counter for the number of button presses
bool Lectura;          // current state of the button
bool nuevoLectura;     // previous state of the button
bool flag;
unsigned long tiempo;
unsigned long retardo = 1000;


void setup() {
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(ledPin, OUTPUT);
  Serial.begin(115200);
}

void loop() {

  Lectura = digitalRead(buttonPin);

  if (Lectura != nuevoLectura) {

    if (Lectura == LOW) {
      ++Total;
      Serial.print(Total);
      Serial.println(",");
      digitalWrite(ledPin, HIGH);
      tiempo = millis();
      flag = true;
    }
    else {
      if (Lectura == HIGH);
      digitalWrite(ledPin, LOW);
    }
  }

  nuevoLectura = Lectura;

  if (Lectura && millis() - tiempo >= retardo) {
    if (flag) {
      Serial.println(" ");
      Total = 0;
      flag = false;
    }
  }


surbyte

Hilo movido a Software.
Por favor usa un titulo en español y edita tu código usando etiquetas para tal efecto.
No se postean los códigos como texto plano

LUISRO847

Hola, modifiqué el título. Pero no me aparece la opción de colocar el código aparte. Alguna sugerencia?

AlexLPD

Hola, en efecto hay maneras en las que puedes grbar los datos.

Busca en el IDe: arduino datalog.

Te crea un archivo de texto donde graba los datos que quieras. puedes manjerlo por suceso
o por tiempo, que es lo que generalmente hacemos :

Code: [Select]

//pseudocodigo

por tiempo:
if ( seg == 00) // una vez cada minuto
{

int pines[4] = {0,1,2,3};
 
int estadoDePines [4] = {};

for (int z < 4)
{
estadoDePines[z] = digitalRead (pines[z])
}
}

// ya de aqui armas tu cade de texto algo como;

boton1: 1, boton2:0, boton3:1, boton4: 0

//Y asi, se va subiendo al txt.


Bueno, animo ya nos cuentas como te va.
-Alex.

LUISRO847

Gracias Alex, tocará investigar cómo puedo aplicar tus intrucciones. Muchas gracias y regreso con el resultado.

Go Up