Describimos el montaje de un módulo digital de dos dígitos (00 a 99) que, sin embargo, se puede ampliar a más dígitos utilizando tecnología TTL. El circuito es ideal para proyectos didácticos de contadores, cronómetros, ruletas y otros circuitos del mismo tipo.

   Los contadores con displays de 7 segmentos son circuito de extrema importancia en las aplicaciones digitales, principalmente con finalidades didácticas.

  El proyecto presentado tiene latch y utiliza displays de 7 segmentos del tipo LED con ánodo común, siendo alimentado por una tensión de 5 V.

   En nuestra versión, daremos la posibilidad de que la placa con los displays sea separada, facilitando su instalación en un panel.

   Más información sobre este tipo de contador puede ser obtenida en nuestro Curso de Electrónica Digital, en el volumen 2 en que tratamos de los contadores y en muchos artículos del sitio.

 

   Montaje

   En la figura 1 tenemos el diagrama completo del contador.

 

   Figura 1 - Diagrama del contador
   Figura 1 - Diagrama del contador

 

   El circuito puede ser montado en dos placas separadas, siendo una para el contador propiamente dicho, y la otra para los displays, conforme muestra la figura 2.

 

   Figura 2 - Placas de circuito impreso para el montaje
   Figura 2 - Placas de circuito impreso para el montaje | Haga click en la imagen para ampliar |

 

   

Dependiendo del tamaño de los displays la placa para estos componentes debe ser alterada, respetando las limitaciones correctas del controlador.

   En el montaje, la posición de los circuitos integrados debe ser observada así como de los displays que deben ser de ánodo común.

   Los resistores son de 1/8 W con cualquier tolerancia.

   En la figura 3 tenemos un circuito que genera pulsos de recuento para probar el contador o incluso hacer un circuito de demostración.

 

   Figura 3 - Circuito generador de pulsos para la cuenta
   Figura 3 - Circuito generador de pulsos para la cuenta

 

   

Observamos que la fuente de alimentación debe ser obligatoriamente de 5 V.

   En nuestro sitio tenemos diversos circuitos, siendo los más recomendados los que hacen uso del circuito integrado7805.

 

 

CI-1, CI-2 - 7447 - circuitos integrados TTL

CI-3, CI-4 - 7475 - circuitos integrados TTL

CI-5, CI-6 - 7490 - circuitos integrados TTL

 DI1, DI2 - displays de 7 segmentos de ánodo común

R1 a R14 - 270 ó 330 ohms - resistores de 1/8 W

Varios:

Placa de circuito impreso, fuente de 5 V, hilos, soldadura, etc.

 

 

Settings18.928MBMemory Usage45.4msRequest Duration
Theme
Open Button Position
Hide Empty Tabs
Autoshow
Reset to defaults
Joomla! Version5.3.2
PHP Version8.3.23
Identityguest
Response200
Templatecassiopeia
Database
Server
mysql
Version
10.5.27-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" => 1753212096 "last" => 1753212096...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (83.71KB) (238μs)
  • afterInitialise (1.13MB) (3.69ms)
  • afterRoute (179.88KB) (1.03ms)
  • beforeRenderComponent com_content (101.14KB) (399μs)
  • Before Access::preloadComponents (all components) (33.13KB) (200μs)
  • After Access::preloadComponents (all components) (113.51KB) (488μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (9μs)
  • After Access::preloadPermissions (com_content) (16.23MB) (21.66ms)
  • Before Access::getAssetRules (id:21425 name:com_content.article.25232) (514.65KB) (1.46ms)
  • After Access::getAssetRules (id:21425 name:com_content.article.25232) (7.38KB) (49μs)
  • afterRenderComponent com_content (349.29KB) (7.22ms)
  • afterDispatch (2.25KB) (50μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.62KB) (2.29ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.5KB) (381μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (116μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (54.31KB) (1.07ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (698μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (73μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (236μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (57μs)
  • afterRender (249.73KB) (3.87ms)
  • 1 x After Access::preloadPermissions (com_content) (16.23MB) (47.7%)
    21.66ms
    1 x afterRenderComponent com_content (349.29KB) (15.89%)
    7.22ms
    1 x afterRender (249.73KB) (8.52%)
    3.87ms
    1 x afterInitialise (1.13MB) (8.12%)
    3.69ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (422.62KB) (5.04%)
    2.29ms
    1 x Before Access::getAssetRules (id:21425 name:com_content.article.25232) (514.65KB) (3.23%)
    1.46ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (54.31KB) (2.36%)
    1.07ms
    1 x afterRoute (179.88KB) (2.27%)
    1.03ms
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (9.27KB) (1.54%)
    698μs
    1 x After Access::preloadComponents (all components) (113.51KB) (1.08%)
    488μs
    1 x beforeRenderComponent com_content (101.14KB) (0.88%)
    399μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (15.5KB) (0.84%)
    381μs
    1 x afterLoad (83.71KB) (0.52%)
    238μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.64KB) (0.52%)
    236μs
    1 x Before Access::preloadComponents (all components) (33.13KB) (0.44%)
    200μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.26%)
    116μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.47KB) (0.16%)
    73μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.13%)
    57μs
    1 x afterDispatch (2.25KB) (0.11%)
    50μs
    1 x After Access::getAssetRules (id:21425 name:com_content.article.25232) (7.38KB) (0.11%)
    49μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    9μs
21 statements were executed, 5 of which were duplicates, 16 unique11.81ms1.58MB
  • SELECT @@SESSION.sql_mode;35μs968B/libraries/src/Session/MetadataManager.php:184Copy
  • SELECT `session_id` FROM `incbmx_session` WHERE `session_id` = :session_id LIMIT 198μ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)235μ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` = :guest75μ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`241μs20.2KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `alias` FROM `incbmx_content` WHERE `id` = :id62μs1.31KBParams/components/com_content/src/Service/Router.php:289Copy
  • 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)295μ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.98ms1.48MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`419μs1.77KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:539Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '25232'122μ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)211μ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`212μ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)297μ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`264μ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 ASC463μ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`268μs5.17KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `title` FROM `incbmx_finder_taxonomy` WHERE `parent_id` = 1 AND `state` = 1 AND `access` IN (1,5)112μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context83μs1.55KBParams/plugins/system/schemaorg/src/Extension/Schemaorg.php:406Copy
  • 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)203μ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` = 191μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:517Copy