Describimos un simple control de tacto con salida biestable que puede ser usado como alarma, control de electrodomésticos y en muchas otras aplicaciones que seguramente su imaginación no dejará de encontrar. El circuito utiliza un relé que tiene dos contactos para 2A, lo que permite el control de la mayoría de los electrodomésticos comunes. Su costo de montaje es relativamente bajo, utilizando componentes bastante comunes en nuestro mercado.

   Lo que diferencia este interruptor de toque de otras versiones es su tipo de funcionamiento. A diferencia de los tipos de accionamiento directo o temporizado, al toque de mando, no se enciende por corto tiempo o sólo por el tiempo de mando, pero conmuta, quedando indefinidamente en el estado determinado por el toque. En el tacto siguiente cambia de nuevo de estado. Así, si en el primer toque conectamos la carga, en el segundo toque, la apagamos.

   El circuito utiliza como recurso importante un integrado 555, de tal forma conectado que produce un pulso por toque, lo que hace el circuito muy estable y de funcionamiento perfecto.  La alimentación se obtiene de 4 pilas comunes, pero nada impide que se utilice una fuente regulada de 6 V en una aplicación fija.

   Como sensor, podemos tener dos contactos cercanos el uno del otro (dos alfileres, por ejemplo) que deben ser tocados simultáneamente, o si uno de ellos es aterrizado, podremos hacer el disparo por un solo sensor. El sensor no debe ser un objeto de gran tamaño dado la posibilidad de captación de ruidos que provocarían el disparo errático del aparato.

   

 

COMO FUNCIONA

 

   Dividiendo el aparato en etapas será más fácil entender su principio de funcionamiento. Así, comenzamos por los sensores que consisten simplemente en dos contactos que deben ser tocados. Con el toque de los dedos, circula entre ellos una débil corriente que polariza el transistor de modo que haya conducción.

   Con ello, cae la tensión de colector en Q1, lo que lleva el pino 2 del integrado 555 a un nivel bajo, suficiente para causar el disparo. Este integrado consiste en la segunda etapa del circuito siendo conectado como monoestable. Su finalidad es producir un pulso único, de duración definida por R4 y C1, cuando haya un toque en el sensor, es decir, cuando la tensión del perno 2 caiga a menos de 1/3 de Vcc (tensión de alimentación).

   El pulso producido por el 555 sirve para conmutar la tercera etapa del aparato, que consiste en un biestable con el integrado CMOS 4013. Este integrado posee dos flip-flops, de los cuales usamos sólo uno, aterrizando las entradas y salidas no usadas del otro (excepto Q).

   Así, el nivel de salida del pino 13 (Q) dependerá de los pulsos de entrada producidos por el 555 (vía pino 11 del 4013). A partir de una situación en la que la salida 13 está en el nivel bajo, en el primer pulso se conmuta, pasando al nivel alto. En el pulso siguiente ella vuelve al nivel bajo, para pasar nuevamente a la tapa en el tercer pulso.

   Para energizar la bobina del relé se utiliza un transistor NPN de silicio, ya que se necesitan pocos miliamperios de corriente para este propósito. En los contactos del relé podemos entonces conectar los aparatos controlados, respetando su corriente máxima que es de 2 A.

   En la figura 1 tenemos formas de onda obtenidas en las diversas etapas del circuito.

 

Figura 1 - Formas de onda en el circuito
Figura 1 - Formas de onda en el circuito | Clique na imagem para ampliar |

 

 

 

MONTAJE

   Comenzamos por dar el diagrama completo del aparato en la figura 2, observando que para la salida de control dejamos los contactos del relé numerados en abierto.

 

Figura 2 - Diagrama completo del aparato
Figura 2 - Diagrama completo del aparato | Clique na imagem para ampliar |

 

 

La placa de circuito impreso se muestra en la figura 3.

 

Figura 3 - Placa de circuito impreso para el montaje
Figura 3 - Placa de circuito impreso para el montaje | Clique na imagem para ampliar |

 

   

Observe que utilizamos sockets DIL tanto para los integrados como para el relé, que es del tipo micro-relé con bobina de 6 V. Los resistores empleados son todos de 1/8 o ¼ W con cualquier tolerancia.

  Los capacitores electrolíticos tienen tensión de trabajo de 6 V o más. Para la alimentación damos como opción de fuente la figura 4. En esta fuente el transformador tiene devanado secundario de 9 + 9 o 12+ 12 V con corriente de 200 mA o más.

 

Figura 4 - Fuente de alimentación para el circuito
Figura 4 - Fuente de alimentación para el circuito

 

   

El circuito integrado 7806 debe estar dotado de un pequeño disipador de calor y el capacitor electrolítico C1 debe tener una tensión de trabajo de aspecto 16 V.

 

 

Prueba y uso

   Para probar el interruptor, basta con conectar la unidad y tocar momentáneamente en los puntos X1 y X2. El relé debe cambiar su estado con un chasquido característico

  Una comprobación importante para una prueba de funcionamiento es el pin 13 del CI-2 que debe estar en el nivel bajo o alto, según el toque dado en los sensores.

   Una vez comprobado el funcionamiento, es sólo utilizar el aparato.

 

 

Lista de material

CI-1 - 555 - circuito integrado

Cl-2 - 4013 - circuito integrado CMOS

Q1, Q2 - BC548 o equivalente - transistores NPN de uso general

D1 - 1N4148 - diodo de silicio de uso general

K1 - - micro-relé de 6 V

S1 - interruptor simple

B1 - 6 V - 4 pilas pequeñas o fuente de alimentación

X1, X2 - sensores - ver texto

C1 - 1 uF x 6 V - capacitor electrolítico

C2 - 100 nF - capacitor de poliéster o cerámica

C3 - 4,7 uF x 6 V - capacitor electrolítico

C4 - 100 uF x 6 V - capacitor electrolítico

R1, R2, R5 - 100 k - resistores (marrón, negro, amarillo)

R3, R4 - 47 k - resistores (amarillo, violeta, naranja)

R6 - 4k7 - resistor (amarillo, violeta, rojo)

Varios: placa de circuito impreso, sockets DlL para integrados hilos, soldadura, soporte para 4 pilas, etc.

 

 

18.929MBMemory Usage49.44msRequest Duration
Joomla! Version5.2.3
PHP Version8.3.20
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" => "rpa78p5dgnmeuhvmt723lmgq4r" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1751862820 "last" => 1751862820...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.61KB) (259μs)
  • afterInitialise (1.14MB) (4.09ms)
  • afterRoute (179.16KB) (1.18ms)
  • beforeRenderComponent com_content (100.7KB) (554μs)
  • Before Access::preloadComponents (all components) (33.45KB) (255μs)
  • After Access::preloadComponents (all components) (107.06KB) (433μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (8μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (27.84ms)
  • Before Access::getAssetRules (id:27580 name:com_content.article.31213) (514.65KB) (1.36ms)
  • After Access::getAssetRules (id:27580 name:com_content.article.31213) (7.38KB) (58μs)
  • afterRenderComponent com_content (390.34KB) (6.43ms)
  • afterDispatch (2.25KB) (48μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.44KB) (1.53ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (298μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (89μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (1.05ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (546μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (62μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (180μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (48μs)
  • afterRender (257.75KB) (3.02ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (56.32%)
    27.84ms
    1 x afterRenderComponent com_content (390.34KB) (13%)
    6.43ms
    1 x afterInitialise (1.14MB) (8.27%)
    4.09ms
    1 x afterRender (257.75KB) (6.1%)
    3.02ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (358.44KB) (3.1%)
    1.53ms
    1 x Before Access::getAssetRules (id:27580 name:com_content.article.31213) (514.65KB) (2.75%)
    1.36ms
    1 x afterRoute (179.16KB) (2.39%)
    1.18ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.9KB) (2.12%)
    1.05ms
    1 x beforeRenderComponent com_content (100.7KB) (1.12%)
    554μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.1%)
    546μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.88%)
    433μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.6%)
    298μs
    1 x afterLoad (85.61KB) (0.52%)
    259μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.52%)
    255μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.36%)
    180μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.18%)
    89μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.13%)
    62μs
    1 x After Access::getAssetRules (id:27580 name:com_content.article.31213) (7.38KB) (0.12%)
    58μs
    1 x afterDispatch (2.25KB) (0.1%)
    48μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.1%)
    48μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    8μs
21 statements were executed, 5 of which were duplicates, 16 unique10.99ms1.58MB
  • SELECT @@SESSION.sql_mode;36μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 165μ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_id67μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`61μ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` = :guest79μ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`305μ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)228μ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.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`324μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '31213'158μ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)189μ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`200μ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)257μs3.98KBParams/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`167μ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 ASC380μ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`204μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1130μ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)80μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context62μ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)163μ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` = 171μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy