Enseñar matemáticas, física y química no es una tarea fácil, pasar al alumno conceptos sin tener que demostrar físicamente los resultados, hace que el aprendizaje sea aún más difícil. Pero tenemos hoy para enseñar de forma lúdica todos estos conceptos a la robótica, una herramienta para el profesor y un juguete para el niño. En este artículo mostraremos una plataforma brasileña de enseñanza de robótica que posee diversas aplicaciones útiles para los profesores llamada de Minibits.

    La Plataforma de enseñanza de robótica de Minibits consiste en una central de conexiones de sensores, motores y controles de forma fácil y configurable. Como podemos ver en la figura abajo esta central tiene un formato de un robot, donde el profesor o el alumno podrá conectar diversos otros circuitos, según la necesidad de la materia o tema enseñado.

 

Figura 1 - La central de la plataforma de enseñanza Minibits
Figura 1 - La central de la plataforma de enseñanza Minibits

 

   Esta central (Robot Minibits) ya viene con una conexión para el ordenador, a través del cual podemos insertar los comandos que el robot ejecutará. La central cuenta también con LEDs (ojos) y un secuencial Bargraph (Boca), donde podemos enseñar el primer concepto de programación, encendiendo los LED de los ojos por ejemplo.

   En la figura siguiente podemos ver la central insertada en una base hecha de MDF, pero el mismo podrá ser usando cajas de cartón, enseñando así el concepto de reciclaje. En este ejemplo se aplicaron dos motores donde el alumno podría dirigir el robot a través de la programación.

   En este simple ejemplo, podemos enseñar torque y tracción, o trigonometría donde calculamos la distancia recorrida y el ángulo de rotación, o tiempo y distancia, o también sobre punto de apoyo y distribución de peso entre otros.

 

Figura 2 - Un ejemplo de aplicación en MDF.
Figura 2 - Un ejemplo de aplicación en MDF.

 

   La plataforma viene con varias otras placas que llamamos "BITs", estas placas son motores, servos, sensor de luz, sensor de temperatura, sensor de humedad, sensor de movimiento, sensor de distancia, botones de encendido, botones de encendido, botones de encendido (potenciómetros), control remoto, voltímetro y cables de conexiones, todo en una caja apropiada para su almacenamiento, como podemos ver en la figura 3.

 

Figura 3 - Los elementos que componen la plataforma Minibits.
Figura 3 - Los elementos que componen la plataforma Minibits.

 

   La plataforma de enseñanza de robótica Minibits es práctica, pues tanto el profesor como el alumno no necesitan soldar los componentes para poner el sistema en funcionamiento. Pero es posible hacer modificaciones extra en la plataforma, soldando y añadiendo más elementos, si la creatividad del alumno o el profesor necesitan más recursos, y eso es lo que hace que la plataforma sea interesante.

   En la figura 4 tenemos el módulo del motor y observe que la conexión entre la central y el módulo del motor es hecha por cable, evitando así los problemas de conexión con la soldadura mal hecha. En el propio módulo es posible controlar la velocidad del motor.

 

Figura 4 - El módulo del motor.
Figura 4 - El módulo del motor.

 

 

Sonar

  Otro módulo o "bit" que acompaña a la plataforma es el sensor ultrasónico. Con él es posible enseñar al alumno diversos conceptos sobre ultrasonido y propagación de ondas. El sensor ultrasónico ayuda en el control del robot, evitando que el mismo golpee en algún obstáculo. Este concepto es interesante pues el profesor podrá mostrar al alumno cómo funciona la orientación de los murciélagos y otros animales que utilizan la eco localización, así como también funcionan los sensores de revés del automóvil.

En la figura 5 tenemos una foto del módulo ultrasónico.

 

Figura 5 - El módulo ultrasónico
Figura 5 - El módulo ultrasónico

 

 

El sensor de temperatura y humedad

   La plataforma también cuenta con un sensor de humedad y temperatura y con él el profesor tiene en manos una herramienta para diversas materias sobre física y química. El robot servirá de termómetro o de alerta cuando se alcance un cierto rango de temperatura o humedad, esta pista puede ser programada. Con ello el alumno podrá ver en la práctica cómo funcionan las franjas de temperatura y humedad, tanto para el medio ambiente como para pruebas de diversos materiales y sus estados físicos.

 

Figura 6 - Sensor de humedad y temperatura.
Figura 6 - Sensor de humedad y temperatura.

 

 

El Acelerómetro

   Con este módulo el profesor podrá mostrar al alumno el concepto altura x anchura x profundidad, donde el sensor acoplado en este módulo posee un acelerómetro. Este módulo también ayuda al profesor a enseñar los conceptos de aceleración y velocidad. Este módulo pasa las coordenadas a la central y corresponde al profesor o al alumno programar qué decisiones deben tomarse con los datos recogidos.

 

Figura 7 - El acelerômetro
Figura 7 - El acelerômetro

 

 

Las teclas de encendido / apagado

   En este módulo tenemos 3 tipos de llaves, la llave de retención on / off, la llave momentáneamente abierta y el sensor magnético. Con estas 3 llaves podemos activar el proyecto o desafío propuesto en diferentes momentos, al presionar, después de un determinado tiempo o al pasar de un imán.

 

Figura 8 - Módulo de llaves Encendido / Apagado
Figura 8 - Módulo de llaves Encendido / Apagado

 

 

Módulo Potenciómetro

Este módulo tiene un potenciómetro donde podemos ajustar la cantidad de corriente que se suministra a la central, motor, LED u otro dispositivo. Con él podemos, por ejemplo, controlar el brillo de un LED, la velocidad de un motor o la sensibilidad de un sensor. Con este módulo el profesor podrá mostrar cómo funciona el control de brillo de monitores, celulares, lámparas de ajustes o incluso el control de temperatura de una nevera.

 

Figura 9 - El potenciómetro.
Figura 9 - El potenciómetro.

 

 

La fuente

   El proyecto puede ser alimentado por una batería de 9 V, o a través del cable USB conectado con un ordenador, en ambos casos es importante que nada dañe el sistema, por lo que tenemos el módulo de la fuente. Este módulo proporciona energía para todo el sistema de forma controlada.

 

Figura 10 - La fuente de alimentación
Figura 10 - La fuente de alimentación

 

 

El Voltímetro

   Otro módulo importante de la plataforma es el voltímetro, con él el profesor podrá demostrar lo que es corriente y lo que sucede con el sistema cuando la capacidad de una batería se está agotando. La pantalla muestra la carga que la batería conectada tiene, pudiendo así verificar si la misma atiende a la demanda del proyecto o no, mostrando que el desempeño de un motor queda comprometido o el brillo de un LED disminuye.

 

Figura 11 - El voltímetro
Figura 11 - El voltímetro

 

 

Los cables

   Todas las conexiones están en el formato RJ-45, evitando que el alumno invierta la polaridad y quema cualquiera de los módulos o "bits". La cantidad de cables suministrada en la plataforma es más que suficiente para conectar todos los módulos, pudiendo así distribuir diversas tareas del mismo proyecto entre los alumnos, colocando a todo el equipo para actuar juntas.

 

Figura 12 - Los cables de conexión de los BIT o módulos.
Figura 12 - Los cables de conexión de los BIT o módulos.

 

 

Los siervos-motores

Este módulo tiene dos siervo-motores y un módulo que los controla, con él es posible dirigir el camino del Robot Minibits, abrir puertas o tapas, mover brazos o cualquier parte de un robot. Para accionar el servo es sólo especificar los grados que la palanca deberá moverse. Con ello el profesor podrá aplicar todo el concepto de ángulo, fuerza y ??torque en un ejemplo práctico, donde el alumno podrá intentar diversas fórmulas para probar la teoría y cálculos.

 

Figura 13 - Los siervos
Figura 13 - Los siervos

 

 

El Panel de control

   Este BIT o módulo es donde el profesor o el alumno podrán controlar diversos elementos en la plataforma, en este módulo tenemos diversos tipos de controles que pueden ser configurables para innumerables aplicaciones. En él el alumno podrá dimensionar y aplicar la función que desee en cada control, montando así su propio panel de control, haciendo diversos ajustes manualmente. Con ello el profesor podrá aplicar diversos conceptos de Interfaz Hombre-Máquina (IHM) y de paneles de controles configurables.

 

Figura 14 - El Panel de control
Figura 14 - El Panel de control

 

 

Enseñando Haciendo

   Como mencioné al comienzo de este artículo, es difícil enseñar materias donde el alumno sólo ve la teoría y no tiene acceso a la práctica. Pero es igualmente difícil mostrar al profesor de otras materias que él puede utilizar la robótica para enseñar.

   En la clase de artes, por ejemplo, la robótica crea los animatrónicos, con servos, LED y ruedas podemos construir un dinosaurio del "Jurassic Park".

En portugués podemos armar un robot que tiene los cuatro botones frontales, y estos cuatro botones tienen cuatro preguntas en las que sólo una es correcta, si el estudiante llegó a las ondas de robot con un resultado positivo levantando su brazo a través del servidor, o de que se perdió, encendiendo los LED rojos de su boca.

   En Geografía podemos enseñar sobre distancias y topografía.

En Historia podemos enseñar sobre los sistemas de aberturas de portones medievales, sistemas de grúas entre otras tecnologías aplicadas en diversas épocas. Esto sin contar innumerables materias que podemos listar aquí que utilizaron tecnologías que se pueden montar con la plataforma Minibits.

   El profesor también podrá tener el robot como una mascota de la sala que informa el horario del recreo, de movimientos espontáneos llamando la atención de los alumnos y donde más la creatividad de los profesores llegue.

Para más detalles sobre la plataforma acceda. www.minibits.com.br

 

 

19.04MBMemory Usage40.43msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.16
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.22-MariaDB
Collation
latin1_swedish_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
array:1 [ "joomla" => "***redacted***" ]
$_COOKIE
array:1 [ "c2123392c06423339225f3431360b7e6" => "bq46sncjel39ccp9horn0rtcqt" ]
$_SERVER
array:50 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "PATH_TRANSLATED" => "redirect:/ind...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1743749938 "last" => 1743749938...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (86.22KB) (244μs)
  • afterInitialise (1.14MB) (3.33ms)
  • afterRoute (179.16KB) (860μs)
  • beforeRenderComponent com_content (100.65KB) (423μs)
  • Before Access::preloadComponents (all components) (33.45KB) (183μs)
  • After Access::preloadComponents (all components) (107.06KB) (381μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (19.96ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.08KB) (1.9ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (33μs)
  • afterRenderComponent com_content (454.22KB) (5.72ms)
  • afterDispatch (2.25KB) (49μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.23KB) (1.55ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (309μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (88μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (1.1ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.53KB) (560μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (67μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (185μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (49μs)
  • afterRender (316.66KB) (3.32ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (49.37%)
    19.96ms
    1 x afterRenderComponent com_content (454.22KB) (14.16%)
    5.72ms
    1 x afterInitialise (1.14MB) (8.24%)
    3.33ms
    1 x afterRender (316.66KB) (8.21%)
    3.32ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.08KB) (4.7%)
    1.90ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.23KB) (3.83%)
    1.55ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (2.73%)
    1.10ms
    1 x afterRoute (179.16KB) (2.13%)
    860μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.53KB) (1.39%)
    560μs
    1 x beforeRenderComponent com_content (100.65KB) (1.05%)
    423μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.94%)
    381μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.76%)
    309μs
    1 x afterLoad (86.22KB) (0.6%)
    244μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (0.46%)
    185μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.45%)
    183μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.22%)
    88μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.17%)
    67μs
    1 x afterDispatch (2.25KB) (0.12%)
    49μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.12%)
    49μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.08%)
    33μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
23 statements were executed, 5 of which were duplicates, 18 unique11.32ms1.57MB
  • SELECT @@SESSION.sql_mode;34μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 162μs1.31KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • UPDATE `incbmx_session` SET `guest` = :guest , `time` = :time , `userid` = :user_id , `username` = :username , `client_id` = :client_id WHERE `session_id` = :session_id149μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`52μs608B/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `incbmx_usergroups` AS `a` LEFT JOIN `incbmx_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest77μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`253μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39)226μs7.44KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `incbmx_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 07.76ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_assets`305μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.2461'79μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`267μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '2461'148μs48B/libraries/src/Table/Table.php:1348Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)154μs22.13KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`180μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `incbmx_contentitem_tag_map` AS `m` INNER JOIN `incbmx_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)293μs3.97KBParams/libraries/src/Helper/TagsHelper.php:388Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`170μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM incbmx_fields AS a LEFT JOIN `incbmx_languages` AS l ON l.lang_code = a.language LEFT JOIN incbmx_users AS uc ON uc.id=a.checked_out LEFT JOIN incbmx_viewlevels AS ag ON ag.id = a.access LEFT JOIN incbmx_users AS ua ON ua.id = a.created_user_id LEFT JOIN incbmx_fields_groups AS g ON g.id = a.group_id LEFT JOIN `incbmx_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2,:preparedArray3)) AND `a`.`access` IN (:preparedArray4,:preparedArray5)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray6,:preparedArray7)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC384μs6.06KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:164Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `incbmx_categories` AS `s` INNER JOIN `incbmx_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`206μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1153μs656B/administrator/components/com_finder/src/Helper/LanguageHelper.php:135Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)90μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context68μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:403Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `incbmx_content` AS `a` INNER JOIN `incbmx_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `incbmx_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `incbmx_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `incbmx_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `incbmx_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)140μs22.17KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT SUM(CASE WHEN `a`.`next_execution` <= :now THEN 1 ELSE 0 END) AS due_count,SUM(CASE WHEN `a`.`locked` IS NULL THEN 0 ELSE 1 END) AS locked_count FROM `incbmx_scheduler_tasks` AS `a` WHERE `a`.`state` = 164μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content
  • warningassets - No asset found for com_content.article.2461, falling back to com_content