Go Down

Topic: realizzazione di un ascensore a 3 piani  (Read 8605 times) previous topic - next topic

testato

Quote
legge di Ohm sappiamo che 5-1.5-I*R=0
E questo dovrebbe aiutare un eventuale utente che passa di qui ?

Propongo ban di una settimana per tentativo di confusione aggravato da futili motivi  :smiley-yell:  :smiley-yell:  :smiley-yell:

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

simonsdec

questi sono i nuovi collegamenti alimentando arduino dal jack (5v1A)
usando VIN(anche se non lo mostro) per il motore
ed il resto come in figura tralasciando per ora i led che inserirò al momento che funzioni tutto
il problema è che con le resistenza non fa nulla....
levandole ho i stessi problemi di prima diciamo fa 2 chiamate e si blocca tutto.....

brunello22

Lo sai che se alimenti Arduino attraverso il Jack, con 5v, sul Vin hai poco più di 4V e sul pin 5V di arduino è ancora più bassa ?

brunello22

Ma una foto di quei finecorsa ce l'hai ?

Standardoil

E questo dovrebbe aiutare un eventuale utente che passa di qui ?

Propongo ban di una settimana per tentativo di confusione aggravato da futili motivi  :smiley-yell:  :smiley-yell:  :smiley-yell:


cosa non ti è chiaro della legge di ohm?
Giorgio Simone Ohm così la aveva scritta:
La somma (algebrica) delle forze elettrotromotrici e delle cadute di tensione in un circuito elettrico è pari a zero
Se si rischia il ban per citare una legge di natura, a tutti quelli che seguono Lavoisier e respirano ossigeno che gli farai?
Prima legge di Nelson (che sono io): fai le stesse cose sempre alla stessa maniera, quegli errori li hai già corretti

Non bado a studenti, che vadano a copiare da un'altra parte

Se io ti domando e tu non mi rispondi vuol dire che non ti serve più


Standardoil

Fai una foto di come li hai collegati, che vediamo
Prima legge di Nelson (che sono io): fai le stesse cose sempre alla stessa maniera, quegli errori li hai già corretti

Non bado a studenti, che vadano a copiare da un'altra parte

Se io ti domando e tu non mi rispondi vuol dire che non ti serve più

testato

cosa non ti è chiaro della legge di ohm?
Giorgio Simone Ohm così la aveva scritta:
La somma (algebrica) delle forze elettrotromotrici e delle cadute di tensione in un circuito elettrico è pari a zero
Se si rischia il ban per citare una legge di natura, a tutti quelli che seguono Lavoisier e respirano ossigeno che gli farai?
Se improvvisamente non riesci più ad entrare sul forum significa che sono riuscito a convincere Massimo a farmi Mod  :smiley-yell:
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Claudio_FF

#203
Jun 19, 2018, 07:01 pm Last Edit: Jun 19, 2018, 07:03 pm by Claudio_FF
Quote from: simonsdec
questi sono i nuovi collegamenti alimentando arduino dal jack (5v1A)
ed il resto come in figura tralasciando per ora i led che inserirò al momento che funzioni tutto
il problema è che con le resistenza non fa nulla....
levandole ho i stessi problemi di prima diciamo fa 2 chiamate e si blocca tutto.....
Dal jack si entra con 9V.

Se si ha già un'alimentazione stabilizzata a 5V, si entra diretti sul terminale 5V.

La bassa tensione che deriva dall'entrare con 5V dal jack, è già da sola sufficiente a creare problemi.

Ma in più... non so da quanto sono le resistenze di pulldown, se sono da 220Ω come nel disegno allora le tre di sinistra (collegate ai pulsanti normalmente chiusi) sono già sufficienti ad assorbire più di 50mA (un'esagerazione in ogni caso, ma con l'alimentazione messa male ancora peggio).

E mancano sempre i condensatori di debounce di cui si parlava al post #84, la cui assenza potrebbe generare i famosi comandi multipli a raffica ad ogni azionamento di pulsanti e finecorsa.
* * * *    if non è un ciclo   * * * *
* * * Una domanda ben posta è già mezza risposta. * * *

Standardoil

Se improvvisamente non riesci più ad entrare sul forum significa che sono riuscito a convincere Massimo a farmi Mod  :smiley-yell:
e perche? cosa ho fatto di male?
lo OP ha evidentemente dei debiti teorici, che ho cominciato a colmare
vuoi proseguire tu?
Poi, per me, fai pure, lo spessore di una persona si vede anche dal tipo di minacce che fa
Prima legge di Nelson (che sono io): fai le stesse cose sempre alla stessa maniera, quegli errori li hai già corretti

Non bado a studenti, che vadano a copiare da un'altra parte

Se io ti domando e tu non mi rispondi vuol dire che non ti serve più

brunello22

#205
Jun 20, 2018, 12:26 am Last Edit: Jun 20, 2018, 12:27 am by brunello22
Mi fai un favore ?

Me lo colleghi in questo modo



e poi provi ad usare questo sketch

Code: [Select]


#include <Stepper.h>

int Puls_PT = 2;
int Puls_1P = 3;
int Puls_2P = 4;
int SW_PT = 5;
int SW_1P = 6;
int SW_2P = 7;

#define Steps 32
Stepper small_stepper(Steps, 9, 11, 10, 12);

int piano = -1 ;
int piano_che_chiama = -1 ;
int velocita = 500 ; // Aumentare fino a 700 se se vuole piu' veloce
int a = 0 ;

void setup() {
  pinMode(SW_PT, INPUT_PULLUP); //  piano terra
  pinMode(SW_1P, INPUT_PULLUP); //  primo paino
  pinMode(SW_2P, INPUT_PULLUP); //  secondo paino
  pinMode(Puls_PT, INPUT_PULLUP); // chiamata piano terra
  pinMode(Puls_1P, INPUT_PULLUP); //  chiamata primo piano
  pinMode(Puls_2P, INPUT_PULLUP); //  chiamata secondo piano
  Serial.begin(9600);

  // test iniziale per sapere a quale piano si trova
  if (digitalRead(SW_PT) == LOW ) piano = 0 ;
  if (digitalRead(SW_1P) == LOW ) piano = 1 ;
  if (digitalRead(SW_2P) == LOW ) piano = 2 ;
  if (piano < 0) {
    // deve muovere il motore fino a che non trova un piano
    Serial.println("L'ascensore non e' in nessun piano ");
  }
  else {
    Serial.print("L'ascensore e' al piano ");
    Serial.println(piano);
  }
}

void loop() {
  piano_che_chiama = piano;
  if (digitalRead(Puls_PT) == LOW ) piano_che_chiama = 0 ;
  if (digitalRead(Puls_1P) == LOW ) piano_che_chiama = 1 ;
  if (digitalRead(Puls_2P) == LOW ) piano_che_chiama = 2 ;
  if ( piano_che_chiama > piano ) {
    a = 1 ;
    sali(piano_che_chiama );
  }
  if ( piano_che_chiama < piano ) {
    a = 1 ;
    scendi(piano_che_chiama );
  }
}

void sali(int valore ) {
  Serial.print("E' stato chiamato dal piano ");
  Serial.println(piano_che_chiama);
  Serial.print("Si muovera' fino a che non scatta il finecorsa del piano ");
  Serial.println(piano_che_chiama);
  small_stepper.setSpeed(velocita);
  while ( a == HIGH ) // Aspetta che venga premuto il finecorsa
  {
    if (valore == 0 )   a = digitalRead(SW_PT) ;
    if (valore == 1 )   a = digitalRead(SW_1P) ;
    if (valore == 2 )   a = digitalRead(SW_2P) ;
    small_stepper.step(1);
  }
  piano = piano_che_chiama ;
  Serial.print("Ora e' al piano ");
  Serial.println(piano);
  Serial.println();
}

void scendi(int valore ) {
  Serial.print("E' stato chiamato dal piano ");
  Serial.println(piano_che_chiama);
  Serial.print("Si muovera' fino a che non scatta il finecorsa del piano ");
  Serial.println(piano_che_chiama);
  small_stepper.setSpeed(velocita);
  while ( a == HIGH ) // Aspetta che venga premuto il finecorsa
  {
    if (valore == 0 )   a = digitalRead(SW_PT) ;
    if (valore == 1 )   a = digitalRead(SW_1P) ;
    small_stepper.step(-1);
  }
  piano = piano_che_chiama ;
  Serial.print("Ora e' al piano ");
  Serial.println(piano);
  Serial.println();
}


Standardoil

io azzardo scommessa:
con questo progetto abbiamo finito......
Prima legge di Nelson (che sono io): fai le stesse cose sempre alla stessa maniera, quegli errori li hai già corretti

Non bado a studenti, che vadano a copiare da un'altra parte

Se io ti domando e tu non mi rispondi vuol dire che non ti serve più

Go Up