Los circuitos controlados por la luz pueden ser usados en una infinidad de aplicaciones prácticas, principalmente involucrando robótica y mecatrónica. Los LDRs usados como sensores en 10 proyectos que mostramos en este artículo son baratos y fáciles de obtener, lo que facilita bastante a los lectores que desean montar, experimentar circuitos de robots o automatismos o simplemente conocer aplicaciones fotolétricas.

   Uno de los dispositivos más sensibles con los que podemos contar para aplicaciones en circuitos fotoeléctricos es el LDR (Light Dependent Resistor) o foto-resistor.

   Los foto-resistores son dispositivos que poseen una superficie sensible con electrodos de oro y entre ellos una sustancia denominada sulfuro de cadmio (CdS) que conduce la corriente eléctrica en un grado que depende de su iluminación.

   En la figura 1 tenemos el aspecto de una foto-resistor o LDR común.

 

 

Figura 1
Figura 1 | Haga click en la imagen para ampliar |

 

   En la oscuridad, el LDR presenta una resistencia muy alta que puede llegar a millones de ohms.

   Sin embargo, al ser iluminado, se liberan portadores de carga y la resistencia del componente se reduce drásticamente llegando a algunas decenas o cientos de ohms en la luz del sol directa.

   El LDR es un dispositivo algo lento, para los estándares electrónicos, lo que quiere decir que no sirve para recibir señales moduladas como mandos a distancia, enlaces y otros dispositivos en los que se desea hacer la transmisión de datos.

   Sin embargo, su sensibilidad es muy grande, más grande que la de nuestro propio ojo, lo que permite que sea usado en llaves electrónicas controladas por la luz, alarmas, osciladores controlados por luz y sombra, etc.

   Los circuitos que damos a continuación son sólo una pequeña muestra de lo que es posible hacer con LDR y estos circuitos pueden ser fácilmente modificados para operaciones en modos diferentes por el simple cambio de componentes o aumentos de etapas.

   Muchos de los circuitos son excelentes para ser implementados en proyectos de robótica y mecatrónica y aún para la presentación como trabajos escolares, en ferias de ciencias o aún en demostraciones.

 

   Proyecto 1

FOTÓMETRO 1

   Este circuito se puede utilizar para medir la intensidad de la fuente de luz, el grado de iluminación de los ambientes o incluso para la comparación de tonalidad de paneles, paredes, hojas u objetos.

   Se trata básicamente de un puente de Wheatstone en el que una de las ramas está representada por un foto-sensor, es decir, el LDR.

   Cuando P1 equilibra el puente, lo que depende de la luz que incide en el LDR, el instrumento M1 acusa.

   Si P1 es calibrado en función de diversas intensidades luminosas, podemos leer en su escala la iluminación sobre el sensor.

   En la figura 2 tenemos el diagrama completo de este simple fotómetro.

 

Figura 2
Figura 2 | Haga click en la imagen para ampliar |

 

   Los pocos componentes usados no requieren el empleo de una placa de circuito impreso además de que el circuito no es crítico.

   Así, un puente de terminales con tornillos puede ser usado con la disposición mostrada en la figura 3.

 

 

Figura 3
Figura 3 | Haga click en la imagen para ampliar |

 

   El instrumento M1 es un microamperímetro con cero en el centro de la escala, pero en su defecto se puede utilizar la escala más baja de las cadenas de cualuer multímetro.

   Los resistores son de 1 / 8W con un 5% o más de tolerancia y para la alimentación podemos usar dos o cuatro pilas pequeñas.

   El LDR puede ser de cualquier tipo o tamaño. Su montaje en un tubo opaco dotará un sistema de cierta dirección.

   Para calibrar, ilumine el LDR y ajuste P1 de modo que el instrumento tiende a marcar máximo (en un sentido u otro). Ajuste P2 para que la aguja no sobrepase el final de la escala.

   Para usar, basta con apuntar el LDR a la fuente de luz y ajustar P1 para obtener el marcado cero. Con la ayuda de una fuente de luz de intensidad conocida o de un fotómetro es posible formar una escala para el aparato.

 

   Resistores:

   LDR - Foto-resistor común de 1 o 2,5 cm.

   R1, R2, R3 - 1 k ohms - marrón, negro, rojo

   P1 - 100 k ohms - potenciómetro lineal

   P2 - 100 k ohms - trim pot

   

Varios:

   S1 - Interruptor simple

   M1 - 50-0-50 uA - microamperímetro con cero en el centro de la escala

   B1 - 3 o 6V - 2 o 4 pilas pequeñas

   Puente de terminales, soporte de pilas, caja para montaje, hilos, soldadura, etc.

 

Proyecto 2

FOTÓMETRO 2

   Este circuito es tan sensible como el anterior y utiliza un microamperímetro común. Podemos calibrar la escala del instrumento, en lugar del potenciómetro, obteniendo así una lectura directa.

   En la figura 4 tenemos el diagrama completo del fotómetro 2.

 

 


| Haga click en la imagen para ampliar |

 

 

   Como se trata de montaje bastante simple, optamos por el uso de una placa de circuito impreso, con la configuración mostrada en la figura 5. Sin embargo, el lector también puede hacer el montaje en una matriz de contactos.

 

 

Figura 5
Figura 5 | Haga click en la imagen para ampliar |

 

 

   El transistor admite diversos equivalentes (cualquier NPN de uso general) y tanto los resistores como el LDR tienen especificaciones como las del proyecto anterior.

   El instrumento, en este caso, es un microamperímetro no crítico de 100 a 500 uA de fondo de escala. También podemos utilizar la escala más baja de corrientes de un multímetro común.

   El único ajuste consiste en iluminar totalmente el LDR y actuar sobre P1 para que la aguja del instrumento no sobrepase el fondo de escala.

   Para utilizar el aparato es sólo apuntar el LDR a cualquier fuente de luz u objeto que deseamos saber el grado de iluminación.

 

   Semiconductores:

   Q1 - BC548 o equivalente - transistores NPN de uso general

   

Resistores: (1 / 8W, 5%)

   LDR - foto-resistor de cualquier tipo

   R1, R2 - 1k ohms - marrón, negro, rojo

   P1 - 47k ohms - trimpot

   

Varios:

   M1 - 0-200 uA - microamperímetro común

   S1 - Interruptor simple

   B1 - 3 o 6V - 2 o 4 pilas pequeñas

   Puente de terminales, soporte de pilas, caja para montaje, hilos, soldadura, etc.

 

 

18.9MBMemory Usage46.31msRequest 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" => 1743812229 "last" => 1743812229...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.67KB) (224μs)
  • afterInitialise (1.14MB) (3.38ms)
  • afterRoute (179.16KB) (986μs)
  • beforeRenderComponent com_content (100.65KB) (392μs)
  • Before Access::preloadComponents (all components) (33.45KB) (160μs)
  • After Access::preloadComponents (all components) (107.06KB) (347μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (25.32ms)
  • Before Access::getAssetRules (id:18923 name:com_content.article.22752) (514.65KB) (932μs)
  • After Access::getAssetRules (id:18923 name:com_content.article.22752) (7.38KB) (43μs)
  • afterRenderComponent com_content (396.57KB) (6.66ms)
  • afterDispatch (2.25KB) (54μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.86ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (397μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (109μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.07ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.53KB) (561μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (86μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (191μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (55μs)
  • afterRender (269.91KB) (3.38ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (54.68%)
    25.32ms
    1 x afterRenderComponent com_content (396.57KB) (14.38%)
    6.66ms
    1 x afterInitialise (1.14MB) (7.31%)
    3.38ms
    1 x afterRender (269.91KB) (7.3%)
    3.38ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (4.01%)
    1.86ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.3%)
    1.07ms
    1 x afterRoute (179.16KB) (2.13%)
    986μs
    1 x Before Access::getAssetRules (id:18923 name:com_content.article.22752) (514.65KB) (2.01%)
    932μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.53KB) (1.21%)
    561μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.86%)
    397μs
    1 x beforeRenderComponent com_content (100.65KB) (0.85%)
    392μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.75%)
    347μs
    1 x afterLoad (85.67KB) (0.48%)
    224μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.41%)
    191μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.35%)
    160μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.24%)
    109μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.19%)
    86μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    55μs
    1 x afterDispatch (2.25KB) (0.12%)
    54μs
    1 x After Access::getAssetRules (id:18923 name:com_content.article.22752) (7.38KB) (0.09%)
    43μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
21 statements were executed, 5 of which were duplicates, 16 unique13.81ms1.57MB
  • SELECT @@SESSION.sql_mode;29μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 164μ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)195μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`48μ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` = :guest70μ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`244μ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)199μ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` = 010.58ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`336μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '22752'160μ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)173μ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`184μ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)234μ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`186μ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 ASC406μ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`173μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1139μ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)85μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context69μ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)158μ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` = 182μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy