Uno de los proyectos más solicitados y que admite una infinidad de configuraciones es lo que imita el sonido de un grillo. Colocado en una cajita y dejado en la habitación de los amigos, puede perturbar mucho o aún puede servir de curiosidad. Otra aplicación y en proyectos de ferias de ciencias o como montaje para cursos que tengan electrónica como materia electiva. El circuito presentado utiliza los conocidos circuitos integrados 555 y es muy sencillo de montar.

El sonido intermitente de un grillo se puede obtener fácilmente con dos osciladores de baja frecuencia, un modulando el otro. Es justamente esa la configuración que adoptamos, empleando dos circuitos integrados 555.

El circuito mostrado tiene un consumo extremadamente bajo, pudiendo ser alimentado por pilas o batería con gran autonomía y utiliza como transductor uno del tipo piezoeléctrico de alta impedancia.

Como se trata de montaje didáctico su elaboración puede tener como base una matriz de contactos o incluso una placa universal con el mismo patrón.

 

Como funciona

El primer oscilador, formado por CI-1 consiste en un astável 555 donde la frecuencia depende tanto del capacitor C1 como de los dos resistores asociados R1, y R2. Estos componentes ya se calcularon para producir el sonido que imita el grillo, pero dependiendo de las tolerancias pueden ser necesarios pequeños cambios para obtener el máximo de realismo.

Este oscilador modula un segundo oscilador aplicando la señal rectangular producida en el pin 4 de otro 555. La frecuencia de este otro oscilador está determinada por R3 y R4 además del capacitor C2. También pueden ser necesarios pequeños cambios en los valores de estos componentes para obtener mayor realismo.

Obtenemos en la salida del segundo 555 una señal modulada bastante aguda, semejante al trinado de un grillo. Esta señal se aplica en el transductor piezoeléctrico que hace su reproducción.

El consumo de cada CI es del orden de 1 mA lo que resulta en un consumo total muy bajo para el aparato, garantizando así una excelente durabilidad para las pilas o la batería.

 

Montaje

En la figura 1 tenemos el diagrama completo del Grillo Electrónico.

 


 

 

 

El montaje se puede realizar en una matriz de contacto o en una placa universal con el mismo patrón con la disposición de terminales mostrada en la figura 2.

 


 

 

 

La posición de los circuitos integrados y de los capacitores electrolíticos debe ser observada con cuidado, pues si estos componentes se invierte el aparato no funciona. La polaridad de la alimentación también es importante.

No utilice altavoces comunes o auriculares de baja impedancia. El transductor debe ser obligatoriamente de alta impedancia.

El conjunto cabe en una caja de plástico de pequeñas dimensiones. La llave S1 es opcional, pudiendo en su lugar utilizar un sensor que haga el accionamiento del circuito.

 

Prueba y uso

Para comprobar el funcionamiento del aparato basta con colocar las pilas en el soporte o en el conector de la batería. El transductor inmediatamente debe emitir un sonido similar al de un grillo.

Si observa muchas diferencias con el sonido, cambie las resistencias R1, R2, R3 y R4 hasta obtener el mejor efecto. Esto puede ser necesario para compensar las tolerancias de estos componentes.

Comprobado el funcionamiento es sólo utilizar el aparato.

 

Temas Transversales

Una idea para los lectores que deseen montar este aparato en las escuelas es su empleo en temas transversales.

Uno de ellos consiste en modificar el valor de C2 hasta que se obtengan ultrasonidos (inaudibles) y con ellos hacer experimentos de acondicionamiento con pequeños animales.

 

Semiconductores:

CI-1, CI-2 - 555 - circuitos integrados, temporizadores

 

Resistores: (1/8 W, 5%)

R1, R3, R4 - 22 k ohms - rojo, rojo, naranja

R2 - 27 k ohms - rojo, violeta, naranja

 

Capacitores:

C1, C3 - 10 uF - electrolítico - 6 V o más

C2 - 10 nF - cerámico o poliéster

 

Varios:

B1 - 6 o 9 V - 4 pilas pequeñas o batería

S1 - Interruptor simple

X1 - Transductor piezoeléctrico

Placa de circuito impreso universal o matriz de contactos, soporte de pilas o conector de batería, hilos, soldadura, etc.

 

18.932MBMemory Usage51.18msRequest 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" => 1744480512 "last" => 1744480512...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.67KB) (208μs)
  • afterInitialise (1.14MB) (5.54ms)
  • afterRoute (179.16KB) (1.35ms)
  • beforeRenderComponent com_content (100.65KB) (605μs)
  • Before Access::preloadComponents (all components) (33.45KB) (349μs)
  • After Access::preloadComponents (all components) (107.06KB) (588μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (10μs)
  • After Access::preloadPermissions (com_content) (16.22MB) (27.48ms)
  • Before Access::getAssetRules (id:24391 name:com_content.article.28094) (514.65KB) (695μs)
  • After Access::getAssetRules (id:24391 name:com_content.article.28094) (7.38KB) (42μs)
  • afterRenderComponent com_content (382.09KB) (6.63ms)
  • afterDispatch (2.25KB) (54μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.6ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (312μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (89μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.17ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.98KB) (549μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (64μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (229μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (67μs)
  • afterRender (257.73KB) (3.45ms)
  • 1 x After Access::preloadPermissions (com_content) (16.22MB) (53.7%)
    27.48ms
    1 x afterRenderComponent com_content (382.09KB) (12.96%)
    6.63ms
    1 x afterInitialise (1.14MB) (10.82%)
    5.54ms
    1 x afterRender (257.73KB) (6.74%)
    3.45ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (3.12%)
    1.60ms
    1 x afterRoute (179.16KB) (2.63%)
    1.35ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.28%)
    1.17ms
    1 x Before Access::getAssetRules (id:24391 name:com_content.article.28094) (514.65KB) (1.36%)
    695μs
    1 x beforeRenderComponent com_content (100.65KB) (1.18%)
    605μs
    1 x After Access::preloadComponents (all components) (107.06KB) (1.15%)
    588μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.98KB) (1.07%)
    549μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.68%)
    349μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.61%)
    312μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.45%)
    229μs
    1 x afterLoad (85.67KB) (0.41%)
    208μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.17%)
    89μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.13%)
    67μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.13%)
    64μs
    1 x afterDispatch (2.25KB) (0.11%)
    54μs
    1 x After Access::getAssetRules (id:24391 name:com_content.article.28094) (7.38KB) (0.08%)
    42μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    10μs
21 statements were executed, 5 of which were duplicates, 16 unique18.84ms1.58MB
  • SELECT @@SESSION.sql_mode;42μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 189μ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)324μ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` = :guest83μ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`279μ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)412μ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` = 014.76ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`372μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '28094'147μ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)179μ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`223μ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)359μ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`215μ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 ASC474μ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`220μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1192μ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)94μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context65μ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)186μ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` = 176μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy