Mouser Electronics ha recibido recientemente el Starter Kit Grove para Arduino. Es un complemento ideal de los escudos de los que ya trabajan con Arduino y quieren tener lo último en términos de shields de todo tipo. Ver en este artículo que este equipo puede hacer.

El Grove-Starter Kit no es más que un conjunto espectacular de shields para Arduino para aquellos que quieren desarrollar proyectos, enseñar o aprender todo acerca de este microcontrolador.

El kit incluye una buena cantidad de módulos de entrada y salida, y sensores.

En la figura 1 tenemos los módulos y el contenido del kit.

 

  Figura 1
Figura 1

 

 

Utilizando la interfaz unificada del Grove se puede conectar cada módulo a la placa Arduino y de ese modo crear aplicaciones específicas.

 

Más que eso, los módulos se pueden conectar simultáneamente a través de una base-Shield, como se muestra en la Figura 2

 

Figura 2 - Dos escudos conectados a la base.
Figura 2 - Dos escudos conectados a la base.

 

 

Sobre esta base, entonces hay recursos para los diversos escudos sean encajados.

Los escudos disponibles son:

 

1. Grove-zumbador
1. Grove-zumbador

 

 

2. Grove - LED
2. Grove - LED

 

 

3. Interruptor Grove-tilt
3. Interruptor Grove-tilt

 

 

4. Grove- sensor rotativo de ángulo
4. Grove- sensor rotativo de ángulo

 

 

5. Grove - sensor de temperatura
5. Grove - sensor de temperatura

 

 

6. Grove - botón (interruptor)
6. Grove - botón (interruptor)

 

 

7. Grove - módulo lógico
7. Grove - módulo lógico

 

 

8. Grove -Photoshield
8. Grove -Photoshield

 

 

9. Grove - LCD Serial
9. Grove - LCD Serial

 

 

 

 

La Base shield contiene todos los elementos para la conexión de las unidades de microcontrolador Grove fin de obtener la interconexión y también 5 V tensión de alimentación. En la figura 3 tenemos esta carta detallada.

 

Figura 3
Figura 3

 

 

En la figura 4 tenemos la forma en que se hizo la conexión con el Arduino o Seeduino.

 

 

Figura 4
Figura 4

 

 

Un ejemplo interesante de aplicación didáctica con esta tarjeta se puede dar a la siguiente programa.

Este programa utiliza el botón y el zumbador en un modelo, como se muestra en la Figura 5.

 

 

Figura 5
Figura 5

 

El programa tenga la activación de la alarma pulsando el botón que viene con el kit de sí mismo:

Campana

int buttonPin = 1;

int buzzerPin = 2;

void setup()

   {

      pinMode(buttonPin,INPUT);//fixa o interruptor como entrada digital

      pinMode(buzzerPin,OUTPUT);//coloca o buzzer como saída digital

   }

void loop()

   {

      if(digitalRead(buttonPin))//verifica se o botão está ou não pressionado

      {

            digitalWrite(buzzerPin,HIGH);//se pressionado, o buzzer toca

      }

      else

      {

            digitalWrite(buzzerPin, LOW);//se não pressionado o buzzer permanece desligado

      }

}

 

 

Resultado:Pressione o botão da campainha e o buzzer tocará

 

Uma campainha musical pode ser obtida com o mesmo circuito:

 

Code 2: Campainha Musical

int buttonPin = 1;

int buzzerPin = 2;

int length = 40; // the number of notes

char notes[] = "ccggaagffeeddc "; //

int beats[] = { 1,1,1,1,1,1,2,1,1,1,1,1,1,2,4 };

int tempo = 300;

void playTone(int tone, int duration) {

      for (long i = 0; i < duration * 1000L; i += tone * 2) {

            digitalWrite(buzzerPin, HIGH);

            delayMicroseconds(tone);

            digitalWrite(buzzerPin, LOW);

            delayMicroseconds(tone);

      }

}

void playNote(char note, int duration) {     

      char names[] = { 'c', 'd', 'e', 'f', 'g', 'a', 'b', 'C' };

      int tones[] = { 1915, 1700, 1519, 1432, 1275, 1136, 1014, 956 };

      // toque o tom correspondente ao nome da nota

      for (int i = 0; i < 8; i++) {

            if (names[i] == note) {

                  playTone(tones[i], duration);

            }

      }

}

void setup() {

      pinMode(buzzerPin, OUTPUT);

      pinMode(buttonPin,INPUT);

}

void loop() {

      if(digitalRead(buttonPin))

      {

            for (int i = 0; i < length; i++) {

                  if (notes[i] == ' ') {

                        delay(beats[i] * tempo); // poausa

                  } else {

                        playNote(notes[i], beats[i] * tempo);

                  }

// pausa entre notas

                  delay(tempo / 20);

            }

      }

}

Resultado: Pulse el botón de llamada y el zumbador sonará

 

Resultado final: pulse el interruptor y el zumbador sonará una canción.

El lector puede obtener más información o adquirir el Kit de iniciación Grove en Mouser en:

 

http://www.mouser.com/ProductDetail/Seeed-studio/110060024/?qs=sGAEpiMZZMvxSQPygxWTpU5BLIOQ1PBxcKMD5LtIwNQ%3d

 

En esta misma página se puede acceder a la ficha técnica completa del producto.

 

http://www.mouser.com/ds/2/744/Seeed_110060024-786547.pdf

 

Conclusión

 

    El kit Grove - Starter Kit es un recurso ideal para cualquiera que desee aprender o enseñar Arduino, o desarrollar sus propios proyectos utilizando este microcontrolador.

   Cursos de Arduino pueden ser creados sobre la base de este equipo y, por supuesto, un Arduino.

   Con imaginación, y el uso de sus propios ejemplos disponibles pueden aprender o crear muchas cosas interesantes basados en microcontroladores.

18.997MBMemory Usage39.55msRequest 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" => "gpkc2vkuatt06piq9kplqdgl5b" ]
$_SERVER
array:52 [ "USER" => "apache" "HOME" => "/usr/share/httpd" "SCRIPT_NAME" => "/index.php" "RE...
session
array:3 [ "counter" => 2 "timer" => array:3 [ "start" => 1741907995 "last" => 1741907995...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.86KB) (275μs)
  • afterInitialise (1.14MB) (3.28ms)
  • afterRoute (179.16KB) (838μs)
  • beforeRenderComponent com_content (100.65KB) (403μs)
  • Before Access::preloadComponents (all components) (33.49KB) (189μs)
  • After Access::preloadComponents (all components) (107.06KB) (355μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (19.76ms)
  • Before Access::getAssetRules (id:8 name:com_content) (480.18KB) (1.89ms)
  • After Access::getAssetRules (id:8 name:com_content) (7.36KB) (30μs)
  • afterRenderComponent com_content (439.87KB) (5.46ms)
  • afterDispatch (2.25KB) (43μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.23KB) (1.54ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (297μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (90μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (1.07ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (530μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (64μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (194μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (49μs)
  • afterRender (300.23KB) (3.08ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (49.97%)
    19.76ms
    1 x afterRenderComponent com_content (439.87KB) (13.8%)
    5.46ms
    1 x afterInitialise (1.14MB) (8.31%)
    3.28ms
    1 x afterRender (300.23KB) (7.79%)
    3.08ms
    1 x Before Access::getAssetRules (id:8 name:com_content) (480.18KB) (4.78%)
    1.89ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (423.23KB) (3.88%)
    1.54ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (63.1KB) (2.7%)
    1.07ms
    1 x afterRoute (179.16KB) (2.12%)
    838μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.34%)
    530μs
    1 x beforeRenderComponent com_content (100.65KB) (1.02%)
    403μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.9%)
    355μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.43KB) (0.75%)
    297μs
    1 x afterLoad (85.86KB) (0.7%)
    275μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.39KB) (0.49%)
    194μs
    1 x Before Access::preloadComponents (all components) (33.49KB) (0.48%)
    189μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    90μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.39KB) (0.16%)
    64μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.44KB) (0.12%)
    49μs
    1 x afterDispatch (2.25KB) (0.11%)
    43μs
    1 x After Access::getAssetRules (id:8 name:com_content) (7.36KB) (0.08%)
    30μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
23 statements were executed, 5 of which were duplicates, 18 unique10.83ms1.57MB
  • SELECT @@SESSION.sql_mode;30μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 158μ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_id54μs992BParams/libraries/src/Session/MetadataManager.php:316Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`49μ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` = :guest64μ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`227μ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)210μ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.45ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_assets`306μs2.02KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • SELECT * FROM `incbmx_assets` WHERE `name` = 'com_content.article.910'79μs912B/libraries/src/Table/Table.php:780Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`254μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '910'141μ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)153μ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`177μ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)286μ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`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 ASC366μ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`191μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1150μ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)89μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context63μ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)170μ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` = 195μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content
  • warningassets - No asset found for com_content.article.910, falling back to com_content