Este simple dispositivo de control remoto puede ser utilizado para abrir una puerta de garaje con el faro del coche, accionar electrodomésticos a partir de una linterna y en muchas aplicaciones interesantes y útiles; El circuito dispara el relé cuando un haz de luz de corta duración incide en un sensor y lo mantiene accionado por un tiempo programado.

   Diversas son las posibilidades de uso para este interesante automatismo de bajo costo. Como sugiere la introducción si lo instalamos en la puerta de nuestra casa, con un pulso de luz del faro del coche podemos al mismo tiempo encender la luz del garaje o balcón y abrir la puerta.

   También podemos accionar un timbre que avisará a las personas de nuestra casa de nuestra llegada.

   Por otro lado, en un electrodoméstico como, por ejemplo, un ventilador, con breve toque en el interruptor de una linterna (que es el transmisor) tendremos el accionamiento temporizado de este dispositivo que quedara conectado por tiempos entre algunos segundos hasta 15 minutos.

   En fin, el sistema será útil en cualquier aplicación en la que se desea accionar dispositivos a distancia, usando para este propósito rayos de luz.

El artículo es de 1992, siendo utilizada una tecnología más simple, disponible en la época. Hoy podemos hacer lo mismo con base en microcontroladores.

 

CARACTERÍSTICAS

Tensión de alimentación: 12 V

Consumo en espera: 5 mA

Consumo accionado: 50 mA

Alcance: hasta 20 metros (depende de la potencia del emisor)

Carga máxima controlada 2 A (o 10 A con relé mayor)

Temporización: 5 segundos a 15 minutos

 

COMO FUNCIONA

   El sensor es un foto-diodo de cualquier tipo. La señal se aplica a un transistor Darlington del tipo BC517. Esta sensibilidad, de

   Cuando el sensor (foto-diodo) se encuentra en la oscuridad, el transistor Ql se mantiene en el corte y la tensión en el capacitor C1 estará en el nivel alto, así como la tensión en el pasador 2 de entrada de un monoestable 555.

   En el instante en que un pulso de luz alcanza el sensor el transistor conduce y su colector va momentáneamente al nivel bajo el que cambia C1 permitiendo su carga vía R3.

   Con esta carga el perno 2 del integrado es momentáneamente aterrizado ocurriendo entonces su disparo.

   La salida del 555 va entonces al nivel alto (pin 3) por un intervalo de tiempo que depende del ajuste de P2 y del valor de C2.

   Con el valor indicado, 100 uF tenemos tiempos de algunos segundos hasta poco más de 1 minuto, pero para llegar a los 15 minutos basta usar un capacitor de 1000 uF.

   Recordamos que este capacitor debe ser de buena calidad pues la presencia de fugas instabiliza el circuito que puede negarse a disparar con tiempos mayores.

   El nivel alto de salida del 555 se utiliza para saturar vía R5 el transistor Q2 tiene como carga de colector un relé.

  En los contactos de este relé conectamos el dispositivo externo a controlar. El relé usado es de baja potencia de modo que si queremos activar dispositivos del tipo para apertura de puertas de garaje necesitamos conectarlo con un relé mayor o bien usar un relé más potente directamente.

   El circuito se alimenta con una tensión de 12 V y en la figura 1 tenemos una sugerencia de fuente de alimentación.

 

Figura 1 - Fuente de alimentación para el circuito
Figura 1 - Fuente de alimentación para el circuito | Haga click en la imagen para ampliar |

 

   En la figura 2 tenemos la disposición de los componentes de la fuente en una placa de circuito impreso.

 

  Figura 2 - Placa para el montaje de la fuente
  Figura 2 - Placa para el montaje de la fuente

 

   El transformador tendrá primario de acuerdo a la red local y los electrolíticos son para 25 V. Los diodos pueden ser 1N4002 o equivalentes y el circuito integrado regulador de tensión debe estar dotado de un pequeño radiador de calor.

 

MONTAJE

   En la figura 3 tenemos el diagrama completo del receptor de control remoto por medio de haz de luz.

 

   Figura 3 - Diagrama completo del receptor
   Figura 3 - Diagrama completo del receptor | Haga click en la imagen para ampliar |

 

   

En la figura 4 tenemos la disposición de los componentes en una placa de circuito impreso.

 

   Figura 4 - Placa de circuito impreso para el receptor
   Figura 4 - Placa de circuito impreso para el receptor

 

Para el. circuito integrado sugerimos la utilización de un zócalo DIL. El foto-diodo puede alejarse del circuito, pero debe conectarse a través de un cable blindado.

   Es muy importante observar su polaridad y para mayor directividad él debe ser instalado en un tubo de cartón u otro material con una lente convergente, como muestra la figura 5.

 

Figura 5 - Instalación del sensor en un tubo
Figura 5 - Instalación del sensor en un tubo | Haga click en la imagen para ampliar |

 

   

P1 es un trimpot de ajuste y P2 que determina el tiempo puede ser tanto un trimpot como un potenciómetro, dependiendo de la aplicación. Los resistores son de 1/8 W, 5% o más y Q1 no admite equivalente.

   En la falta de ese componente lo que se puede hacer es conectar dos transistores BC548 como muestra la figura 6, pero para eso el layout de la placa debe ser modificado.

 

Figura 6 - Sustitución del BC517
Figura 6 - Sustitución del BC517

 

   

El capacitor Cl puede ser de poliéster o cerámico mientras que los demás son electrolíticos para 16 V o más.

   El conjunto se puede alojar en caja plástica y para conectar a los dispositivos externos en los contactos del relé podemos usar una barra de terminales con tornillos o incluso una toma y enchufe.

   El modo de hacer esta conexión se muestra en la figura 7.

 

Figura 7 - Conexión del relé a una carga externa
Figura 7 - Conexión del relé a una carga externa

 

 

PRUEBA Y USO

   Para probar el aparato coloque P2 en el tiempo mínimo (resistencia cero) y encienda la alimentación. Deje inicialmente Dl en la oscuridad y vaya abriendo P1 hasta que ocurra el disparo (eventualmente si D1 está muy en la oscuridad incluso al final del ajuste, el disparo no ocurre).

   Dejando ahora incidir luz sobre D1 debe ocurrir el disparo del relé que permanecerá por algunos segundos. Cada vez que la luz incidir el relé se activará.

   Ver que la luz debe incidir por un corto intervalo de tiempo, suficiente para disparar el circuito.

   En la figura 8 tenemos el modo de utilizar el aparato en un sistema de apertura de puertas de garajes.

 

   Figura 8 - Utilización en la apertura de garajes
   Figura 8 - Utilización en la apertura de garajes | Haga click en la imagen para ampliar |

 

    Con un toque en el faro del coche, apuntado al sensor que sólo debe recibir luz en la dirección apropiada, disparamos el sensor que entonces alimenta el circuito de apertura de puertas y al mismo tiempo enciende la luz interna. P1 debe ajustarse para accionamiento incluso durante el día y P2 para mantener el sistema de apertura de la puerta accionado por el tiempo necesario para la entrada del vehículo.

   Para el funcionamiento en el accionamiento de electrodomésticos el transmisor puede ser una simple linterna. Montado en conjunto con una sirena y dejando el foto-diodo descubierto tendremos una alarma que disparará cuando alguien encendió luz en un lugar cualquiera por la noche.

 

Semicondutores:

CI-1 - 555 - circuito integrado

D1 - foto-diodo o foto-transistor

Q1 - BC517 - transistores Dariington

Q2 - BC548 - transistores NPN de uso general

D2 - 1N4148 - diodo de uso general

 

Resistores: (1/8 W, 5%)

R1 - 100 k ohms

R2 - 22 k ohms

R3 - 47 k ohms

R4 - 10 k ohms

R5 - 4,7 k ohms

P1 - 4,7 M ohms - trimpot

P2 - 1 M ohms - trimpot o potenciómetro

 

Capacitores: (electrolíticos para 16 V o más)

C1 - 0,47 uF - electrolítico

C2 - 100 uF - electrolítico - ver texto

C3 - 100 uF – electrolítico

 

Varios:

K1 - relé de 12 V o equivalente - ver texto

Placa de circuito impreso, sockets para el integrado y para el relé, botones para el potenciómetro, hilos, lentes para el foto-diodo, caja para montaje, soldadura, etc.

 

18.9MBMemory Usage50.51msRequest 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
[]
$_SERVER
array:51 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1742116238 "last" => 1742116238...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.73KB) (235μs)
  • afterInitialise (1.14MB) (4.01ms)
  • afterRoute (179.16KB) (942μs)
  • beforeRenderComponent com_content (100.65KB) (472μs)
  • Before Access::preloadComponents (all components) (33.5KB) (201μs)
  • After Access::preloadComponents (all components) (107.06KB) (541μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (6μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (29.34ms)
  • Before Access::getAssetRules (id:18671 name:com_content.article.22562) (514.65KB) (1.13ms)
  • After Access::getAssetRules (id:18671 name:com_content.article.22562) (7.38KB) (32μs)
  • afterRenderComponent com_content (408.55KB) (6.47ms)
  • afterDispatch (2.25KB) (47μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.57ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (325μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (99μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.04ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (578μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (78μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (187μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (49μs)
  • afterRender (265.73KB) (3.05ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (58.09%)
    29.34ms
    1 x afterRenderComponent com_content (408.55KB) (12.81%)
    6.47ms
    1 x afterInitialise (1.14MB) (7.93%)
    4.01ms
    1 x afterRender (265.73KB) (6.05%)
    3.05ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (3.1%)
    1.57ms
    1 x Before Access::getAssetRules (id:18671 name:com_content.article.22562) (514.65KB) (2.24%)
    1.13ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.06%)
    1.04ms
    1 x afterRoute (179.16KB) (1.86%)
    942μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.14%)
    578μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.07%)
    541μs
    1 x beforeRenderComponent com_content (100.65KB) (0.93%)
    472μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.64%)
    325μs
    1 x afterLoad (85.73KB) (0.47%)
    235μs
    1 x Before Access::preloadComponents (all components) (33.5KB) (0.4%)
    201μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.37%)
    187μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.2%)
    99μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.15%)
    78μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.1%)
    49μs
    1 x afterDispatch (2.25KB) (0.09%)
    47μs
    1 x After Access::getAssetRules (id:18671 name:com_content.article.22562) (7.38KB) (0.06%)
    32μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.01%)
    6μs
21 statements were executed, 5 of which were duplicates, 16 unique11.4ms1.57MB
  • SELECT @@SESSION.sql_mode;39μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 178μs1.3KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `incbmx_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)153μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`56μs656B/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` = :guest86μ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)380μ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.9ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`351μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '22562'159μ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)185μ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`199μ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)246μs4KBParams/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 ASC422μs4.81KBParams/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`249μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1120μs1.89KB/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)74μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context58μ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)154μ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` = 166μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy