+ Rispondi
Pagina 1 di 4 1 2 3 ... UltimaUltima
Risultati da 1 a 10 su 36
  1. #1

    Iscritto dal
    03/11/2011
    Messaggi
    73

    sketch arduino in avvio e spegnimento windows

    chiedo scusa ai moderatori se non e' la sezione giusta
    ragazzi mi serve una mano...io dovrei far partire uno sketch di arduino in avvio a windows e un altro alla chiusura di windows...come posso fare?
    grazie in anticipo...

  2. #2
    I'm all out of bubblegum
    Iscritto dal
    01/07/2011
    LocalitÓ
    R'lyeh
    Messaggi
    5,196
    Quindi hai un Arduino collegato al pc e, in avvio e in spegnimento vuoi fargli eseguire due sketch differenti?

  3. #3

    Iscritto dal
    13/12/2011
    LocalitÓ
    Salento!
    Messaggi
    6,849
    Quote Originariamente inviato da t-rex Visualizza il messaggio
    chiedo scusa ai moderatori se non e' la sezione giusta
    ragazzi mi serve una mano...io dovrei far partire uno sketch di arduino in avvio a windows e un altro alla chiusura di windows...come posso fare?
    grazie in anticipo...
    Lo sketch deve essere unico. Poi dai, iniziamo a chiamarlo per lo meno progetto.
    Hai due opzioni. O elettricamente o via software.
    Via software potresti inviare comandi seriali (puoi eseguire comandi sia in fase di boot ed in fase di shutdown sotto window )
    Elettricamente potresti attaccarti ad una qualche presa del pc( Seriale, parallela, usb etc che si spenga assieme al pc) e se la tensione passa da :
    0-> V_max hai l'accensione
    V_max -> 0 hai lo spegnimento.

    per rilevare lo stato usa questo:
    Arduino - PulseIn
    che se fai un ciclo per confrontare in continuazione impegni inutilmente cpu.

  4. #4

    Iscritto dal
    03/11/2011
    Messaggi
    73
    Intanto grazie mille.....come fare per entrambe le soluzioni?

  5. #5

    Iscritto dal
    13/12/2011
    LocalitÓ
    Salento!
    Messaggi
    6,849
    Quote Originariamente inviato da t-rex Visualizza il messaggio
    Intanto grazie mille.....come fare per entrambe le soluzioni?
    In che senso come fare?
    Per la via elettrica te l'ho scritto.
    Per la via software (credo pi¨ rischiosa) bisogna penare un po di pi¨ (maggiormente per intercettare spegnimento).

    Via elettrica colleghi un usb libera o una porta com / seriale ad un I/O dell'arduino (anche digitale). Dopo di che nel progetto metterai

    se pin_scelto = HIGH
    // fai quel che devi fare con pc acceso

    se pin_scelto = LOW
    // fai quel che devi fare con pc spento.

    Questa soluzione ti permette di gestire spegnimento anche nel caso salti la corrente al pc. Questa soluzione di basa sull'accensione DEL PC e non strettamente dell'avvio di window.

    Via software hai diverse possibilitÓ.
    Colleghi arduino con la seriale.
    Dopo di che in avvio a window metti un programmino che spedisca sulla seriale un messaggio, da arduino lo intercetti e fai quel che devi fare.
    Intercettare lo spegnimento risulta pi¨ complicato. Cambia da window xp a window Seven/Vista.
    La soluzione brutale pu˛ essere un servizio/programma in background che ogni tot tempo spedisca un messaggio via seriale. Quando l'arduino vede che tra un messaggio e l'altro sono passati pi¨ di tot s lo consideri spegnimento.

  6. #6

    Iscritto dal
    03/11/2011
    Messaggi
    73
    inizialmente gli sketch scritti erano questi
    #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 giu invece invertivo solo 110 con 80

    ma se volessi unire le due cose per dire ad arduino se rilevi 5 volt su un piedino X vai giu ,viceversa se non rilevi vai su...il tutto e' capire come scrivere il tutto..

  7. #7
    I'm all out of bubblegum
    Iscritto dal
    01/07/2011
    LocalitÓ
    R'lyeh
    Messaggi
    5,196
    Qualcosa del genere? Rileva il cambiamento di stato su un pin e agisce a seconda del suo stato attuale.

    codice:
    #include <Servo.h>
    
    Servo myservo;
    int previousStatus = 0;
    void setup()
    {
    	myservo.attach(3);
    	pinMode(7, INPUT);
    }
    
    void loop()
    {
    	int status = digitalRead(7);
    	
    	if (status != previousStatus) {
    		if (status == 1) {
    			myservo.write(80);
    			delay(2000);
    			myservo.write(110);
    		} else {
    			myservo.write(110);
    			delay(2000);
    			myservo.write(80);
    		}
    	}
    	previousStatus = status;
    }
    Altrimenti integri una libreria di event notification (figata, ne esistono anche per Arduino! ) e usi quella, es: http://code.google.com/p/ebl-arduino/
    Ultima modifica: 07-09-2012 alle 08:58, di GByTe

  8. #8

    Iscritto dal
    13/12/2011
    LocalitÓ
    Salento!
    Messaggi
    6,849
    Quote Originariamente inviato da t-rex Visualizza il messaggio
    inizialmente gli sketch scritti erano questi
    #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 giu invece invertivo solo 110 con 80

    ma se volessi unire le due cose per dire ad arduino se rilevi 5 volt su un piedino X vai giu ,viceversa se non rilevi vai su...il tutto e' capire come scrivere il tutto..
    codice:
    #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);     
    }
    E' una versione brutta, usa un polling per verificare e ogni ciclo invia comandi, bisognerebbe almeno verificare se inviare o no comando e verififcare posizione del pistone ma, dovrebbe andarti bene per farti capire cosa devi fare
    Non ho arduino sotto mano quindi testala. Se mi spieghi meglio quello che devi fare vediamo di trovare una soluzione.

    [ot] x Mainthink io chi di dovere, Ŕ possibile aggiungere qualche tato all'editor? per esempio il tasto CODE ? [/ot]
    Ultima modifica: 07-09-2012 alle 09:00, di xam8re

  9. #9

    Iscritto dal
    13/12/2011
    LocalitÓ
    Salento!
    Messaggi
    6,849
    Quote Originariamente inviato da GByTe Visualizza il messaggio
    Qualcosa del genere? Rileva il cambiamento di stato su un pin e agisce a seconda del suo stato attuale.

    [cut]...[/cut]
    Altrimenti integri una libreria di event notification (figata, ne esistono anche per Arduino! ) e usi quella, es: ebl-arduino - Event-Based Library for Arduino - Google Project Hosting
    MA CHE FIGATA!!!!!!!!!!!! Ed io che stavo impazzendo sullo sfuttare gli interrupt GRAZIE!!!!

  10. #10

    Iscritto dal
    03/11/2011
    Messaggi
    73
    si si prendi in giro tu hihihih...calcola che con arduino ho fatto accendere due led ..il top ottenuto da me ....


 
+ Rispondi
Pagina 1 di 4 1 2 3 ... UltimaUltima

Autorizzazioni

  • Non puoi iniziare nuove discussioni
  • Non puoi rispondere alle discussioni
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
Powered by vBulletin™ Version 4.1.5
Copyright © 2019 vBulletin Solutions, Inc. All rights reserved
SEO by vBSEO ©2011, Crawlability, Inc.
Fuso orario: UTC +1, sono le 21:52.