Comunicación con microcontroladores usando NRF24L01

Prueba enlazar la libreria directamente en el proyecto (copia toda la libreria)
Renombra la libreria por las dudas.
Quizas en algun momento descargaste otra libreria o por algun motovo tienes otra, y quizas la inicializacion es diferente.

Sino crea una maquina virtual, y compila desde ahi...

Por otro lado, prueba otra cosa que use SPI, quizas tengas un problema con el puerto...
 
El NRF se alimenta con 3.3V y el Arduino con 5V y con esto:
Señal de Arduino a NRF -> puede volar una entrada (Arduino manda 5V y el NRF acepta hasta 3.3V)
Señal del NRF a Arduino -> puede no reconocer el nivel lógico real.

Hay que leer el datasheet del NRF para ver si sus entradas soportan 5V sin romperse y saber si el nivel 1 que entrega, el Arduino lo lee como 1...todo esto sin colocar los level-shifters tradicionales. Leiste el datasheet???

Edito:
Les dejo el datasheet y vean la página 7. No sé si el modulito para Arduino tiene level-shifters, pero el chip solo NO admite entradas superiores a 3.6V en los terminales de entrada...
Una punta del ovillo parece haber aparecido. Sin embargo no hay una sola web que utilice adaptadores para hacer funcionar esta pareja de placas.

Voy a buscar en la web al respecto. Con respecto al PDF supongo que dependerá del fabricante que como dicen los links de más arriba, son miles. La plaquita original tenia los pull ups de fabrica. Luego las fueron sacando y ahora depende de quien las fabrique. Dudo muchísimo que los chips que tengo sean originales. Y por eso dudo que se puedan conectar directo placa-arduino y a la vez no dudo nada. Flor de berenjenal en el me metiste con ese pdf Dr.Zoiberg (jajajja).
Pero ya es algo para probar por hardware.
gracias. Investigo al respecto, pruebo, y vuelvo por acá.
Prueba enlazar la libreria directamente en el proyecto (copia toda la libreria)
Renombra la libreria por las dudas.
Quizas en algun momento descargaste otra libreria o por algun motovo tienes otra, y quizas la inicializacion es diferente.

Sino crea una maquina virtual, y compila desde ahi...

Por otro lado, prueba otra cosa que use SPI, quizas tengas un problema con el puerto...
Excelente. Voy a probar esto primero. Creo que suena muy lógico tu planteo y la idea porque es razonable que la falla sea de soft más que de Hard. Pero solo porque ya reclableé miles de veces y según la web está bien asi como lo estoy cableando, eso me hace pensar que la falla es de soft más que de Hard. Si esto no funka tendré que ir por la adaptación de niveles que comenta Dr.Zoiberg.
Gracias!!
 
Cuando yo armaba proyectos con el nrf24l01 en protoboard, me tomaba el trabajo de revisar con tester CONTINUIDAD entre las patas de los componentes y la fila de conectores a las cuales iban insertadas. Revisa eso por si las dudas. No te confíes en tu protoboard, los conectores se abren por el uso
 
"Bueno, vuelvo por acá...ya probé todo.
Soldé una placa con cables. Verifique 5 o 10 veces. Esta todo OK. Verifiqué continuidad y niveles de tensión con tester obviamente. Probé poner el electrolítico de hasta 47uf en el placa. Agregué una resistencia de 10K en el MISO y nada. Y esto es lo peor: cuando desconecto el MISO y lo toco con la mano aparece un mensaje de transmisión OK. Usé el sketch GettingStarted de ejemplo de la librería. Pero no conforme retiré la placa nrf24L01 del zócalo que le puse (para cambiar de placas por si alguna moría, probé 4 placas) y aparecen mensajes de transmisión OK. Como va a estar OK una transmisión si no está el transmisor?
Estoy podrido, no quiero seguir perdiendo el tiempo con esto. Solo quería transmitir un par de caracteres a 150m para prender y apagar unas lámparas led mediante reles.


Ya no sé qué hacer, pero no quiero seguir intentando, que se pudran los arduinos y los nrf24l01 y toda su circuiteria y demás porquerías. Me harté.
Gracias y disculpen la catarsis, solo este grupo puede entender la frustración de hacer todo bien y que no funcione. Todo lo hice, hasta instale el IDE y las librerías en una segunda notebook para evitar archivos mal borrados, librerías mal instaladas, etc.etc.
Nunca me llevé bien con las RF, y esto parecía no ser un tema de RF porque ya todo estaba hecho y aun asi, falla. Ley de Murphy, si no te gusta no te metas, va a ser peor. Y lo es"
 
No te rindas, yo hice mi proyecto de grado con el nrf2401 y PIC 18f4550 y te puedo asegurar que funciona.

PERO
(porque siempre hay un pero)

pero debes tener mucha paciencia. Al principio armé todo y le alimenté. Y por supuesto que nada funcionó. Debes ir probando los bloques uno por uno, si tienes osciloscopio y analizador mucho mejor.

No puedo poner el link la página que me ayudó a realizar mi proyecto. Pero te puedo recomendar que coloques en el buscador y te saldrá un lugar donde dice que allí hay apuntes :sneaky:
 
"Bueno, vuelvo por acá...ya probé todo.
Soldé una placa con cables. Verifique 5 o 10 veces. Esta todo OK. Verifiqué continuidad y niveles de tensión con tester obviamente. Probé poner el electrolítico de hasta 47uf en el placa. Agregué una resistencia de 10K en el MISO y nada. Y esto es lo peor: cuando desconecto el MISO y lo toco con la mano aparece un mensaje de transmisión OK. Usé el sketch GettingStarted de ejemplo de la librería. Pero no conforme retiré la placa nrf24L01 del zócalo que le puse (para cambiar de placas por si alguna moría, probé 4 placas) y aparecen mensajes de transmisión OK. Como va a estar OK una transmisión si no está el transmisor?
Estoy podrido, no quiero seguir perdiendo el tiempo con esto. Solo quería transmitir un par de caracteres a 150m para prender y apagar unas lámparas led mediante reles.


Ya no sé qué hacer, pero no quiero seguir intentando, que se pudran los arduinos y los nrf24l01 y toda su circuiteria y demás porquerías. Me harté.
Gracias y disculpen la catarsis, solo este grupo puede entender la frustración de hacer todo bien y que no funcione. Todo lo hice, hasta instale el IDE y las librerías en una segunda notebook para evitar archivos mal borrados, librerías mal instaladas, etc.etc.
Nunca me llevé bien con las RF, y esto parecía no ser un tema de RF porque ya todo estaba hecho y aun asi, falla. Ley de Murphy, si no te gusta no te metas, va a ser peor. Y lo es"
¿ Ha leído usted antes, las 40 páginas del datasheet en ingles y las ha entendido ?
Aqui abajo las tiene, ya puede empezar.
ver imagen aqui

En lo personal, detesto las rutinas escritas por terceros, donde desconozco el código interno, por eso, solo uso código en lenguaje Assembler escrito por mi.
Por lo tanto, jamas uso Arduino o lenguaje C, para no depender del error ajeno.
 
Última edición:
Unmonje: me leí la vida en Internet. Datasheet de todo el mundo. Chips truchos, fabricas fantasmas, conspiraciones, Fox Mulder me mostró que los aliens modificaron las inscripciones de los chips. Los hay originales y truchos. Los que tienen el puntito y el cuadradito. Fabricas chinas, alemanas y finlandesas. Que etiene lógica negada y que no la tiene, que hay un error en la librería y que no le pasa a todos. Así que si, leí el p*** pdf y todo lo demás también.
Gracias D@rkbytes pero si no logro que funcione con un maldito arduino, programar a bajo nivel un chip es como no poder inflar una bici y querer fabricar una Ferrari con un alicate.

El patriarca no tengo osciloscopio pero gracias por la buena onda. Lamentablemente ya me rendí, de hecho ya puse varios avisos clasificados buscando alguien con más suerte para no tener que seguir perdiendo tiempo, quien te dice que no me llame un afortunado con un placa funcionando, después de todo, a todos les funciona de una. Hay 8500 videos armados en protoboard que trabajan así como así, y yo sigo sin lograr nada. Pero nada. Como dije, el fracaso también es una opción y acá está el ejemplo. Como diría un entrenador de fútbol, el otro equipo también juega. No está mal perder alguna vez. Eso no quiere decir que no moleste, claro.

Ya busqué ayuda por todos lados. No me funcionó, así que ahora voy por la única opción que me queda, comprarlo hecho y que el gustito de hacerlo uno mismo lo tenga el vendedor, no les parece?

Saludos a todos.

Si muchachos djt3 y d@rkbytes, es para asombrarse. Creo que el mensaje de unmonje apunta a los niveles de tensión con los que trabaja el nrf24l01, porque muchos dicen en la web que es el principal problema, otros dicen que no tiene nada que ver porque les funciona sin manejar dichos niveles. Yo probé todo. Usé tres nano y 4 placas. Me queda probar con UNOs y ver si cambia, pero, porqué debería?
 
Sucede que varias tarjetas que venden para usar con Arduino incorporan un regulador de 3V3
Si usas el módulo tal cual, lo debes de poner si usarás un voltaje de alimentación más elevado.
NRF24L01 Key Features.jpg
Si no quieres probar otra cosa que funciona, no podrás saber qué estás haciendo mal.
Nunca había visto semejante cosa acerca de extraterrestres manipulando chips.
Bueno, sin mencionar los vídeos conspirativos de youtube. 😄
A lo mejor tus módulos ya no sirven porque los dañaste por x razón y por eso es que no logras hacerlos funcionar.
Mira bien esto, tu caso es único, si estos módulos no funcionaran, estarían 100% comentados y desplazados del mercado.
Aparte, si no funcionaran, yo también hubiera buscado ayuda y no hubiera publicado el post.
Pero de que funcionan, funcionan, y de hecho el sistema se sigue vendiendo.
Ya es obsoleto porque lo sustituí por un ESP32, algo con muchísimas y mejores prestaciones.
 
Unmonje: me leí la vida en Internet. Datasheet de todo el mundo. Chips truchos, fabricas fantasmas, conspiraciones, Fox Mulder me mostró que los aliens modificaron las inscripciones de los chips. Los hay originales y truchos. Los que tienen el puntito y el cuadradito. Fabricas chinas, alemanas y finlandesas. Que etiene lógica negada y que no la tiene, que hay un error en la librería y que no le pasa a todos. Así que si, leí el p*** pdf y todo lo demás también.
Gracias D@rkbytes pero si no logro que funcione con un maldito arduino, programar a bajo nivel un chip es como no poder inflar una bici y querer fabricar una Ferrari con un alicate.

El patriarca no tengo osciloscopio pero gracias por la buena onda. Lamentablemente ya me rendí, de hecho ya puse varios avisos clasificados buscando alguien con más suerte para no tener que seguir perdiendo tiempo, quien te dice que no me llame un afortunado con un placa funcionando, después de todo, a todos les funciona de una. Hay 8500 videos armados en protoboard que trabajan así como así, y yo sigo sin lograr nada. Pero nada. Como dije, el fracaso también es una opción y acá está el ejemplo. Como diría un entrenador de fútbol, el otro equipo también juega. No está mal perder alguna vez. Eso no quiere decir que no moleste, claro.

Ya busqué ayuda por todos lados. No me funcionó, así que ahora voy por la única opción que me queda, comprarlo hecho y que el gustito de hacerlo uno mismo lo tenga el vendedor, no les parece?

Saludos a todos.

Si muchachos djt3 y d@rkbytes, es para asombrarse. Creo que el mensaje de unmonje apunta a los niveles de tensión con los que trabaja el nrf24l01, porque muchos dicen en la web que es el principal problema, otros dicen que no tiene nada que ver porque les funciona sin manejar dichos niveles. Yo probé todo. Usé tres nano y 4 placas. Me queda probar con UNOs y ver si cambia, pero, porqué debería?
426ivan dijo : " programar a bajo nivel un chip es como no poder inflar una bici y querer fabricar una Ferrari con un alicate." :unsure: :rolleyes: ;)
Esto, no es un Ferrari , es casi una BICI y he escrito sistema operativos completos en Assembler, pero lleva mucho tiempo. Evidentemente es un tema para verlo desde dentro y por ahí , no es para usted, como acaba de suponer. Saludos :cool:
 
Cuando armé mi primer intento, lo hice con el 16f877. Me tardé 1 día revisando el código, cableando en el proto como práctica de estudiante. Midiendo y testeando TODO. Puse en práctica todos los consejos que leí en varios lugares y los que ya sabía de mi propia experiencia. Leí el datasheet. Hice todo lo que se podía hacer. Finalmente al alimentar el circuito y darle a on, NO FUNCIONÓ nunca :cry:

Me rendí? no.

Lo que hice fue cambiar al 18f4550 porque alguien decía que funcionaba con ese. Me tardé 2 días adaptando el código, cableando en el proto como práctica de estudiante. Midiendo y testeando TODO. Puse en práctica todos los consejos que leí en varios lugares y busqué más sitios que ofrecían más consejos. Leí de nuevo el datasheet. Hice todo lo que se podía hacer. Finalmente al alimentar el circuito y darle a on, EEEXITO...
 
Qué cosas. Yo compré lotes de estos módulos y ni uno salió defectuoso.
Con la librería expuesta y sus mejoras, realicé varios sistemas y todos funcionan muy bien.
Se supone que con Arduino todo debe funcionar. Digo esto porque quien sube algo para esta plataforma ya lo probó y hasta hace esquemas wiring en protoboards con fotos. O sea, para que los principiantes lo entiendan.
 
Unmonje: me leí la vida en Internet. Datasheet de todo el mundo. Chips truchos, fabricas fantasmas, conspiraciones, Fox Mulder me mostró que los aliens modificaron las inscripciones de los chips. Los hay originales y truchos. Los que tienen el puntito y el cuadradito. Fabricas chinas, alemanas y finlandesas. Que etiene lógica negada y que no la tiene, que hay un error en la librería y que no le pasa a todos. Así que si, leí el p*** pdf y todo lo demás también.
Gracias D@rkbytes pero si no logro que funcione con un maldito arduino, programar a bajo nivel un chip es como no poder inflar una bici y querer fabricar una Ferrari con un alicate.

El patriarca no tengo osciloscopio pero gracias por la buena onda. Lamentablemente ya me rendí, de hecho ya puse varios avisos clasificados buscando alguien con más suerte para no tener que seguir perdiendo tiempo, quien te dice que no me llame un afortunado con un placa funcionando, después de todo, a todos les funciona de una. Hay 8500 videos armados en protoboard que trabajan así como así, y yo sigo sin lograr nada. Pero nada. Como dije, el fracaso también es una opción y acá está el ejemplo. Como diría un entrenador de fútbol, el otro equipo también juega. No está mal perder alguna vez. Eso no quiere decir que no moleste, claro.

Ya busqué ayuda por todos lados. No me funcionó, así que ahora voy por la única opción que me queda, comprarlo hecho y que el gustito de hacerlo uno mismo lo tenga el vendedor, no les parece?

Saludos a todos.

Si muchachos djt3 y d@rkbytes, es para asombrarse. Creo que el mensaje de unmonje apunta a los niveles de tensión con los que trabaja el nrf24l01, porque muchos dicen en la web que es el principal problema, otros dicen que no tiene nada que ver porque les funciona sin manejar dichos niveles. Yo probé todo. Usé tres nano y 4 placas. Me queda probar con UNOs y ver si cambia, pero, porqué debería?
Cuando pregunto si leyó usted el datasheet de un chip, me refiero a bajarlo, imprimirlo y leerlo detalladamente durante semanas. Así se trabaja en serio.
 
Unmonje, si, llevo con esto desde noviembre. Lei todos los que encontré (no hay uno solo).
Hacen unos 10 años que no programo en assembler x86, unos 7 u 8 que no programo pics, asi que no es una cuestion de código, sino de que a todos les funciona en arduino y a mi no y la verdad no me quiero comparar con nadie, por eso El_patriarca no te rendirte porque tal vez no pasaste 4 meses luchando, o tal vez solo somos distintos. Yo aprendí que perdí mucho tiempo y no logré resolverlo. Respecto de las librerías si a todos les funcionan, soy una excepción? Igual como última prueba voy a cambiar los nano por unos. Quizás los chinos que me vendieron no son fiables. (Los uno también serán chino supongo)

D@rkbytes si puse reguladores, si medi niveles, hice todo en placa, solo me falta usar un osciloscopio que no tengo. Pero me gustó eso de los ESP32. Quizás con algo más avanzado esto finalmente funcione. El problema es que no tienen el alcance que dicen tener los Nrf24l01 y yo necesito 150m. Quizas es asi, estos bichos están muertos, los 4 y los nanos también.

Gracias igual a todos por sus opiniones y sugerencias.
 
Yo aprendí que perdí mucho tiempo y no logré resolverlo.
Eso no es aprendizaje, es una pérdida de tiempo con algo muy comentado y que de verdad funciona.
El aprendizaje se da una vez resuelto el problema.
no programo pics, así que no es una cuestion de código, sino de que a todos les funciona en arduino y a mi no.
Si en Arduino funciona, es más probable que en un PIC también.
Programar es muy bonito, conocer lenguajes de programación también, y mira...
Si se trata de probar, no necesitas más que compilar el ejemplo sin tocar nada de código.
Pero resulta que ni eso necesitas hacer, en el ejemplo que subí se encuentran los archivos compilados .hex
Esos los puedes usar, obviamente para el PIC requerido, y si no pues ya modificas el código.

En fin, te gusta hacerlo fácil y con Arduino, siguiendo proyectos de sabe quien y que tal vez no sirvan.
Esto lo dudo, pero puede pasar.
Quieres hasta comprar algo ya hecho y funcionando, pero ¿crees que con eso aprenderás?
Lo que te darán es algo ya probado, que hasta tal vez tú ya probaste.
Si tus módulos no sirven vas a quedar igual y hasta le reclamarás a quien te vendió el programa.
No creo que se trate de eso, y me parece exclusivo tu caso.
Yo ya hubiera comprado otros módulos, estudiar más y tener mucho cuidado con los voltajes de operación.
 
Agradezco tu opinión, pero habiendo pasado tantas pruebas la verdad que aprender por aprender hubiera elegido un leguanje más de programación, acá realmente no estoy aprendiendo nada y tampoco me parece interesante aprender esto.
Que alguien me lo venda no significa ningún deshonor por cierto. Mi notebook la compré, igual el tester y el auto .podría haberlos hecho yo? Pues claro, cualquiera podría. Pregúntenle a Hyundai (apoyo imperial o no). Quizás habría una cuestión estética de tiempo, esfuerzo y costos de por medio, pero se podría. Un usuario de este foro esta haciendo una PC de cero y el no considera que sea imposible. PERO INSISTO a esta altura ya perdí el interés en aprender y si alguien me lo vende hecho, no soft sino la placa funcioando me doy por satisfecho. De todas maneras quizás como decis, las placas están muertas. Esa será mi última prueba.
Y un dato curioso: nadie responde el clasificado...me llama mucho la atención o el desinterés o la poca llegada del aviso, jajaja
 
Voy a empezar a cacharrear con los módulos NRF24L01 controlados por un Arduino.

De momento he hecho estas pruebas:

Una vez familiarizado con el NRF24L01 he hecho un transmisor de radio control para usos generales con los clásicos mandos: 2 joystick, 2 potenciómetros, 4 interruptores y 2 pulsadores.

Hola, me paso lo mismo y sinceramente estaba pensando que quizás el problema eran los módulos (tengo 5, de los cuales dos son con antena). Compre los módulos adaptadores, y uno me vino fallado (calienta el regulador). Probé varias librerias, leí la hoja de datos, seguí ejemplos, arme mis propias conclusiones y aun sigo sin respuesta. voy a seguir las recomendaciones de tu segundo video y voy a ver si puedo revivir esos tranceptores. De ante mano, gracias por tu aporte (y)
 
Hola, me paso lo mismo y sinceramente estaba pensando que quizás el problema eran los módulos (tengo 5, de los cuales dos son con antena). Compre los módulos adaptadores, y uno me vino fallado (calienta el regulador). Probé varias librerias, leí la hoja de datos, seguí ejemplos, arme mis propias conclusiones y aun sigo sin respuesta. voy a seguir las recomendaciones de tu segundo video y voy a ver si puedo revivir esos tranceptores. De ante mano, gracias por tu aporte (y)
Funcionó!
Hola, me paso lo mismo y sinceramente estaba pensando que quizás el problema eran los módulos (tengo 5, de los cuales dos son con antena). Compre los módulos adaptadores, y uno me vino fallado (calienta el regulador). Probé varias librerias, leí la hoja de datos, seguí ejemplos, arme mis propias conclusiones y aun sigo sin respuesta. voy a seguir las recomendaciones de tu segundo video y voy a ver si puedo revivir esos tranceptores. De ante mano, gracias por tu aporte (y)
Funcionó!!!
con tu ejemplo, me estoy dando cuenta que faltaban varias cosas. Por un lado la declaración de las variables que se envía en el paquete de datos, y por otro, la configuración del dispositivo.
Excelente aporte, muchas gracias... con esta base, ahora voy a ver si puedo probar de armar otro proyecto (node red/mesh)...
 
Atrás
Arriba