Go Down

Topic: start /logooff sketch arduino in windows.. (Read 3 times) previous topic - next topic

t-rex

salve ragazzi avrei bisogno di un vostro aiuto...io ho realizzato questo elevatore  con un servoattuatore della firgelli
http://www.youtube.com/watch?v=BrMVr0IK1sg&feature=relmfu

questo sara' usato in un computer...pero' vorrei che l'elevatore si alzasse all accensione del pc e si abbassasse nello spegnimento di windows .ho scritto un piccolo sketch usando la libreria servo...e lo sketch funziona ...ne ho scritti due uno pistone su e uno pistone giu...
come posso fare per fare cio'?potete aiutarmi?
grazie in anticipo

leo72

Non ho capito il problema... lo hai realizzato oppure no lo sketch?  :smiley-sweat:

astrobeed


Non ho capito il problema... lo hai realizzato oppure no lo sketch?  :smiley-sweat:


Ma sopratutto non serve Arduino, è un banale azionamento puramente elettromeccanico con rele e fine corsa.

t-rex

questo servo attuatore della firgelli ha una propria scheda di controllo, gestibile tramite un proprio software di controllo.ma ha delle pecche tutte le volte devo settarlo.... mentre con arduino scritto lo skech mi rimane tutto cosi com'e.... ho usato l uacita 3 arduino collegata all ingresso del input della scheda firgelli....e il negativo che va al neg dell altra scheda...quello che io vorrei capire e se c e un modo per far funzionRe questo scketch all accensione e allo spegnimento del pc.... ho provato a seguire delle guide ma il software arduino non si avvia...
arduino resta collegato al pc tramite usb...
in pratica premo on del pc parte win e nel frattempo si alza questo elevatore viceversa spengo il pc quindi win , l elevatore va giu e quindi si chiude win...

uwefed

#4
Sep 03, 2012, 08:50 am Last Edit: Sep 03, 2012, 08:52 am by uwefed Reason: 1
Il punto difficile é che vuole t-rex é che la sua meccanica si abbassi al spegnimento del PC.
Il PC ha 2 tensioni di 5V. Quella ufficiale che puó dare alcune decine di ampere e una standby che da da 1 a 2A. A secondo delle possiblitá della scheda madre la USB puó essere alimentata da una o dalla altra tensione.

Il movimento su e giú puó essere trigerato dalla tensione 5V normale e l'alimentazione avviene dai 5V standby. Cosí il movimento di rientro avviene dopo lo shutdowm del SO e del spegnimento del PC
Il tutto ovviamente non funziona se al PC viene tolto l' aliemntazione di brutto.

Ciao Uwe

leo72

Quoto Uwe.

il dispositivo deve funzionare all'accensione/spengimento del PC. Isolerei pertanto la gestione dal sistema operativo, proprio per i motivi detti da Uwe. Quindi alimentare l'Arduino dai 5V (tramite pin 5V) o dai 12V (sulla presa jack) e non dalla porta USB: non so Windows, ma Linux apre e diverse volte la connessione sulle porte USB durante il boot per vedere se c'è qualcosa di collegato, e questo resetta l'Arduino.

astrobeed


Quoto Uwe.


Al di la della questione controllo attuatore il modo più semplice è rilevare la presenza o meno del 12V su un connettore per dischi IDE, oppure da un connettore per ventole, se c'è la tensione viene fatto estendere il pistone, se manca si riporta in posizione di riposo.
Va da se che il sistema deve essere alimentato a parte perché collegare un carico induttivo come un pistone elettromeccanico direttamente alla alimentazione di un pc non è una buona idea.

t-rex

si quelli che dite voi è esatto ma come si fa per caricare lo scketch creato in arduino? bisogerebbe fare , correggetemi se dico cabolate
se vi e tensione 5 v su arduino ( perche il servo attuatore e alimentato a 12 v)tira su il pistone se non vi e tensione tira giu il pistone... si dovrebbe riscrivere il tutto...
da quello che ho trovato in rete dicono che win puó fare avviare un qualcosa se questo e scritto in . bit

astrobeed


da quello che ho trovato in rete dicono che win puó fare avviare un qualcosa se questo e scritto in . bit


La cosa è molto semplice, devi usare un alimentatore, separato dal pc, che fornisce i 12V per il pistone con i quali puoi alimentare anche Arduino, dato che non hai utilizzatori che prelevano corrente dal micro anche se stai al limite del regolatore si può fare, diventerà leggermente caldo, ovviamente devi mettere in comune il GND del pc con quello dell'alimentatore aggiuntivo.
Tramite Arduino rilevi la presenza del 12V, del PC, tramite un partitore resistivo, se preferisci va bene anche il +5V diretto però devi cercarne uno che non è presente con il pc spento, o in standby, con il 12V è più semplice.
All'accensione del pc  Arduino rileva la presenza del 12V e solleva la rampa, quando va via il 12V la abbassa, a operazione terminata puoi fai scattare un rele che toglie l'alimentazione ad arduino e al pistone se non vuoi lasciarli alimentati in standby, o più semplicemente usi una ciabatta con interruttore in modo da spegnere tutto definitivamente come sarebbe buona norma fare.

leo72


si quelli che dite voi è esatto ma come si fa per caricare lo scketch creato in arduino?

Mi sorge il dubbio che tu non sappia che lo sketch è memorizzato in maniera permanente sulla Flash interna del microcontrollore per cui non devi preoccuparti se all'Arduino viene tolta l'alimentazione. Al successivo riavvio il programma è già "scritto" e riparte da sé.


t-rex



da quello che ho trovato in rete dicono che win puó fare avviare un qualcosa se questo e scritto in . bit


La cosa è molto semplice, devi usare un alimentatore, separato dal pc, che fornisce i 12V per il pistone con i quali puoi alimentare anche Arduino, dato che non hai utilizzatori che prelevano corrente dal micro anche se stai al limite del regolatore si può fare, diventerà leggermente caldo, ovviamente devi mettere in comune il GND del pc con quello dell'alimentatore aggiuntivo.
Tramite Arduino rilevi la presenza del 12V, del PC, tramite un partitore resistivo, se preferisci va bene anche il +5V diretto però devi cercarne uno che non è presente con il pc spento, o in standby, con il 12V è più semplice.
All'accensione del pc  Arduino rileva la presenza del 12V e solleva la rampa, quando va via il 12V la abbassa, a operazione terminata puoi fai scattare un rele che toglie l'alimentazione ad arduino e al pistone se non vuoi lasciarli alimentati in standby, o più semplicemente usi una ciabatta con interruttore in modo da spegnere tutto definitivamente come sarebbe buona norma fare.


posso chiederti un schema o comunque un qualcosa?



[/quote]

Mi sorge il dubbio che tu non sappia che lo sketch è memorizzato in maniera permanente sulla Flash interna del microcontrollore per cui non devi preoccuparti se all'Arduino viene tolta l'alimentazione. Al successivo riavvio il programma è già "scritto" e riparte da sé.



[/quote]


no no so che lo scketch rimane sulla eprom ma il fatto che gli scketc sono uno due... eccoli
pistone giu

   #include <Servo.h>
     
    Servo myservo; 
    void setup()
    {
      myservo.attach(3); 
    }
     
    // i am trying to me the actuator extend to a certain point and the retract to a certain point
    void loop()
    {
                                       
       
     
        myservo.write(80);
        delay(2000);
        myservo.write(110); 
                             
     
    }

pistone su
  #include <Servo.h>
     
    Servo myservo; 
    void setup()
    {
      myservo.attach(3); 
    }
     
    // i am trying to me the actuator extend to a certain point and the retract to a certain point
    void loop()
    {
                                       
       
     
        myservo.write(110);
        delay(2000);
        myservo.write(80); 
                             
     
    }

a stgo punto penso che lo scketch andrebbe riscritto o mi sbaglio mettere tutto in uno e dire ad arduino quando non c e alimentazione del pc sul piedinoX  il pistone deve andare giu e viceversa quando rileva l alimentazione su un piedino X  il pistone va su






Madwriter

#11
Sep 04, 2012, 05:23 pm Last Edit: Sep 04, 2012, 05:26 pm by Madwriter Reason: 1
Allora basta unire i due sketch ti fai la lettura sulla presenza di alimentazione(qui ci provo in teoria basta un analog read) e poi usi il tuo sketch sai ti rileverò un segreto qualcuno ha inventato gli IF  :smiley-eek:
Code: [Select]
#include <Servo.h>
 const int ledlettura = 6;
   Servo myservo;  
   void setup()
   {
     myservo.attach(3);  
   }
   void loop()
   {                                
       int valore = analogRead(ledlettura);
       if(valore > 50)
       {
       myservo.write(80);
       delay(2000);
       myservo.write(110);
       }
       else
       {
       myservo.write(80);
       delay(2000);
       myservo.write(110);  
       }
             
   }



ps non so come funziona l'analog read quando leggi l'alimentazione di una porta usb, ho messo 50 giusto per evitare i disturbi  :smiley-mr-green:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

t-rex


Allora basta unire i due sketch ti fai la lettura sulla presenza di alimentazione(qui ci provo in teoria basta un analog read) e poi usi il tuo sketch sai ti rileverò un segreto qualcuno ha inventato gli IF  :smiley-eek:
Code: [Select]
#include <Servo.h>
 const int ledlettura = 6;
   Servo myservo;  
   void setup()
   {
     myservo.attach(3);  
   }
   void loop()
   {                                
       int valore = analogRead(ledlettura);
       if(valore > 50)
       {
       myservo.write(80);
       delay(2000);
       myservo.write(110);
       }
       else
       {
       myservo.write(80);
       delay(2000);
       myservo.write(110);  
       }
             
   }



ps non so come funziona l'analog read quando leggi l'alimentazione di una porta usb, ho messo 50 giusto per evitare i disturbi  :smiley-mr-green:
intanto grazie mille che mi state dando una mano....
avrete capito che sono una capra con arduino...so poche cose ....ora se ho capito bene rileva sull uscita 6 dell'arduino se ci sono i 5 volt ....

Madwriter

se ci sono i 5v "esegue pistone su" se non ci sono "esegue pistone giù"   :smiley-mr-green:
"Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi..." Albert Einstein

t-rex

prima di fare delle cappellate ho gfatto un digno con point...

Go Up