{"id":1194,"date":"2020-10-29T17:19:25","date_gmt":"2020-10-29T16:19:25","guid":{"rendered":"https:\/\/www.picademie.nl\/?p=1194"},"modified":"2020-11-14T16:56:04","modified_gmt":"2020-11-14T15:56:04","slug":"dtmf-decoder-mt8870","status":"publish","type":"post","link":"https:\/\/www.picademie.nl\/index.php\/2020\/10\/29\/dtmf-decoder-mt8870\/","title":{"rendered":"DTMF decoder (MT8870)"},"content":{"rendered":"\n<p>Met dit project zetten we DTMF tonen om naar decimale waarden. Zo zijn we in staat door middel van een toon, een GPIO poort aan te sturen. Dit project focust zich alleen op de detectie van het DTMF signaal en het in decimale waarde zichtbaar maken. Het is daarna erg eenvoudig om bij een herkende waarde een bepaalde GPIO poort te activeren.<\/p>\n\n\n\n<p><strong>Wat is DTMF<\/strong><br>DTMF (dual-tone multi-frequency) is een systeem dat wordt gebruikt in de telefonie om opdrachten te versturen (voornamelijk als telefoonnummer) binnen de frequentiebandbreedte van spraak (125 \u2013 8,000 Hz). Het is de opvolger van pulskiezen en wordt soms ook toonkiezen of toondrukkiezen (TDK) genoemd.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-26-1024x701.png\" alt=\"\" class=\"wp-image-1205\" width=\"401\" height=\"275\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-26-1024x701.png 1024w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-26-300x205.png 300w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-26-768x525.png 768w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-26.png 1083w\" sizes=\"auto, (max-width: 401px) 100vw, 401px\" \/><figcaption>T65 TDK telefoontoestel met DTMF toonkiezer<\/figcaption><\/figure>\n\n\n\n<p><strong>Dual tone<\/strong><br>Dual tone betekent dat er twee frequenties tegelijk worden uitgezonden. In totaal zijn er acht frequenties. Steeds wordt er een van de vier laagste en een van de vier hoogste tegelijk uitgezonden. Er zijn dus zestien verschillende combinaties in een matrix van vier bij vier.<br>De frequenties zijn zo gekozen dat er door menging van deze frequenties geen frequentie kan ontstaan die bij deze acht frequenties staat. Men koos voor een menging van twee tonen, zodat een decoder niet zou reageren op toevallige spraakinformatie.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"309\" height=\"302\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-24.png\" alt=\"\" class=\"wp-image-1200\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-24.png 309w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-24-300x293.png 300w\" sizes=\"auto, (max-width: 309px) 100vw, 309px\" \/><\/figure>\n\n\n\n<p>De frequentieverdeling en de binaire uitkomst van de MT8870 DTMF decoder ziet er als volgt uit:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"384\" height=\"347\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-25.png\" alt=\"\" class=\"wp-image-1202\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-25.png 384w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-25-300x271.png 300w\" sizes=\"auto, (max-width: 384px) 100vw, 384px\" \/><\/figure>\n\n\n\n<p><strong>MT8870 module<\/strong><br>De module werkt op 5V, heeft 4 datalijnen en een en StQ-datalijn die Hoog is als er een DTMF signaal gedetecteerd wordt. Mocht je hiervoor een LAAG signaal willen gebruiken, deze is naast de pin op de module aangebracht. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/Verschil-MT8870-module.png\" alt=\"\" class=\"wp-image-1222\" width=\"505\" height=\"329\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/Verschil-MT8870-module.png 885w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/Verschil-MT8870-module-300x196.png 300w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/Verschil-MT8870-module-768x501.png 768w\" sizes=\"auto, (max-width: 505px) 100vw, 505px\" \/><figcaption>Verschillende aansluitpinnen<\/figcaption><\/figure>\n\n\n\n<p>Ik heb twee afbeeldingen geplaatst omdat je beide regelmatig tegenkomt. Het verschil is dat er een NOT-streepje bij de StQ pin geprint is, dit hoort als het signaal ge\u00efnverteerd is. Ook is de voedingsaansluiting met de ground omgewisseld. Hoe dan ook. Ik neem aan dat beide prima werken. Je zou de module kunnen doormeten om te bevestigen wat +5V en GND op het board is. Hier vind je de het schema. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"922\" height=\"560\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870-schema.png\" alt=\"\" class=\"wp-image-1220\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870-schema.png 922w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870-schema-300x182.png 300w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870-schema-768x466.png 768w\" sizes=\"auto, (max-width: 922px) 100vw, 922px\" \/><\/figure>\n\n\n\n<p>De module wordt als volgt met de Raspberry Pi verbonden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"609\" height=\"295\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870-aansluittabel2.png\" alt=\"\" class=\"wp-image-1229\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870-aansluittabel2.png 609w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870-aansluittabel2-300x145.png 300w\" sizes=\"auto, (max-width: 609px) 100vw, 609px\" \/><figcaption>Aansluittabel MT8870 module met de Raspberry Pi<\/figcaption><\/figure>\n\n\n\n<p><strong>DTMF encoder<\/strong><br>Als je smartphone een 3mm mini-jack koptelefoon aansluiting heeft, is het wellicht een idee om een (gratis) Dialer-app te installeren en je smartphone met de decoder module te verbinden. Zo kun simpel de decoder van DTMF signalen voorzien.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-28.png\" alt=\"\" class=\"wp-image-1242\" width=\"316\" height=\"324\" srcset=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-28.png 549w, https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/image-28-293x300.png 293w\" sizes=\"auto, (max-width: 316px) 100vw, 316px\" \/><\/figure>\n\n\n\n<p>Niet iedereen heeft een DTMF encoder of een smartphone met een 3mm koptelefoon aansluiting. Ik heb een filmpje gemaakt dat je kunt afspelen. De koptelefoon uitgang van je pc, laptop (of smartphone) waarmee je het filmpje afspeelt verbind je met de DTMF module door middel van een 3mm mini-jack kabel. <\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"DTMF Toon test\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/pn-n03Z62Mg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Naast het afspelen van het filmpje kun je gelijktijdig op je pc Putty gebruiken om het script op te starten en de resultaten te lezen. In het filmpje hieronder zie je mijn resultaten. <\/p>\n\n\n\n<div class=\"wp-block-file\"><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/readDtmf.zip\"><strong><span class=\"has-inline-color has-black-color\">Python<\/span><\/strong><br>Klik hier om het script te download<\/a><a href=\"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/readDtmf.zip\" class=\"wp-block-file__button\" download>Download<\/a><\/div>\n\n\n\n<p>Pak het zip-bestand uit, verplaats het met een FTP cli\u00ebnt naar een map op de Raspberry Pi en start het script met: <\/p>\n\n\n\n<p><code>python readDtmf.py<\/code><\/p>\n\n\n\n<figure class=\"wp-block-embed-youtube wp-block-embed is-type-video is-provider-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Raspberry Pi - DTMF decoder (MT8870)\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Ycvf3kCDYqI?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Veel succes!<\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"mh-excerpt\"><p>Met dit project zetten we DTMF tonen om naar decimale waarden. Zo zijn we in staat door middel van een toon, een GPIO poort aan <a class=\"mh-excerpt-more\" href=\"https:\/\/www.picademie.nl\/index.php\/2020\/10\/29\/dtmf-decoder-mt8870\/\" title=\"DTMF decoder (MT8870)\">[&#8230;]<\/a><\/p>\n<\/div>","protected":false},"author":1,"featured_media":1196,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"jetpack_featured_media_url":"https:\/\/www.picademie.nl\/wp-content\/uploads\/2020\/10\/MT8870.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts\/1194","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/comments?post=1194"}],"version-history":[{"count":0,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/posts\/1194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/media\/1196"}],"wp:attachment":[{"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/media?parent=1194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/categories?post=1194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.picademie.nl\/index.php\/wp-json\/wp\/v2\/tags?post=1194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}