Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Servo.h>
- Servo SG;
- Servo DS;
- char toDo;
- // @ -> su
- // # -> giù
- // * -> destra
- // + -> sinistra
- void setup() {
- Serial.begin(9600); // Start serial communication at 9600 bps
- while(Serial.read()!='@'){
- Serial.write("#"); // trova automaticamente la porta (snellito)
- }
- Serial.write("\n\n Online..");
- delay(1000);
- SG.attach(10,544,2400);
- DS.attach(11,544,2400);
- SG.write(90);
- DS.write(90);
- delay(3.11*180);
- Serial.flush();
- }
- void loop() {
- if(Serial.available()>0){
- toDo=Serial.read();
- if(toDo=='@'){
- SG.write(SG.read()+10); //10 è puramente indicativo, non ho arduini per testare
- } // probabilmente andrà modificato fino a trovare quel valore
- else if(toDo=='#'){ //per il quale i servo si muovono in sincronia con quello che invia
- SG.write(SG.read()-10); // il processing. Altrimenti, cosa che preferisco, conviene farsi
- } //una funzione per calibrare gli spostamenti e anticipare al pc
- else if(toDo=='*'){ //che dovrà smettere di inviare segnali perché è già arrivato.
- DS.write(DS.read()+10); //Altrimenti la lampada rimane fluttuante attorno al viso.
- }
- else if(toDo=='+'){
- DS.write(DS.read()-10); // in linea di massima funziona, è ciò che avevo fatto per l'allarme e funzionava bene,
- } // ma in questo caso i dati sulla porta sono molti di più e senza testare non so se
- } // ci sia qualcosa da modificare (ovviamente ci sarà qualcosa da modificare).
- delay(10);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement