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! ![]()
Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento: Regolamento
- qui una serie di schede by xxxPighi per i collegamenti elettronici vari: ABC - Arduino Basic Connections
- qui le pinout delle varie schede by xxxPighi: Pinout
- qui una serie di link generali utili: Link Utili
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... ![]()
el1991:
...Mi dite i limiti e cosa fare per migliorarlo? Grazie!
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
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
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
Ciaoo Domenico
