Progetto Macchina telecomandata infrarossi

Ciao ragazzi, sono da poco interessato ad arduino! Secondo voi questo mio primo progetto puó andar bene? Mi dite i limiti e cosa fare per migliorarlo? Grazie! :wink:

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento

ciao.

el1991:
...Secondo voi questo mio primo progetto puó andar bene? ...

E' un po' dura dare consigli senza sapere di cosa stai parlando.
"giudicare" un progetto da una foto è abbastanza difficile... :wink:

el1991:
...Mi dite i limiti e cosa fare per migliorarlo? Grazie! :wink:

A occhio la macchina va solo avanti e indietro; potresti, che ne so', aggiungere un servo che la fà girare, poi dei sensori a ultrasuoni che le impedisca di sbattere contro qualcosa, un cannone ad aria compressa, un Gundam che la guida eccetera.

ciao
pippo72

Grazie Pippo per la risposta :wink: Allora ho semplicemente usato un ponte H per pilotare un motore e avere la possibilità di invertire il senso di marcia. Ma credo ci sia qualcosa che non va: 1) le ruote girano poco nonostante io alimenti il motore con una batteria di 9V (un pò scarica) in serie con due di 1,5V; 2)il ponte H si riscalda.

Ciao
El1991

ciao

punto 1: NON vanno MAI messe in serie batterie di tipo e capacità diverse. Se noti differenza di giri sul motore tra alimentarlo direttamente dalle batterie rispetto che comandarlo tramite L293 è normale in quanto il ponte ad H si "mangia" circa 2 volts.
punto 2: Qui ci sono varie variabili in gioco: l' L293 "sopporta" al massimo 600 mA per canale (1200 mA per un breve istante) ma non sappiamo quanto assorbi il tuo motore. Che il ponte a H scaldi può essere normale, che "scotti" (non si riesce a tenere il dito) un po' meno.

Se hai un multimetro (tester per gli amici) puoi verificare quanto assorbe il motore e ti togli il dubbio.
Tieni presente che l'assorbimento cambia se il motore gira libero o sotto sforzo; naturalmente sotto sforzo aumenta.

ciao
pippo72

edit: dopo che ti sarai presentato :wink: posta anche lo sketch che usi

Ciao Pippo,
grazie per i consigli!! Scollego subito le batterie da 1,5V, e mi accontento di 9V! Ho un piccolo voltmetro e con quello ho notato che a vuoto (scollegando i cavetti che collegono al motore) funziona tutto più o meno bene, premendo il pulsante mi ritrovo ai capi del motore circa 6V (pochi perchè la batteria è scarica). Collegando il motore, che ovviamente non ruota, misuro 0.5V, forse perchè il motore assorbe, è normale?

Ecco lo sketch:

const int controlmotor = 8;
#include <IRremote.h>
const int RECV_PIN = 6;
int x =0;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup(){
  Serial.begin(9600);
  delay(1000);
  Serial.println(F("pronto"));
 pinMode(controlmotor, OUTPUT);
 irrecv.enableIRIn(); //Avvia ricezione
 }
 
void loop(){
   if (irrecv.decode(&results)) // se il sensore infrarosso riceve un'informazione ARDUINO  fa quello che c'è in queste parentesi graffe
  {
   Serial.println(results.value); // scrive sul monitor seriale il valore in un codice numerico numerico del tasto del telecomando che è stato premuto: ogni tasto di ogni telecomando ha un codice
     if(results.value==518090895){//2
         digitalWrite(controlmotor, HIGH);
      digitalWrite(controldir1,HIGH);
      digitalWrite(controldir2,LOW);
      Serial.println(F("motore acceso"));
     }
     if(results.value==518121495){//spegnimento
       digitalWrite(controlmotor, LOW);
      Serial.println(F("motore spento"));
    }
      if(results.value==518080695){//8
     digitalWrite(controlmotor, HIGH);
   digitalWrite(controldir1, LOW);
   digitalWrite(controldir2,HIGH);
   Serial.println(F("retromarcia inserita"));
  }
    
     irrecv.resume(); //Attesa ricezione prossimo valore  
 
}
}

Grazie ancora per le gentili risposte :wink: Ciaoo Domenico