<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-CN">
		<id>http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=Lesson_4--Microduino_Phone_Dialer</id>
		<title>Lesson 4--Microduino Phone Dialer - 版本历史</title>
		<link rel="self" type="application/atom+xml" href="http:///https//wiki.microduino.cn/index.php?action=history&amp;feed=atom&amp;title=Lesson_4--Microduino_Phone_Dialer"/>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=Lesson_4--Microduino_Phone_Dialer&amp;action=history"/>
		<updated>2026-04-30T01:47:56Z</updated>
		<subtitle>本wiki的该页面的版本历史</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https//wiki.microduino.cn/index.php?title=Lesson_4--Microduino_Phone_Dialer&amp;diff=1657&amp;oldid=prev</id>
		<title>Pkj：/* Program */</title>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=Lesson_4--Microduino_Phone_Dialer&amp;diff=1657&amp;oldid=prev"/>
				<updated>2014-03-29T07:44:36Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Program&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;zh-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;2014年3月29日 (六) 07:44的版本&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l54&quot; &gt;第54行：&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;第54行：&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Program==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Program==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Download program:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/MicroduinoPhoneDialer&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Pkj</name></author>	</entry>

	<entry>
		<id>https//wiki.microduino.cn/index.php?title=Lesson_4--Microduino_Phone_Dialer&amp;diff=1344&amp;oldid=prev</id>
		<title>Pkj：Created page with &quot;{{Language|第四课--Microduino 电话拨号器}} {| style=&quot;width: 800px;&quot; |- | ==Objective== This lesson will show you how to generate dual tone multiple frequency signal by...&quot;</title>
		<link rel="alternate" type="text/html" href="https//wiki.microduino.cn/index.php?title=Lesson_4--Microduino_Phone_Dialer&amp;diff=1344&amp;oldid=prev"/>
				<updated>2014-03-05T12:26:22Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Language|第四课--Microduino 电话拨号器}} {| style=&amp;quot;width: 800px;&amp;quot; |- | ==Objective== This lesson will show you how to generate dual tone multiple frequency signal by...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Language|第四课--Microduino 电话拨号器}}&lt;br /&gt;
{| style=&amp;quot;width: 800px;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
==Objective==&lt;br /&gt;
This lesson will show you how to generate dual tone multiple frequency signal by Microduino. &lt;br /&gt;
&lt;br /&gt;
How to make a call? The answer is very easy: Picking up the receiver, press the phone keypad to dial the number.&lt;br /&gt;
But have you think that no need to press the phone keypad still can make a call? The answer is yes.&lt;br /&gt;
So we will introduce how to generate dual tone multiple frequency signal bye Microduino.&lt;br /&gt;
&lt;br /&gt;
'''Usage introduction：'''&lt;br /&gt;
Picked up the phone, and put the speaker close to the microphone. Send the phone number by the serial, wait for a moment call will be set up.&lt;br /&gt;
&lt;br /&gt;
'''Extend the usage：'''&lt;br /&gt;
Drive switch simulates phone pick machine, using this circuit dial-up, and then Microduino controls the voice module (WT588D, etc) send different voice to the phone line. To complete a whole automatic dialing machine which can make alarm, or telephone reminders.&lt;br /&gt;
&lt;br /&gt;
==Equipment==&lt;br /&gt;
*'''[[Microduino-Core]]'''&lt;br /&gt;
*'''[[Microduino-FT232R]]'''&lt;br /&gt;
*Other equipments:&lt;br /&gt;
**Breadboard Jumper            one box   &lt;br /&gt;
**Breadboard  	               one piece  &lt;br /&gt;
**LED Light-emitting diodes    six &lt;br /&gt;
**100Ω resistor (100Ω~1kΩ) 	   one &lt;br /&gt;
**Speaker                      one&lt;br /&gt;
**1uF capacitance (0.1uF~10uF) two&lt;br /&gt;
**USB Data cable               one&lt;br /&gt;
&lt;br /&gt;
'''Speaker'''&lt;br /&gt;
[[File:第四课-扬声器.jpg|600px|center|thumb]]&lt;br /&gt;
'''The structure and working principle'''&lt;br /&gt;
Electrodynamic speaker is the most widely used, it is divided into cone type, drum and dome-shaped. Here only the first two. Here introduces the first two only.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Cone type speaker&lt;br /&gt;
Cone speakers also called dynamic speaker.&lt;br /&gt;
It consists of three parts: &lt;br /&gt;
(1)vibration system, including cone paper cone, voice coil and centering support chip, etc; &lt;br /&gt;
(2)the magnetic circuit system, including the everlasting righteousness magnets, magnetic board and a column, etc;&lt;br /&gt;
(3) auxiliary system, including, wiring board, blank holder, dust cover and so on.&lt;br /&gt;
When the voice coil in the magnetic field has a current through audio, occurs with the audio current changing magnetic field, the magnetic field and magnetic field of permanent magnet interact, make the voice coil along the axial vibration, due to the speaker is simple in structure, bass plump, soft tone, and wide frequency band, but the efficiency is low.&lt;br /&gt;
&lt;br /&gt;
2、Drum speaker&lt;br /&gt;
Drum speakers comprise vibration system (high) and the trumpet. Vibration system similar to the cone speaker, the difference is its diaphragm is not paper bowl, but a ball shaped diaphragm. Diaphragm vibration through the trumpet (Two reflection) to the radiation sound wave in the air. It has high frequency, the volume is big, often used for outdoor amplification and square.&lt;br /&gt;
&lt;br /&gt;
'''Capacitance'''&lt;br /&gt;
[[File:第四课-电容.jpg|600px|center|thumb]]&lt;br /&gt;
Short for capacitors, is one of the extensive used electronic components in electronic equipment, widely used in every straight, coupling, bypass, filtering, tuning, energy conversion circuit, control circuit, etc.&lt;br /&gt;
&lt;br /&gt;
==Schematic==&lt;br /&gt;
[[File:第四课-Microduino自制拨号器原理图.jpg|600px|center|thumb]]&lt;br /&gt;
D11, D12 connected in parallel and series a resistor to the speaker's signal line, the GND of speaker connected to Microduino's GUN.&lt;br /&gt;
&lt;br /&gt;
==Program==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;cpp&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
Generate dual tone multiple frequency signal by Microduino&lt;br /&gt;
Ansifa        2011/11/27&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;Tone.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
String Phone_Number = &amp;quot;&amp;quot;;&lt;br /&gt;
int i = 0, mark = 0;&lt;br /&gt;
&lt;br /&gt;
//Define freq1，freq2 as the Tone instance，and define the frequence of DTMF&lt;br /&gt;
//DTMF frequence, refer to：[url]http://zh.wikipedia.org/zh/%E5%8F%8C%E9%9F%B3%E5%A4%9A%E9%A2%91[/url]&lt;br /&gt;
Tone freq1;&lt;br /&gt;
Tone freq2;&lt;br /&gt;
const int DTMF_freq1[] = {1336, 1209, 1336, 1477, 1209, 1336, 1477, 1209, 1336, 1477};&lt;br /&gt;
const int DTMF_freq2[] = {941,  697,  697,  697,  770,  770,  770,  852,  852,  852};&lt;br /&gt;
&lt;br /&gt;
void setup()&lt;br /&gt;
{&lt;br /&gt;
	Serial.begin(9600);&lt;br /&gt;
    //Define the video pin on D11,D12&lt;br /&gt;
    freq1.begin(11);&lt;br /&gt;
    freq2.begin(12);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void loop()&lt;br /&gt;
{&lt;br /&gt;
    //Read the serial data and compose string Phone_Number&lt;br /&gt;
    while (Serial.available() &amp;gt; 0)&lt;br /&gt;
    {&lt;br /&gt;
    	Phone_Number += char(Serial.read());&lt;br /&gt;
    	delay(2);&lt;br /&gt;
    	mark = 1;&lt;br /&gt;
    }&lt;br /&gt;
    //Play DTMF audio, the call number come from Phone_Number, duration time is 200ms, the interval is 300ms&lt;br /&gt;
    PlayDTMF(Phone_Number, 200, 300);&lt;br /&gt;
    &lt;br /&gt;
    //If received the number, then clean the Phone_Number, and reset mark&lt;br /&gt;
    if(mark == 1)&lt;br /&gt;
    {&lt;br /&gt;
       Phone_Number = &amp;quot;&amp;quot;;&lt;br /&gt;
       Serial.println();&lt;br /&gt;
       mark = 0;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*&lt;br /&gt;
DTMF play function&lt;br /&gt;
Call format：playDTMF(number(0~9), duration time)。&lt;br /&gt;
*/&lt;br /&gt;
void PlayDTMF(String Number, long duration, long pause)&lt;br /&gt;
{&lt;br /&gt;
    //If input number is NULL, or duration &amp;lt; 0, or pause &amp;lt;0, then return to main function&lt;br /&gt;
    if(Number.length() == 0 || duration &amp;lt;= 0 || pause &amp;lt;= 0) return;&lt;br /&gt;
    //Split the number&lt;br /&gt;
    for(i = 0; i &amp;lt; Number.length(); i++)&lt;br /&gt;
    {&lt;br /&gt;
        //Check the number range&lt;br /&gt;
        if(Number[i] &amp;gt;= '0' &amp;amp;&amp;amp; Number[i] &amp;lt;= '9')&lt;br /&gt;
        {&lt;br /&gt;
            //ASCII minus the '0', get pure Numbers&lt;br /&gt;
            Number[i] -= '0';&lt;br /&gt;
            //Output to serial port&lt;br /&gt;
            Serial.print(Number[i], DEC);&lt;br /&gt;
            //Output the first DTMF&lt;br /&gt;
            freq1.play(DTMF_freq1[Number[i]], duration);&lt;br /&gt;
            //Output the second DTMF&lt;br /&gt;
            freq2.play(DTMF_freq2[Number[i]], duration);&lt;br /&gt;
            delay(pause);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Debug==&lt;br /&gt;
Step 1：Download the Tone library, and uncompress to arduino-0022\libraries：&lt;br /&gt;
[http://rogue-code.googlecode.com/files/Arduino-Library-Tone.zip]&lt;br /&gt;
Compared with the own tone function, this Tone library has more functions. It can output waveforms of different frequency in multiple output pin simultaneously, but with own tone function only can output in a pin over a period of time.&lt;br /&gt;
&lt;br /&gt;
'''Note：Uncompress, change the &amp;quot;#include &amp;lt;wiring.h&amp;gt;&amp;quot; to &amp;quot;#include &amp;lt;Arduino.h&amp;gt;&amp;quot; in Tone.cpp'''&lt;br /&gt;
&lt;br /&gt;
Step 2：Setup circuit, as follows:&lt;br /&gt;
[[File:第四课-自制拨号器电路.jpg|600px|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
Step 3：Complete code in IDE&lt;br /&gt;
&lt;br /&gt;
Step 4：Speaker close to phone and dial &lt;br /&gt;
[[File:第四课-喇叭放在电话听筒.jpg|600px|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
Setp 5：Send phone number in serial port&lt;br /&gt;
[[File:第四课-在IDE中拨号.jpg|600px|center|thumb]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Result==&lt;br /&gt;
Input phone in serial port, then set up the call.&lt;br /&gt;
==Video==&lt;br /&gt;
http://v.youku.com/v_show/id_XNjc1NjUzNTky.html&lt;/div&gt;</summary>
		<author><name>Pkj</name></author>	</entry>

	</feed>