Estoy buscando ayuda a ver quien me puede explicar como conectar dos potenciometros para que cada potenciometro encienda un led, osea una conexión serial entre dos Arduinos uno tendría dos potenciometros y otro Arduino tendría dos led, , se entiende que uno seria Maestro y otro esclavo, cuando muevo un potenciometro se enciende un led y si muevo el otro se encendería el otro,Necesito el código que iría en el emisor y el código que iría en el receptor gracias de antemano
Yo solo te puedo decir, que en los valores a enviar por serial, antes de cada valor, debes poner una cabecera que identifique de que potenciometro se trata, y un final que identifique que se han acabado los datos a enviar. Es decir, si el potenciometro A esta dando un valor de, por ejemplo 187 y el B de 75, yo te aconsejo que envies los datos asi:
IA187AFIB075BF
O sea, para el A:
IA187AF Donde la cabecera es IA y el final es AF
Para el B:
IB075BF Lo mismo, pero con B.
Fijate que he añadido el 0 al 75. Por mantener siempre la misma longitud de linea, yo añadiria 1 cero si esta entre 10 y 99 y dos ceros su es menor de 10.
Ahora, a trabajar en el código.
Porque hablas de maestro esclavo?
Una simple comunicación serie sirve.
Pruebalo con el monitor serie usando un ejemplo como dimmer.ino en los ejemplos de Comunicaciones
Justamente aprovecharía las variaciones enviadas para cambiar el brillo.
Sigue los criterios de carmelo y con este ejemplo usando un arduino y el monitor serie resuelves el lado de los LEDs. El otro arduino es mas facil.
Leer un potenciómetro esta en todos lados, y sol envias su datos a sabiendas que su brillo solo varía entre 0 y 255 pero que lo que leas con el AD será entre 0 y 1023. Asi que usa map para adaptarlos y luego lo envias por el puerto serie al 2do arduino (el de los leds).
Acotaciones sobre tu título:
Por ultimo; Edita ese título que va contra las normas del foro.
Ese título no ilustra tu problema y aprende a ser paciente y a esperar que llegue la ayuda, demore lo que demore.
Somos cientos de personas la que integramos esta comunidad siempre alguien podrá ayudarte y con tiempo lo haremos los que mas responden.
Disculpa es que soy muy impaciente es cierto, y ademas al no entender bien como los que ya saben , la impaciencia se hace aún mayor, solo busco un unas lineas de código que la ilustren no una explicación, por que no voy a saber contestar, si trabajo con un ejemplo, puedo ver e interpretar su sentido y de esa manera luego puedo preguntar con algo propiedad
No lo tomes a mal pero esto es lo mejor para ti
Clases de Arduino GRATIS desde 0 hechas por mi (Clases desde la 1 a la 7)
Clases de Arduino GRATIS desde 0 hechas por mi #Clases desde la 8 en adelante
No lo tomo a mal al contrario es constructivo y necesito aprender, pero tampoco es tan difícil entenderme, solo pido el código de ejemplo si alguien se ofrece a subirlo lo agradecería
gracias por tus consejos
No puedes encontrar esto IDE => Ejemplos +> comunicaciones => dimmer.ino
El otro es mas fácil
int sensorPin = A0; // select the input pin for the potentiometer
int sensorValue = 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// read the value from the sensor:
sensorValue = map(analogRead(sensorPin), 0, 1023, 0, 255);
Serial.prinln(sensorValue); // envia datos entre 0 y 255
}
Dos puntos de arranque.
Este código que te paso, envia por serie 0 a 255 de un potenciómetro. Tienes que leer el 2do.
El código dimmer.ino es para leer lo que es enviado por este Arduino.
Y luego usa analoWrite(pin, dato_leido_por_serie_segun_carmeloco);
Hola surbyte, de verdad agradezco todo el esfuerzo que haces por ayudarme y ayudar a los demás, el código que me envías más el ejemplo, lo entiendo, de echo yo tengo un código donde envío la señal analógica de un potenciometro a otro arduino y me responde perfecto , el led enciende según le llegan los datos de mi potenciometro,, es igual que el código que has subido, pero vuelvo a insistir, este ejemplo solo maneja un potenciometro, yo lo que no se hacer es implementar el código para dos potenciometros, no se si me explico, necesito el ejemplo completo enviando señales con dos potenciometros uno para cada led,
Puedes subirme por favor el ejemplo con el trocito que tendría que añadir para usar dos potenciometros
gracias de ante mano , me salvarías y tu ala vez descansaría de una persona tan pesá como yo ejej
Este es un código que tengo para 3 potenciometros, pero no va, no se por que motivo echale un vistazo y dime que ves
código para transmisor TX:
int pote1 = A0;
int pote2 = A1;
int pote3 = A2;
void setup(){
Serial.begin(9600); //Comunicacion serial
}
void loop(){
Serial.println(A0/4); //lee el pote, escribe por el puerto serial
Serial.println(A1/4);
Serial.println(A2/4);
}
Código para Receptor RX:
int R = 3;
int G = 5;
int B = 6;
int Rval, Gval, Bval = 0;
void setup(){
Serial.begin(9600); //Comunicacion serial
pinMode(R, OUTPUT); //Pone el pin en modo de salida
pinMode(G, OUTPUT);
pinMode(B, OUTPUT);
}
void loop(){
if(Serial.available() > 0 ){ //si hay algo en el puerto serial
Rval = Serial.parseInt(); //lee el primer entero que llega
Gval = Serial.parseInt();
Bval = Serial.parseInt();
analogWrite(R, Rval); //escribe el dato en el pin Análogo
analogWrite(G, Gval);
analogWrite(B, Bval);
}
}
tendo todo perfectamente conectado cada código en su respectivo arduino, pero hay algo que no va, es como si no enviara los datos fragmentados , como si no recibiera la señal pwm
lo he probado con un led RGB y también con leds independientes, dime que ves tu
Resulta que te pongo el ejemplo para un potenciometro y me dices que lo tienes pero no sabes agregar otro?
Y has hido a documentación? Leiste algo de arduino?
//Las definiciones para el pote 1
int sensorPin1 = A0; // select the input pin for the potentiometer
byte sensorValue1;
// En el loop como leo el potenciometro 1
sensorValue1 = map(analogRead(sensorPin1), 0, 1023, 0, 255);
Te destaco el potenciometro 1
Dime que te parece que debes hacer para agregar un potenciómetro 2
No te lo voy a decir, no porque sea malo, sino porque se que puedes hacerlo, asi que intenta pensarlo por tu cuenta.
Si no sabes como, investiga como se llaman los entradas analógicas del Arduino UNO o del que uses y cuántas tiene
//Las definiciones para el pote 1
int sensorPin1 = A0;
int sensorPin2 = A1
byte sensorValue1, sensorValue2;
// En el loop como leo el potenciometro 1
sensorValue1 = map(analogRead(sensorPin1), 0, 1023, 0, 255);
sensorValue2 = map(analogRead(sensorPin2), 0, 1023, 0, 255);
es asi? como hay que hacerlo? me estas poniendo a prueba?, por que creo que es más fácil que me lo digas, si estás viendo que no tengo idea de como hacerlo, no estoy perdiendo el tiempo, le doy vueltas y vueltas y no consigo dar con la tecla, por que piensas que estoy preguntando tanto,? para molestar acaso?, estoy tratando de explicar a ustedes los expertos que llevo días buscando la solución y que no doy con ella, que no piensas decirme nada me pone en duda, que ayuda estoy recibiendo de vosotros? a cada persona que pregunto me dice lo mismo que es fácil, que no se que, que no se cuanto, pero nadie pone un ejemplo terminado.
gracias de nuevo esperare que alguien revele el misterio
perfecto. Asi es.
Si no te gusta mi forma de sugerir las cosas, espera a que otro te responda.
Si te pongo a prueba o no, es porque es tan fácil que esta delante tuyo la solución, pero como todos hoy quieren que le den las cosas servidas, tenemos esta charla. Porque yo no apruebo dar las cosas servidas. Pero eso va por mi. Hay mucha gente en este foro, cientos.. pero oh casualidad nadie mas respondió.
Si no sabes, vas a tutoriales en Doucmentación, clases de 1 a 7 y luego clases de 8 en adelante y aprenderás a hacer todo por tu cuenta.
Este es un foro de ayuda, lo dice claramente las Normas del foro que te invito a leer.
Yo te ayudé.
No es un foro en el que vengas y te hacemos la tarea, hablo en general, no en tu caso en particular.
Yo no se quién eres. Si eres alumna, si eres alguien que trabaja de esto, o que motivación te llevó a venir acá.
Pero cuando veo que la gente no se esfuerza no les regalo nada, porque todos dicen, busqué mucho.. pero no encontré la respuesta. Claro, los problemas son diferentes porque quien los plantea ya ha mirado mucho en Internet y sabe que encontrar y que no.
Finalmente, te parecerá bien o mal, pero te he ayudado a resolver el tema. Y lo hiciste tu misma.
Al final algo aprendiste con mi guía.
Para terminar o cuando lo des por terminado. Vuelve al primer post#1 y edita el título poniendo SOLUCIONADO.
SI no sabes cómo, de nuevo, ve a Normas del Foro y ahi dice como Editar un post.
Hola de nuevo veo que no eres tolerante, , pero bueno cada persona es como es, solo quería después de agradecerte por supuesto, decirte que no me has ayudado en nada solo has subido código que ya yo tenia, quizás e mi culpa que no me he explicado bien, pero creo que repetí varias veces que necesitaba saber como enviar o mejor como recibir la señal analógica de dos poenciometros, de echo he subido mi código cual creo más legible aún que el tuyo, para que lo examines, y ni siquieras me has hablado de lo que has visto o te he enviado, se ve que te es más fácil decir que me busque la vida
perfecto. Asi es.
Esto te respondí.
No se que quieres que haga o te responda?
Si todo lo que te respondo te cae mal, entonces muy simple, no respondo mas.
Hay muchos que pueden ayudarte sin recibir lo que estoy recibiendo gratuitamente de tu parte.
Suerte.
surbyte:
No lo tomes a mal pero esto es lo mejor para tiClases de Arduino GRATIS desde 0 hechas por mi
(Clases desde la 1 a la 7)
Clases de Arduino GRATIS desde 0 hechas por mi
#Clases desde la 8 en adelante
Perdón por invadir post sin venir a ayudar es solo que Surbyte, te los había pedido por privado porque no los había encontrado en documentación y ya que los veo acá aprovecho a llevarmelos y echarles un ojo.
Pd. Maprisa surb tiene razón el foro es para ayudar, no para arreglar los problemas de los demás tan fácil se te dan las herramientas para ayudarte con tu problema pero el resto es tuyo, debes tomar tu tiempo, sentarte frente al ordenador y buscar información sobre lo que necesites, solo así iras agarrando conocimientos.
Suerte
Lo siento pero estoy deseccionado, los foros están para preguntar y recibir ayuda, si alguien necesita un código el foro te dice como hacerlo, te lo proporciona, y nos ayudamos unos a otro , y no le decimos a cada persona que pregunta, que tiene que sentarse delante del ordenador a romperse la cabeza !!entonces para que esta este foro, si pides que te enseñen a introducir unas lineas que te faltan, y la respuesta es, !! tienes que hacerlo tu solo!!, esto lo más absurdo que he oído en un foro donde se supone que se comparte o explica según el conocimiento del usuario
MAPRISA:
Lo siento pero estoy deseccionado, los foros están para preguntar y recibir ayuda, si alguien necesita un código el foro te dice como hacerlo, te lo proporciona, y nos ayudamos unos a otro , y no le decimos a cada persona que pregunta, que tiene que sentarse delante del ordenador a romperse la cabeza !!entonces para que esta este foro, si pides que te enseñen a introducir unas lineas que te faltan, y la respuesta es, !! tienes que hacerlo tu solo!!, esto lo más absurdo que he oído en un foro donde se supone que se comparte o explica según el conocimiento del usuario
Para empezar es: DECEPCIONADO, me decepciona que no lo sepas escribir. :C
Ahora...
Estas muy mal si crees que para eso son los foros, y te lo explico con la siguiente analogía, supongo que eres alguien que está estudiando todavía la carrera y que recién vas empezando por la "complejidad" de tu problema, bueno si tu llegas con tu profesor y le dices que tienes un problema, lo que el hará es orientarte más no te dirá como solucionar el problema, porque la finalidad es que tu lo aprendas a hacer, más no por eso quiere decir que el profesor no te haya querido ayudar por no hacer TU TRABAJO. Bueno algo así es el foro y prueba de eso están todos los post que puedes buscar acá, si te dás cuenta a la gente que nada más viene y pide códigos no les hacemos caso o solo hacemos comentarios sarcásticos al respecto y esto es porque no es que ellos quieran ayuda, sino que ellos no quieren hacer nada! ahora bien, caso distinto es cuando la persona pone su código, un diagrama de como va armando su circuito, los tipos de materiales que esta usando y especifica bien en donde reside su problema, en esos casos es cuando apoyamos pues es ahí donde vemos que de verdad puede necesitar orientación más y a esos usuarios se les brinda ayuda porque en realidad ya han hecho algo, pero en tu caso, vas comentando el post un sin fin de veces solo porque no sabes hacer la lectura de 2 potenciometros. Ten en cuenta que si el tiempo que gastas quejandote de como te "decepcionamos" lo hubieses gastado en investigar en google tu duda, este post ya seria un "Solucionado" más, pero bueno al menos ya viste que quejarte no sirve, de ti depende si intentas algo o das por tirado lo que sea que estés haciendo.
Suerte
Hola, decirte que nadie es perfecto , que te decepcione que alguien se equivoque eso si que es decepcionante, yo en mi lugar hubiera reaccionado con un poco más de diplomacia , y no me hubiera provocado decepción un error insignificante cuando hay grandes personajes como políticos, banqueros, ejecutivos que cada vez que se equivocan repercute en muchas vidas inocentes y las hacen victimas de sus errores !!eso si que es decepcionante.
En cuanto a lo de aportar, ya subí mi código, y no le hicieron ningún caso, solo se limitaron ha decirme que tengo que aprender, no me cuentes historias de que solo se ayuda a los que suben un código por que ese es un motivo de que se está haciendo un esfuerzo.
Y por ultimo, ya he solucionado el problema, el cual me ha calentado menos la cabeza que todos los sermones que me habéis arrojado con vuestros conocimientos teóricos.
Sin más, agradecimiento por vuestra experiencia aplicada a este foro, donde creo que llegarán lejos los asiduos. Ah! se me olvidaba, el ejemplo del profesor no es muy pedagógico al menos en en este caso en particular..