Salve, io non riesco a far funzionare il mio progetto, volevo fare un conta punti per ogni canestro (di basket) ma non funziona. Quando lo metto sembra che il sensore non funziona, mi genera punti ogni secondo (ho provato a togliere il sensore, e mi genera lo stesso i punti). Potete aiutarmi?
#include <LiquidCrystal.h>
#define trigger1 9
#define echo1 10
const int buzzer = 6;
#define conversione 0.0343
#define offset 15
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
const int riposo = 400;
const int lunghezzaSuono = 200;
int punteggio = 0;
long passato = 0;
long i = 1;
bool sound = false;
void setup() {
pinMode(trigger1, OUTPUT);
pinMode(echo1, INPUT);
pinMode(buzzer, OUTPUT);
lcd.begin(16, 2);
//Debug
Serial.begin(9600);
}
void loop() {
if (i > 0) {
int distanza = calcolaDistanza(trigger1, echo1);
if (distanza <= offset) {
if ((millis() - passato) >= riposo) {
punteggio += 1;
passato = millis();
sound = true;
}
}
if ((millis() - passato) >= lunghezzaSuono) {
sound = false;
}
digitalWrite(buzzer, sound);
scritturaDisplay(punteggio, i/1000);
}
delay(100);
}
void scritturaDisplay(int score, int timeLeft) {
lcd.clear();
lcd.print("Canestri: ");
lcd.print(score);
lcd.setCursor(0, 1);
}
//Sensore di prossimità a ultrasuoni
int calcolaDistanza(int tr, int ec) {
digitalWrite(tr, LOW);
delayMicroseconds(2);
digitalWrite(tr, HIGH);
delayMicroseconds(10);
digitalWrite(tr, LOW);
long duration = pulseIn(ec, HIGH);
int distance = (duration * conversione) / 2;
return distance;
}
Allora,
se devi modificare un post, NON scriverne uno nuovo, ma modifica il vecchio usando il bottone a forma di piccola matita che si trova in basso del post da modificare. Per questa volta ok, ma tiene presente la cosa per il futuro, dopo di che ribadisco quanto già detto nell'altro thread (che ho chiuso e poi elimino) ...
... nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, presta più attenzione in quale sezione metti i tuoi post; (questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana) ...
... leggi attentamente il REGOLAMENTO di detta sezione, (... e, per evitare future possibili discussioni/incomprensioni, prestando molta attenzione al punto 15) e poi, come da suddetto regolamento (punto 16.7), fai la tua presentazione NELL'APPOSITA DISCUSSIONE spiegando bene quali esperienze hai in elettronica e programmazione, affinché noi possiamo conoscere la tua esperienza ed esprimerci con termini adeguati.
Grazie,
Guglielmo
P.S.: Ti ricordo che, purtroppo, fino a quando non sarà fatta la presentazione nell’apposita discussione, nel rispetto del succitato regolamento nessuno ti risponderà (eventuali risposte o tuoi ulteriori post, verrebbero temporaneamente nascosti), quindi ti consiglio di farla al più presto.
Non c'è nulla da sistemare ... le prime sono indicazioni su cose fatte, possibilmente da non ripetere , l'ultima è l'indicazione su cose da fare ... (leggere il REGOLAMENTO, fare la presentazione NELL'APPOSITA DISCUSSIONE) ...
Eeeehhhhh ??? ... cosa vorresti sbloccare? Non c'è nulla da sbloccare, tanto è vero che stai scrivendo sul forum (... e nella giusta sezione) ... DEVI solo fare quanto ti ho ripetutamente chiesto ...