Enviar informaci贸n Serial de un arduino a otro maestro

:blush:

Hola, primero que nada este es mi segundo post, me ah servido de mucha ayuda toda la gente involucrada en este tipo de ayudas les comento mi situacion y nose si sea posible hacerlo.

Mi problema es el siguiente:

Manejo el Arduino Mega que tengo aprox 60 salidas o entradas digitales que las estoy utilizando para obtener datos digitales y realizar acciones con ellos, mi problema es el siguiente, en el proyecto que estoy realizando nececito 100 se帽ales aprox, es decir no puedo utilizar un arduino estube buscando en internet modulos de expansion pero nose si funcionen, lo que se me ocurrio es tener otro arduino y que el segundo arduino me envie la informaci贸n por puerto serial al arduino maestro y de ahi hacer toda la programacion ya que estoy leyendo los datos con visual basic.

Alguien me puede decir si esto es posible ? en pocas palabras quiero Tener un Arduino que reciba informacion y se la envie a Visual Basic ( ESO YA LO TENGO) pero ahora quiero que otro arduino me envie la informacion al arduino maestro. se puede? 驴 Es posible ? , gracias

FernandoValdez:
en pocas palabras quiero Tener un Arduino que reciba informacion y se la envie a Visual Basic ( ESO YA LO TENGO) pero ahora quiero que otro arduino me envie la informacion al arduino maestro. se puede? 驴 Es posible ?

Por supuesto.

Rep铆teme una vez m谩s: 驴qu茅 informaci贸n es la que va a transmitirle?

Lucario muchas gracias por contestar quiero enviar codigos ASCI es decir Palabras por el puerto serie por ejemplo esto
"A1OK"
"A2OK"
"A3OFF"

Osea quiero enviar esta informaci贸n "A1OK" ETC... por el puerto serie o nose que tipo de comunicaci贸n sea a otro arduino y que lo pueda leer para yo programar ciertas acciones con esas palabras , si me entiendo ?

Mi problema es que ocupo 100 entradas y el arduino solo tiene 50 y cada entrada a mi me imprime cierto codigo ASCI que lo utilizo para leerlo en visual entonces mi idea era juntar varios arduinos y que todos le envien estos codigos a uno maestro y asi no batallas con los inputs, masomenos me entiendo ?

Si el tiempo que tarda entre el env铆o y asimilaci贸n no importara, lo puedes hacer as铆.

Si la actualizaci贸n de dichos datos debe ser inmediata, entonces sugerir铆a enviar el estado de un grupo de pines en un 煤nico byte.

Estados como "A1OK" tambi茅n pueden comprimirse en un 煤nico byte. Esto agilizar铆a dr谩sticamente la ejecuci贸n del programa, sin embargo lo hace un tanto m谩s dif铆cil de comprender para el principiante.

Me puedes dar ejemplo de un codigo donde este un master y un esclado enviandole informacion asi yo podria agregar las demas cosas, te recuerdo que soy principiante aqui tengo un Arduino Mega que quiero ponerlo como esclavo ya que en este tengo conectado todas las entradas digitales y cuando se me activa una me genera una palabra como "a1ok" etc.... y tengo otro igual que es el que quiero que reciba esa misma informacion osea como paso todo lo que me arroja mi arduino a mi segundo arduino que es el que quiero utilizar de master, ya que no me alcanzan las enntradas , al igual te pueedo pasar mi programacion para que te des una idea si me explico?

Desde otro punto de vista, 驴no ser谩 que unos multiplexores pueden ayudar en este caso?

FernandoValdez:
al igual te pueedo pasar mi programacion para que te des una idea si me explico?

Por favor.

De modo general, te puedo decir que eso es b谩sicamente jugar con available, print y read.
Lo que s铆 quisiera saber es si el flujo de datos es condicionado (accionado mediante cierto evento) o constante.

ener:
Desde otro punto de vista, 驴no ser谩 que unos multiplexores pueden ayudar en este caso?

FernandoValdez:
estube buscando en internet modulos de expansion pero nose si funcionen

驴Esto responde a la pregunta?

Hola ya logre comunicar dos arduinos uno como slave y otro como maestro utilizando este tutorial : I2C - Electroensaimada DIY, Raspberry Pi, Arduino ...

pero en ese tutorial solo envian numeros , yo quiero enviar codigo ASSCII osea "A1OK" osea palabras esto es posible?

disculpen mi ignorancia como agrego mi c贸digo ? no encuentro esa regla en el foro.

Empezando por tu consulta. Necesitas leer 100 cosas con un Arduino que como mucho lee 54 (Mega/DUE) pero nada impide leer 100.

Ahora claro si ya lo tienes resuelto con dos. Nada que decir pero bien podrias haber usado muchas alternativas.
Todas exigen m贸dulos externos claro.

estube buscando en internet modulos de expansion pero nose si funcionen

Quien te dijo que no funcionan?
Todo funciona!!!
Tienes m贸dulos I2C, modulos SPI, y m贸dulos que solo usan pines digitales o sea multiplicando una entrada en muchas pero todo depende con el grado de velocidad que quieres leer las 100 entradas.

Me puedes ayudar a multiplicar mis entradas?

Pregunta: quieres comprar m贸dulos ya hechos o los haras tu?

Alternativas: o usas

  1. modulos I2C como el MCP23017 que te da 16 entradas/salidas . Estos chips tienen m煤ltiples ventajas. Se pueden poner en cascada, o sea no ocupan mas pines (solo A4 y A5) y pueden darte una interrupci贸n cuando se presiona una entrada y solo ir谩s a leer la presionada. El tema es analizar que hacer si son varias.

  2. integrados 74HC165. Busca arduino 74hc165 y ver谩s de que hablo. Luego click en im谩genes para ver esquemas. Tambi茅n solo usa 3 pines y se expande a raz贸n de 8 entradas por chip. Necesitaras 13 para 100 entradas pero no tiene l铆mite.

  3. CD4051 o sus variantes para multiplicar pines. Cada integrado luego de decodificado te da 8 entradas.
    Necesitas 3 para indicar que entrada estas viendo.
    Imagina una gran llave selectora. Tu le dices quiero ver la posici贸n 0 y ver谩s esa posicion, quiero ver la 7 y sera tu posici贸n 8.
    Si eso lo multiplicas por 100/8 = 12.5 o sea 13 pines tienes 8 x 13 = 104 entradas usando solo 13 entradas digitales mas 3 de decodificacion.
    Tus 13 entradas veran las posicion 0 de las 13 llaves analogicas/digitales y cada vez que vayas cambiando la llave iras barriendo

Ac谩 puedes leer algo para entender mejor toda la idea link