infrarossi+ servomotore

salve a tutti, nonostante le numerose ricerche sul web e la visualizzazione di moltissimi video non sono riuscito a trovare un listato per il funzionamento di un servo motore tramite infrarossi. il mio progetto è quello di far funzionare un servo motore, che sarà montato su un cancello e tramite infrarossi dovrei riuscire ad aprirlo di circa 90°. avete un listato per cio?ed uno schema di inizio? grazie mille :o

Hai cercato male

basta digitare su Google " servo infrared control " e gia' i primi due link sono quello che cercavi

ho gia provato quei link, ma non ha funzionato..per questo mi sono rivolto a voi

Cosa c’e’ che non va’ ?
Prendiamo ad esempio il primo link instructables.com
Dice:
Dopo aver collegato il sensore IR ( un TSOPxxxx ) ad Arduino, ricavare il codice dei tasti, con questo sketch

#include <IRremote.h>

int RECV_PIN = 11; // Pin a cui e' collegato il TSOP
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}

fatto questo, c’e’ da caricare su Arduino lo sketch da usare
Dove su Value2 e Value1 metti i codici dei tasti che hai letto precedentemente

#include <Servo.h>
#include <IRremote.h>

unsigned long Value2 = 0xXXXXXX; // where XXXXXXXX is on our your remote's values. We will call this Value 1
unsigned long Value1 = 0xXXXXXX; // where XXXXXXXX is another button on your remote

int RECV_PIN = 11; // Pin Sensore IR
IRrecv irrecv(RECV_PIN);
decode_results results;
 
Servo servo1;

// the setup routine runs once when you press reset:
void setup() {              

Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver

  // initialize the digital pin as an output.
servo1.attach(10); // attack servo to digital pin 10
}
// the loop routine runs over and over again forever:
void loop() {

if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
if(results.value == Value1) {
servo1.write(90);
}
if(results.value == Value2) {
servo1.write(0);
}
}

Inoltre, prima di provare a mettere le due cose insieme, hai provato ad usare solo il telecomando con sketch minimo (va bene il primo postato da @Brunello per conoscere i codici del telecomando) e poi il servo sempre con un codice minimo ?

sisi nid69ita, ovviamente avevo già preso il codice dei tasti da utilizzare.
comunque grazie mille brunello, ora funziona però ho un problema, ho modificato il codice inserendo dei parametri per il mio servo motore(allego il file)
il ciclo di apertura funziona bene e lo effettua due volte(dovrebbe effettuarlo solo una) mentre il ritorno non lo effettua.
sapresti aiutarmi? non so se ho inserito il file in modo corretto, grazie comunque

NON_TOCCARE_CANCELLO_INIZIO.ino (1.02 KB)

fai casino ( tra le altre cose ) con le graffe

#include <Servo.h>
#include <IRremote.h>

int pos = 45;
int stop;
unsigned long Value2 = 0xFFA25D; // where XXXXXXXX is on our your remote's values. We will call this Value 1
unsigned long Value1 = 0xFFE21D; 

int RECV_PIN = 11; // Pin Sensore IR
IRrecv irrecv(RECV_PIN);
decode_results results;
 
Servo myservo;

// the setup routine runs once when you press reset:
void setup() {              

Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver

  // initialize the digital pin as an output.
myservo.attach(10); // attack servo to digital pin 10
}
// the loop routine runs over and over again forever:
void loop() {

if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
if(results.value == Value1 && pos == 45) {
  for(pos =45; pos < 150; pos += 1)
  {
    myservo.write(pos);
    delay(50);
    //stop;
}
 Serial.println(pos);
}
if(results.value == Value2 && pos == 150 ) {
 for(pos = 150; pos >45 ; pos -= 1)
  {
    myservo.write(pos);
    delay(50);
  }
  Serial.println(pos);
}
results.value = 0 ;
}

grazie infinite :)

Se volessi implementare il portone tramite l'utilizzo di una fotoresistenze in modo che quando rileva un'ombra fa fermare il cancello come posso fare?

Potete aiutarmi?