Arduino Forum

International => Italiano => Generale => Topic started by: WinGamesyun on Mar 17, 2019, 05:12 pm

Title: Pin digitale di pullup...
Post by: WinGamesyun on Mar 17, 2019, 05:12 pm
Salve  a tutti vorrei un aiuto su questo codice :Vi spiego brevemente il mio progetto ho collegato un lettore di banconote alla scheda arduino yùn ma alcune volte non legge l'impulso  come si bloccasse loop.
allego il codice
Code: [Select]
#define BLYNK_PRINT Serial
#include <Bridge.h>
#include <BlynkSimpleYun.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2);
BlynkTimer timer;
char auth[] = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
WidgetLCD blynk_lcd(V31);
const int  buttonPin = 6;    
const int ledPin = 13;      


int buttonState = HIGH;        
int lastButtonState = 0;    
int  banconota5   = 0;
int  sommapar = 0;
void setup() {
 
  pinMode(6, INPUT_PULLUP);
 
  pinMode(ledPin, OUTPUT);
 
  Serial.begin(9600);
   lcd.init();
    lcd.backlight();
    lcd.setCursor(1,0);
    lcd.print("wingames");
    lcd.setCursor(0,1);
    lcd.print("TOTALI");
    lcd.clear();
     Blynk.begin(auth);
       blynk_lcd.clear();
  blynk_lcd.print(1, 0,"wingames" );
  blynk_lcd.print(1, 1, "TOTALI");
  
   blynk_lcd.clear();
}


void loop() {
   buttonState = digitalRead(6);
if (buttonState != lastButtonState) {
  
    if (buttonState == LOW) {
    banconota5 = banconota5 + 20;
        sommapar =  banconota5;
    
      Serial.println("on");
      Serial.println("BANCONOTA 5: ");  
    } else {
    
      Serial.println("off");
      
    }
    
    delay(50);
  }

  lastButtonState = buttonState;

 lcd.setCursor(1,0);
 lcd.print("WIN GAMES");
 lcd.setCursor(8, 1);  
 lcd.print(sommapar);
 lcd.setCursor(0,1);
 lcd.print("TOTALI");
          
blynk_lcd.print(4, 0,sommapar );
blynk_lcd.print(4, 1, "TOTALI");

Blynk.run();
}
Title: Re: Pin digitale di pullup...
Post by: gpb01 on Mar 17, 2019, 05:19 pm
Ti ho cancellato il codice "auth" per blynk ... non credo tu voglia distribuirlo a tutta la comuità ;)

L'LCD è piuttosto lento (impegna parecchio la MCU), la seriale pure ed anche la comunicazione con "blynk" probabilmente richiede tempo ... se arrivano magari dei segnali dal lettore di banconote mentre il porgramma è impegnato a fare altre cose ... beh ... te li perdi.

Guglielmo
Title: Re: Pin digitale di pullup...
Post by: WinGamesyun on Mar 17, 2019, 05:28 pm
Grazie per il codice.
Cosa mi consigli di fare?  ho anche altre schede arduino per questo progetto come la mkr 1010 una mega ...
Title: Re: Pin digitale di pullup...
Post by: gpb01 on Mar 17, 2019, 05:54 pm
... mah, SE (... ma è da verificare) il problema sono le tempistiche, invece che "leggere" un pin nel loop() potresti usare un "interrupt" con una ISR molto veloce ;)

Guglielmo