funzionamento della shield arduino motor

ciao a tutti,

ho appena comprato una shield di arduino per i controllo motori...

Che libreria devo usare per controllare 2 motori?

grazie ( questo e il controllo motori)

http://store.arduino.cc/index.php?main_page=product_info&cPath=37_5&products_id=204

Se sono degli stepper, usa la libreria Stepper dell'IDE. Se sono dei DC, li accendi e li spegni con i digitalwrite.

ahh ok,

ma quindi per esempio io ho un motore DC, non posso cambviare la velocita? E invece, quei connettori a tre pin che sono arancioni e bianchi, cosa sono e a cosa servono?

Se hai motori DC usi la analogWrite() per impostare la velocità (da 0 a 255). Oltre ad aver comprato la scheda, sarebbe ora che ti STUDIASSI come è fatta e cosa ti mette a disposizione ... QUI ...

... ci sono chiaramete indicate tutte le funzionalità, quali pin usare per decidere la direzione dei motori, la velocità, fermarli, ecc. ecc.

Ah ... c'è anche scritto a cosa servono "... quei connettori a tre pin che sono arancioni e bianchi" ... quindi ... ]:D

Guglielmo

hahahaha guglielmo sempre a ricordarti di studiare!! :stuck_out_tongue:

devo ammettere che quel sito lo visto dopo aver pubblicato il post, e sono ruiscito a capire come fare andare avanti a diverse velocita un motore DC.

Ho buttato giu un codice per aumentare la velocita automaticamente, eccolo qui:

int y = 1;
void setup() 
{
  pinMode(12,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(9,OUTPUT);
  digitalWrite(12, HIGH);
  digitalWrite(9, LOW);
}

void loop() 
{
  for(int x=1; x<255;x=x+y){
  analogWrite(3, x);
  delay(10);
}
}

successivamente ho provato a modificarlo perche quando arrivava al massimo della velocita (254) faceva un rumore brusco per niente promettente e poi ripartiva da capo.

Provando a fare un programma che mi facesse aumentare la velocita e poi scenderl ho creato questo:

int y = 1;
void setup() 
{
  pinMode(12,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(9,OUTPUT);
  digitalWrite(12, HIGH);
  digitalWrite(9, LOW);
}

void loop() 
{
  for(int x=1; x<255;x=x+y){
  analogWrite(3, x);
  delay(10);
}
y = -y;
}

ma per qualche errore che ho commesso non faceva quello che volevo fare io allora lo ho riscritto cosi:

int y = 1;
void setup() 
{
  pinMode(12,OUTPUT);
  pinMode(3,OUTPUT);
  pinMode(9,OUTPUT);
  digitalWrite(12, HIGH);
  digitalWrite(9, LOW);
}

void loop() 
{
  for(int x=1; x<255;x=x+y)
  {
  analogWrite(3, x);
  delay(10);
  }
  for(int z=255; z>0; z=z-y)
  {
  analogWrite(3, z);
  delay(10);
  }
}

devo ancora testarlo ma mi sembra giusto. Che ne dite?

ancora una domanda:

ma se collego per esempio un servo ad un connettore Tinkerkit (che non ho capito precisamente cosa sono pur avendolo cercato)

come lo comando??

I TinkerKit sono degli StarterKit, con collegamenti semplificati, venduti dallo store ufficiale --> http://store.arduino.cc/index.php?main_page=index&cPath=17

Federico99: hahahaha guglielmo sempre a ricordarti di studiare!! :P ...

Mah ... vedi ... stiamo comunque parlando di "elettronica" e ... perdona, ma senza "studiare"/"leggere con attenzione" ... non si fa molta strada ... mentre invece, spesso, si fanno "molti danni" ]:D ]:D ]:D

Guglielmo

okay ho abbastanza capito =)