start /logooff sketch arduino in windows..

t-rex:
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é.

astrobeed:

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

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 :astonished:

 #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 :grin:

Madwriter:
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 :astonished:

 #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 :grin:

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 ....

se ci sono i 5v "esegue pistone su" se non ci sono "esegue pistone giù" :grin:

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

potresti usare un rele SPDT, quando arduino e' accesso il programma tira su un'uscita che eccita il rele e muove la piattaforma su, il finecorsa interrompe il segnale dal rele al motore (solo il segnale di PIATTAFORMA SU, altrimenti non lo puoi piu muovere giu). Quando spegni il pc arduino si spegne, la tensione dell'uscita digitale cade e il rele si diseccita chiudendo il contatto di PIATTAFORMA GIU, il fine corsa interrompe il segnale dal rele al motore (solo il segnale di PIATTAFORMA GIU, altrimenti non lo puoi piu muovere su).

rele_SPDT.png

Madwriter:
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 :astonished:

 #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 :grin:

niente da fare non va.. :frowning:

come hai provato?hai dato tensione al pin di lettura?

Madwriter:
come hai provato?hai dato tensione al pin di lettura?

si dandogli e togliendo i 5 volt all ingresso del piedino 6 della scheda...non succedeva nulla

t-rex:

Madwriter:
come hai provato?hai dato tensione al pin di lettura?

si dandogli e togliendo i 5 volt all ingresso del piedino 6 della scheda...non succedeva nulla

puoi fare delle prove live,ovvero ti scrivo del codice e vediamo se va al momento?cosi facciamo dei test :slight_smile:
allora collega i 5 volt al pin 3 e carica questo sketch,cosi vediamo che leggiamo anche se forse ho capito quale il problema hai collegato la massa(gnd) dei 5v alla massa di arduino?

int analogPin = 3;     
                     
int val = 0;         

void setup()
{
  Serial.begin(9600);       
}

void loop()
{
  val = analogRead(analogPin);  
  Serial.println(val);             
}

pero' sul piedino 3 e collegato l input delle scheda firgelli .in pratica il collegamento e' quello che ho postato sulla pagina prima

t-rex:
pero' sul piedino 3 e collegato l input delle scheda firgelli .in pratica il collegamento e' quello che ho postato sulla pagina prima

int analogPin = 6;     
                     
int val = 0;         

void setup()
{
  Serial.begin(9600);       
}

void loop()
{
  val = analogRead(analogPin);  
  Serial.println(val);             
}

apri il serial monitor e dimmi cosa vedi,inoltre non hai risposto alla mia domanda hai collegato le masse in comune?

scusa no..ho preso le masse dall ali esterno

allora se aggiungo loa 5 volt sul piedino 6 mi da valori compresi 398 e 408 di continuo.se la tolgo non cambia nulla...

amacbr:
potresti usare un rele SPDT, quando arduino e' accesso il programma tira su un'uscita che eccita il rele e muove la piattaforma su, il finecorsa interrompe il segnale dal rele al motore (solo il segnale di PIATTAFORMA SU, altrimenti non lo puoi piu muovere giu). Quando spegni il pc arduino si spegne, la tensione dell'uscita digitale cade e il rele si diseccita chiudendo il contatto di PIATTAFORMA GIU, il fine corsa interrompe il segnale dal rele al motore (solo il segnale di PIATTAFORMA GIU, altrimenti non lo puoi piu muovere su).

no il problema e fare in modo che arduino rilevi su un ingresso i 5 volt presi da un usb a attivare il tutto associato alla scheda firgelli perche li su ci sono tutti i controlli del servo.e viceversa.su questa schedafirgelli c'e un controllo apposta per essere associato a schede tipo arduino...per il rele' se hai idee come fare sono bene accette

sicuro di aver collegato i 5v ad arduino e la gnd dei 5v ai gnd di arduino?(sarebbe il cavo nero della batteria al gnd di arduino)

Madwriter:
sicuro di aver collegato i 5v ad arduino e la gnd dei 5v ai gnd di arduino?(sarebbe il cavo nero della batteria al gnd di arduino)

si si

sul sito di modding dove sono iscritto mi hann consigliato questo sketch..
lo scketch andrebbe pure bene...nel senso che ....quando metto i 5 volts sul piedino 4 il servoattuatore va nella posizione di elevatore alzato quindi pistone giu
pero' quando invece la tolgo (i 5 volt dal piedino 4) questo comincia a fare un loop (su e giu) secondo voi l'errore dove potrebbe essere ?

#include <Servo.h>

Servo myservo;
#define PINCONTROLLO 4
int val;
void setup()
{
myservo.attach(3);
pinMode(PINCONTROLLO, INPUT);
}

// i am trying to me the actuator extend to a certain point and the retract to a certain point
void loop()
{
val = digitalRead(PINCONTROLLO);
if(val == LOW)//pin è spento = pc spento
{
PistoneDown();
}
else
{
PistoneUp();
}
delay(1000);//effettuo polling ogni secondo.

}

void PistoneDown()
{
myservo.write(110);
delay(2000);
myservo.write(80);

}

void PistoneUP()
{
myservo.write(80);
delay(2000);
myservo.write(110);
}

ragazzi vi posto il link del progetto a cui sto lavorando ,mi farebbe piacere se gli deste uno sguardo...

http://www.italiamodding.it/forum/mod-work-progress/3835-creation-rex-mod-15.html#post108118

Potrebbe anche darsi che tu non abbia messo una resistenza di pull-down sul pin per dare uno stato Low ben definito quando viene a mancare l'alimentazione del PC, ossia il segnale dei 5V. In questo caso il pin rileva fluttuazioni dello stato del pin che potrebbero portare a letture casuali.