Vai al contenuto

thoromir

Utente
  • Numero contenuti

    3
  • Iscritto

  • Ultima visita

Su thoromir

  • Compleanno 03/07/1991

Obiettivi di thoromir

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Badge recenti

0

Reputazione Forum

  1. http://imageshack.com/a/img841/5434/br7m.png l'obbiettivo e quello di simulare in modo moolto semplificato il comportamento di un distributore di cibi e bevande. byte mon_1 = 5; //pin moneta 50 cent byte mon_2 = 7; //pin moneta 1 euro byte prod_1 = 9; //pin acqua byte prod_2 = 11; //pin panino float credito = 0; //variabile Credito float costo; //variabile costo prodotto boolean puls; //variabile pulsante (se premuto e letto uno dei pulsanti, non sara piu' //possibile nessuno dei 4 pulsanti fino al rilascio) void setup() { Serial.begin(9600 //dichiaro la velocita' di comunicazione con la porta seriale pinMode(mon_1,INPUT); //imposto i pin pinMode(mon_2,INPUT); pinMode(prod_1,INPUT); pinMode(prod_2,INPUT); digitalWrite(mon_1,HIGH); //assegno la resistenza di pull-up digitalWrite(mon_2,HIGH); digitalWrite(prod_1,HIGH); digitalWrite(prod_2,HIGH); Serial.println("INIZIO"); Serial.println("Inserisca monete o scelga un prodotto"); } void loop() { if(digitalRead(mon_1) && digitalRead(mon_2) && digitalRead(prod_1) && digitalRead(prod_2)) puls = 1; //se tutti i pulsanti sono HIGH -> puls = 1 delay(50); //ritardo contro i rimbalzi dei pulsanti if(!digitalRead(mon_1) && puls) { //se il pulsante moneta 1 e' LOW e puls = 1 credito += 0.50; //aggiungo al credito 50 cent puls = 0; //puls diventa stampa_credito (); //funzione che stampa sulla seriale il credito complessivo } if(!digitalRead(mon_2) && puls) { //stesse operazioni di prima credito += 1; puls = 0; stampa_credito (); } costo = 0; if(!digitalRead(prod_1) && puls) { costo = 0.50; puls = 0; Serial.println("Prodotto scelto -> ACQUA"); erog_prod_rest (); //funzione che eseguendo tutti i calcoli necessari decide se //il credito e' sufficiente, erogare il prodotto e/o il resto } if(!digitalRead(prod_2) && puls) { costo = 0.80; puls = 0; Serial.println("Prodotto scelto -> PANINO"); erog_prod_rest (); //stessa procedura di prima } } //spezzoni di codice ripetitivi, isolati in funzioni (per comodita') void stampa_credito () { Serial.print("Il suo credito e' di "); Serial.print(credito); Serial.println(" euro"); Serial.println(""); } void erog_prod_rest () { Serial.print("Costo prodotto -> "); Serial.print(costo); Serial.println(" euro"); Serial.println(""); if (credito >= costo) { Serial.println("Erogazione PRODOTTO"); float resto = credito - costo; if (resto) { Serial.print("Erogazione RESTO di "); Serial.print(resto); Serial.println(" euro"); } Serial.println(""); credito = 0; Serial.println("Inserisca monete o scelga un prodotto"); Serial.println(""); } else Serial.println("Credito insufficiente"); Serial.println(""); }
  2. ciao volevo dirti che questo programmino non va gli errori riportati sono i seguenti: 'class ultrasonic' has no member named 'Ranging' 'CM' was not declared in this scope function definition does not declare the parameters siccome mi interessa parecchio e non sono molto esperto ma voglio imparare ti pregherei di darci un occhiata e farmi sapere
  3. thoromir

    ciao

    un saluto a tutti mi chiamo erick mi affaccio da poco nel modding sper di divertirmi grazie alla vostra esperienza
×
×
  • Crea Nuovo...