Ejemplos de programación en B4X

D@rkbytes

Moderador
Inicio este tema de programación en B4X, omitiendo B4I ya que no me interesa iPhone.

Aquí iré subiendo varios ejemplos de programación en este entorno, que es muy bueno.
Prácticamente sustituye al entorno ARDUINO, pero en el lenguaje BASIC, muy similar a Visual Studio.
Así que programaremos por procesos y no por bucle, gracias al uso de FreeRTOS

Para aquellas personas que suelen programar en BASIC, este entorno les será muy amigable.
Podrán programar sus tarjetas ARDUINO y otras superiores a nivel de STM32, ESP8266, ESP32 y RaspberryPI (De este último no tengo información concisa)

Programar por procesos es muy interesante, ya que programarán como si se tratase de un CPU y no de un uC :)
Y bueno, este entorno también puede crear "Loops", varios si lo requieren. Al igual que varios Timers o Pseudo interrupciones.
Osea, nada se escapa en programación, pero este entorno lo hace más fácil al usar un RTOS. ;)

¿Qué necesito para programar una tarjeta ARDUINO o las mencionadas con B4R?
Descargar el entorno de desarrollo (IDE) que también es gratuito: Anywhere Software B4R Download

Bien, concluyo esta leve introducción con un ejemplo para escribir una pantalla LCD 20x4 con este entorno.
El ejemplo es para la tarjeta ARDUINO UNO (ATmega328P)

Continuará...
 

Adjuntos

  • ATmega328P LCD 20x4 Test.rar
    1.7 KB · Visitas: 15
  • ATmega328P Arduino & B4R PinOut.png
    ATmega328P Arduino & B4R PinOut.png
    237.4 KB · Visitas: 17

D@rkbytes

Moderador
Segundo ejemplo.
Se usará una pantalla LCD 20 x 4 pero ahora controlada por I2C con el clásico IC PCF8574
Con esto podremos usar la pantalla usando solo dos pines, que en total serán 4 (SDA, SCL, VCC y GND)

Continuará...
 

Adjuntos

  • LCD 20x4 I2C (PCF8574T) Test.zip
    1.6 KB · Visitas: 5
  • rLiquidCrystal_I2C.zip
    5.9 KB · Visitas: 2

D@rkbytes

Moderador
Tercer ejemplo:

Pantalla LCD 20 x 4 controlada por un ESP32 (ESP-WROOM-32) "¡Wow! Una maravilla. 😚"
Vamos por lo más básico, tener acceso a los GPIO y poder mostrar cierta información en pantalla.
Al rato veremos como usar este entorno con pantallas OLED, Touch, etc.
No incluyo el clásico Blink porque como que no va, las cosas funcionan sí o sí cuando se implementan bien. 😎
 

Adjuntos

  • ESP WROOM32 - LCD Test 002.zip
    1.1 KB · Visitas: 10
Lo encuentro bastante "intuitivo" de usar, lo descargue, instale y en poco minutos implemente una modificación al primer ejemplo para pasarlo a los materiales que tenia disponible a mano(Arduino Uno y LCD 16x2) y realice la simulación en Proteus para verificar que todo funciona según lo esperado antes de pasar a lo físico.

lin.JPG
Lino.jpg

Muy buen aporte D@rkbytes

Saludos.
 

Adjuntos

  • LCD16x2_Test.zip
    1.6 KB · Visitas: 5
Última edición:

D@rkbytes

Moderador
Lo encuentro bastante "intuitivo" de usar, lo descargué, instalé y en poco minutos implementé una modificación al primer ejemplo para pasarlo a los materiales que tenía disponibles a mano(Arduino Uno y LCD 16x2)
Qué bien. Ya habrás visto que programar en este entorno con BASIC es muy sencillo y a la vez amigable, ya que el entorno avisa previamente sobre errores de sintaxis, algo que ARDUINO no hace hasta verificar o compilar.
De hecho, este entorno por ser muy parecido Visual Studio, comprueba y guarda las definiciones y variables al tipeo, es decir que, no hay porque ir a buscar cómo declaramos una variable, pues al momento de hacer la referencia se muestra una lista con el orden para asignar.
Y así como pasa en VS, igualmente cambia lo escrito entre minúsculas y mayúsculas para evitar errores de sintaxis.

Este entorno de desarrollo es muy pero muy bueno, ya tengo años usándolo y me gusta porque ofrece características increíbles.
 
Evidentemente esta mucho mas trabajado el editor/compilador con funciones que el de Arduino no posee por el momento.

Tal vez no soy referencia de nada pero si un "geronte del siglo pasado le toma la mano sin tantos problemas imagina lo que un milenial" puede generar mediante esta herramienta.

Saludos.
 
Tengo que "descubrir" como agregar la librería que falta en el ejemplo del LCD con el expansor I2C(rLiquidCrystal_I2C) ya que no figura en el administrador de Librerías que incluye la instalacion "limpia" para compilar/cargar y probar dicho ejemplo.

Pensé que con solo agregarla a al carpeta "Libraries" presente en el B4R seria suficiente pero no es así.

Me falta un archivo "xml" que no esta entre lo descargado.
 
Última edición:
Ya lo resolví.

Hay que descargar la librería que adjunto, copiar la carpeta en "Libraries" de la instalación del B4R y colocar el archivo "xml" en la raíz de la misma.

Solo tengo que probar si funciona porque aparentemente hay varias librerías para el LCD mediante expansor I2C y no todas funcionan de la misma forma, dirección del IC, etc.
 

Adjuntos

  • rLiquidCrystal_I2C.zip
    5.9 KB · Visitas: 2
Funcionando el ejemplo del expansor I2C en simulación y en físico reformado a lo que tenia LCD 16x2 con el expansor PCF8574

I2C.JPG
I2C_16.JPG
I2.jpg


El ejemplo del ESP32 no lo puede implementar en lo físico porque no tengo...nunca pase del ESP-01 ya que solo es "entretenimiento/entrenamiento" y recién estoy en los comienzos de el manejo y programación/manejo de dichos dispositivos en estos entornos.
 

D@rkbytes

Moderador
El ejemplo del ESP32 no lo puede implementar en lo físico porque no tengo...nunca pase del ESP-01 ya que solo es "entretenimiento/entrenamiento" y recién estoy en los comienzos de el manejo y programación/manejo de dichos dispositivos en estos entornos.
Cuando adquieras un ESP32, todo lo vas a querer hacer con él. Es una maravilla. :love:
 
OFF-TOPIC

Ya "le he echado el ojo" y la tengo en la mira, lo que pasa es que los envíos a la locación en que me encuentro, son muy onerosos proporcionalmente a lo que compras y se deben coordinar las compras de varios productos al mismo vendedor para abaratar los costos.

Te reitero que por aquí, solo es un uso de aprendizaje, no hay ningún lucro, eso lo pone a la cola de la lista de prioridades.

El único problema va a se a la hora de decidirse cual de todas las que hay dando vueltas por el mercado local, adquirir.
 

D@rkbytes

Moderador
El único problema va a se a la hora de decidirse cual de todas las que hay dando vueltas por el mercado local, adquirir.
Por ahora, te recomiendo el ESP-WROOM-32 de 38 pines.
ESP-WROOM-32 (38 PINES).jpg
El precio ronda por los 3 dólares, y por lote es más barato.
También existe una versión sin los componentes externos, que es la que uso para diseños finales, esa ronda de 1 a 2 dólar.
 
@D@rkbytes en este momento es medio complicado para nosotros realizar importaciones o compras del exterior dado que tenemos dos impuestos sobre la tasa de cambio de $100 terminamos pagando casi $180

Aparte de aranceles aduaneros y a veces que no llegan a nuestro poder
 

D@rkbytes

Moderador
@D@rkbytes en este momento es medio complicado para nosotros realizar importaciones o compras del exterior dado que tenemos dos impuestos sobre la tasa de cambio de $100 terminamos pagando casi $180

Aparte de aranceles aduaneros y a veces que no llegan a nuestro poder
¡Wow! Sí que cambian mucho las cosas de país a país, no lo sabía.
Ojalá que algún día las cosas cambien.
 
Hola Dark, sigo el hilo, lo que esta haciendo ric esta muy bueno. Al igual que él yo no poseo una ESP32, y me gustaría empezar a programar ese micro. Puedes empezar con los ejemplos con el ESP32 y seguirte poco a poco el paso ?
 
Arriba