Este proyecto puede ser utilizado de su manera normal, como portero, o bien como intercomunicador interno, niñera electrónica y hasta para monitorear las conversaciones en un vestíbulo, en un sistema de vigilancia. La alimentación se puede hacer con una fuente común de 12 a 18V con una corriente de al menos 1 ampère, ya que la potencia del paso amplificador es algo elevada.

Nota: Este artículo forma parte de un antiguo libro que escribimos sobre casas inteligentes, disponibles para descargar en el sitio. Ver el artículo anterior (ART1886S)

Los propios altavoces se utilizan como micrófonos en la función de transmitir las señales y con una buena sensibilidad.

 

 

FUNCIONAMIENTO

En la figura 1 tenemos el diagrama completo del portero electrónico o intercomunicador.

 

Figura 1
Figura 1

 

 

La base del circuito es un amplificador integrado de National Semiconductor de 5 vatios de potencia con excelente ganancia y sensibilidad. Una llave doble conmuta las funciones de los altavoces que deben ser interconectados, pasando de escucha (como altavoces) para reproducción (como micrófonos). Así, en una posición de la llave, el altavoz de la estación remota funciona como micrófono y el de la estación local en su propia función, En la otra posición de la llave se invierte las funciones.

Los componentes R1 y C2 tienen por función mantener la impedancia de salida constante, mientras que el transformador T1 casa la impedancia del altavoz cuando se utiliza como micrófono con la alta impedancia de entrada del amplificador. El potenciómetro P1 actúa como control de sensibilidad y el capacitor C1 desacopla la fuente de alimentación evitando inestabilidades. Este capacitor debe montarse lo más cerca posible del pin 14 del circuito integrado.

 

 

MONTAJE

Los componentes básicos pueden quedar en una placa de circuito impreso con la disposición mostrada en la figura 2.

 

Figura 2
Figura 2

 

 

El transformador T1 tanto puede ser uno de salida utilizado en radios transistorizados con una impedancia de primario de 1 K ohms o más y un secundario de 8 ohms. Los altavoces deben tener 8 ohms de al menos 10 cm de diámetro e imán pesados ​​para mayor rendimiento. Estos altavoces deben montarse en los altavoces y el remoto debe protegerse para no sufrir la acción del tiempo.

El cable de conexión a los altavoces no necesita ser blindado. La llave S1 es del tipo hablar / oír de presión, como las encontradas en intercomunicadores, debiendo ser presionada en la posición de hablar y volviendo sola al ser suelta a la posición de oír. Esto significa que, con la alimentación conectada, el circuito se mantiene en la posición de oír, lo que permite monitorear lo que ocurre junto a la estación remota.

 

 

PRUEBA Y USO

Para probar el aparato basta con alimentar el circuito y hablar en uno de los altavoces. Su voz se debe reproducir en el otro altavoz. Presionando S1 las funciones se invierten y el altavoz en el que se escuchaba el sonido remoto pasa a funcionar como micrófono. Comprobado el funcionamiento del aparato es sólo hacer la instalación definitiva. Los cables de conexión al altavoz remoto pueden tener hasta 20 metros de longitud.

 

 

Lista de material

CI-1 - LM384 - circuito integrado

R1 - 2,7 ohms - resistor

P1 - 2M2 - pote

C1, C2 - 100 nF - capacitor de poliéster o cerámico

C3 - 100 uF x 25 V - capacitor electrolítico

FTE1, FTE2 - Altavoces de 8 ohms x 10 cm

T1 - Transformador de salida de 1k x 8 ohms

Varios: placa de circuito impreso, cajas para montaje, hilos, soldadura, etc.

 

 

 

18.9MBMemory Usage39.26msRequest 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" => 1744008709 "last" => 1744008709...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:21 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
  • afterLoad (85.7KB) (271μs)
  • afterInitialise (1.14MB) (3.32ms)
  • afterRoute (179.16KB) (963μs)
  • beforeRenderComponent com_content (100.65KB) (409μs)
  • Before Access::preloadComponents (all components) (33.45KB) (181μs)
  • After Access::preloadComponents (all components) (107.06KB) (351μs)
  • Before Access::preloadPermissions (com_content) (1.57KB) (7μs)
  • After Access::preloadPermissions (com_content) (16.19MB) (19.85ms)
  • Before Access::getAssetRules (id:27456 name:com_content.article.31089) (514.65KB) (632μs)
  • After Access::getAssetRules (id:27456 name:com_content.article.31089) (7.38KB) (33μs)
  • afterRenderComponent com_content (378.08KB) (5.96ms)
  • afterDispatch (2.25KB) (50μs)
  • beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (1.64ms)
  • afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (319μs)
  • beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (91μs)
  • afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (1.11ms)
  • beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (558μs)
  • afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (66μs)
  • beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (184μs)
  • afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (46μs)
  • afterRender (257.75KB) (3.12ms)
  • 1 x After Access::preloadPermissions (com_content) (16.19MB) (50.56%)
    19.85ms
    1 x afterRenderComponent com_content (378.08KB) (15.17%)
    5.96ms
    1 x afterInitialise (1.14MB) (8.47%)
    3.32ms
    1 x afterRender (257.75KB) (7.94%)
    3.12ms
    1 x beforeRenderRawModule mod_articles_category (Banco de Circuitos) (359.33KB) (4.17%)
    1.64ms
    1 x afterRenderRawModule mod_finder (Busca_inteligente) (64.98KB) (2.82%)
    1.11ms
    1 x afterRoute (179.16KB) (2.45%)
    963μs
    1 x Before Access::getAssetRules (id:27456 name:com_content.article.31089) (514.65KB) (1.61%)
    632μs
    1 x beforeRenderModule mod_articles_category (Banco de Circuitos) (10.1KB) (1.42%)
    558μs
    1 x beforeRenderComponent com_content (100.65KB) (1.04%)
    409μs
    1 x After Access::preloadComponents (all components) (107.06KB) (0.89%)
    351μs
    1 x afterRenderRawModule mod_articles_category (Banco de Circuitos) (79.43KB) (0.81%)
    319μs
    1 x afterLoad (85.7KB) (0.69%)
    271μs
    1 x beforeRenderModule mod_finder (Busca_inteligente) (6.14KB) (0.47%)
    184μs
    1 x Before Access::preloadComponents (all components) (33.45KB) (0.46%)
    181μs
    1 x beforeRenderRawModule mod_finder (Busca_inteligente) (5.9KB) (0.23%)
    91μs
    1 x afterRenderModule mod_articles_category (Banco de Circuitos) (5.14KB) (0.17%)
    66μs
    1 x afterDispatch (2.25KB) (0.13%)
    50μs
    1 x afterRenderModule mod_finder (Busca_inteligente) (4.75KB) (0.12%)
    46μs
    1 x After Access::getAssetRules (id:27456 name:com_content.article.31089) (7.38KB) (0.08%)
    33μs
    1 x Before Access::preloadPermissions (com_content) (1.57KB) (0.02%)
    7μs
21 statements were executed, 5 of which were duplicates, 16 unique11.15ms1.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 174μ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)158μs944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `incbmx_viewlevels`46μ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` = :guest66μ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`320μ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)207μ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.93ms1.46MBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `incbmx_content`346μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:587Copy
  • UPDATE `incbmx_content` SET `hits` = (`hits` + 1) WHERE `id` = '31089'142μ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)174μ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)244μ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`161μ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 ASC377μ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`164μs3.92KBParams/libraries/src/Categories/Categories.php:375Copy
  • SELECT `name`,`element` FROM `incbmx_extensions` WHERE `type` = 'plugin' AND `folder` = 'finder' AND `enabled` = 1157μ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)89μs648B/administrator/components/com_finder/src/Indexer/Taxonomy.php:325Copy
  • SELECT * FROM `incbmx_schemaorg` WHERE `itemId` = :itemId AND `context` = :context58μ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` = 170μs1.37KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:465Copy