Mercurial > espworkshop
changeset 7:53ba8183ea30
Add beeper example
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Thu, 09 Jun 2016 14:54:25 +0200 |
| parents | b263b8040dc0 |
| children | 38df28e3d94e |
| files | basics.rst fritzing/beeper.fz images/beeper.png setup.rst |
| diffstat | 4 files changed, 334 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/basics.rst Thu Jun 09 13:45:15 2016 +0200 +++ b/basics.rst Thu Jun 09 14:54:25 2016 +0200 @@ -228,3 +228,28 @@ specified position, but instead rotate with specified speed. Those are suitable for building simple wheeled robots. It's possible to modify a normal servo into a continuous rotation servo. + + +Beepers +======= + +When I wrote that PWM has a frequency, did you immediately think about sound? +Yes, electric signals can be similar to sound, and we can turn them into sound +by using speakers. Or small piezoelectric beepers, like in our case. + +.. image:: ./images/beeper.png + +The piezoelectric speaker doesn't use any external source of power -- it will +be powered directly from the GPIO pin -- that's why it can be pretty quiet. +Still, let's try it:: + + from machine import Pin, PWM + import time + + beeper = PWM(Pin(14), freq=440, duty=512) + time.sleep(0.5) + beeper.deinit() + +Unfortunately, we can't really play any melodies, as the possible frequencies +currently don't cover the musical notes. We can make noises, and that's pretty +much it. We can play music and other sounds, but not with the PWM.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fritzing/beeper.fz Thu Jun 09 14:54:25 2016 +0200 @@ -0,0 +1,307 @@ +<?xml version="1.0" encoding="UTF-8"?> +<module fritzingVersion="0.9.3b.04.19.5c895d327c44a3114e5fcc9d8260daf0cbb52806" icon=".png"> + <boards> + <board moduleId="TwoLayerRectanglePCBModuleID" title="Rectangular PCB - Resizable" instance="PCB1" width="5cm" height="5cm"/> + </boards> + <views> + <view name="breadboardView" backgroundColor="#ffffff" gridSize="0.1in" showGrid="1" alignToGrid="1" viewFromBelow="0"/> + <view name="schematicView" backgroundColor="#ffffff" gridSize="0.1in" showGrid="1" alignToGrid="1" viewFromBelow="0"/> + <view name="pcbView" backgroundColor="#333333" gridSize="0.025in" showGrid="1" alignToGrid="1" viewFromBelow="0" autorouteViaHoleSize="" DRC_Keepout="" autorouteTraceWidth="24" GPG_Keepout="" autorouteViaRingThickness=""/> + </views> + <instances> + <instance moduleIdRef="TwoLayerRectanglePCBModuleID" modelIndex="5736" path=":/resources/parts/core/rectangle_pcb_two_layers.fzp"> + <property name="layers" value="2"/> + <property name="width" value="50"/> + <property name="height" value="50"/> + <title>PCB1</title> + <views> + <breadboardView layer="icon"> + <geometry z="0.5001" x="0" y="0"/> + </breadboardView> + <pcbView layer="board"> + <geometry z="1.5001" x="0.052118" y="0"/> + </pcbView> + <schematicView layer="icon"> + <geometry z="0.5001" x="0" y="0"/> + </schematicView> + </views> + </instance> + <instance moduleIdRef="NodeMCU v1_ec83652eb5f35f6ec40972b5e32f3bd9_1" modelIndex="5800" path="/home/sheep/Stuff/xxx/Fritzing/parts/user/NodeMCU v1_ec83652eb5f35f6ec40972b5e32f3bd9_1.fzp" flippedSMD="true"> + <property name="flippedSMD" value="true"/> + <title>U1</title> + <views> + <breadboardView layer="breadboard"> + <geometry z="2.50009" x="247.376" y="31.2438"/> + <connectors> + <connector connectorId="connector7" layer="breadboard"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5963" layer="breadboardWire"/> + </connects> + </connector> + <connector connectorId="connector6" layer="breadboard"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5956" layer="breadboardWire"/> + </connects> + </connector> + </connectors> + </breadboardView> + <pcbView layer="copper1"> + <geometry z="8.50009" x="250.02" y="211.23"/> + <titleGeometry visible="true" x="373.77" y="204.23" z="13" xOffset="123.75" yOffset="-7" textColor="#000000" fontSize="5"> + <displayKey key=""/> + </titleGeometry> + <connectors> + <connector connectorId="connector7" layer="copper1"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5963" layer="copper1trace"/> + </connects> + </connector> + <connector connectorId="connector6" layer="copper1"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5956" layer="copper1trace"/> + </connects> + </connector> + <connector connectorId="connector1" layer="copper1"> + <geometry x="0" y="0"/> + <connects/> + </connector> + </connectors> + </pcbView> + <schematicView layer="schematic"> + <geometry z="2.50009" x="-201.546" y="-306.172"> + <transform m11="0" m12="1" m13="0" m21="-1" m22="0" m23="0" m31="121.875" m32="40.6252" m33="1"/> + </geometry> + <titleGeometry visible="true" x="-120.296" y="-313.172" z="7.00002" xOffset="81.25" yOffset="-7" textColor="#000000" fontSize="5"> + <displayKey key=""/> + <displayKey key="part number"/> + </titleGeometry> + <connectors> + <connector connectorId="connector7" layer="schematic"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5963" layer="schematicTrace"/> + </connects> + </connector> + <connector connectorId="connector6" layer="schematic"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5956" layer="schematicTrace"/> + </connects> + </connector> + <connector connectorId="connector14" layer="schematic"> + <geometry x="0" y="0"/> + <connects/> + </connector> + </connectors> + </schematicView> + </views> + </instance> + <instance moduleIdRef="8abf6496b5d466c7a1893c17a296a676" modelIndex="5902" path="/home/sheep/Stuff/Fritzing/fritzing-parts/core/piezo sensor.fzp"> + <title>J1</title> + <views> + <breadboardView layer="breadboard"> + <geometry z="3.00011" x="279.412" y="-76.878"/> + <connectors> + <connector connectorId="connector1" layer="breadboard"> + <geometry x="53.5883" y="84.573"/> + <leg> + <point x="0" y="0"/> + <bezier/> + <point x="0" y="10.305"/> + <bezier/> + </leg> + <connects> + <connect connectorId="connector0" modelIndex="5963" layer="breadboardWire"/> + </connects> + </connector> + <connector connectorId="connector0" layer="breadboard"> + <geometry x="44.5491" y="84.573"/> + <leg> + <point x="0" y="0"/> + <bezier/> + <point x="0" y="10.305"/> + <bezier/> + </leg> + <connects> + <connect connectorId="connector0" modelIndex="5956" layer="breadboardWire"/> + </connects> + </connector> + </connectors> + </breadboardView> + <schematicView layer="schematic"> + <geometry z="3.00011" x="-237.804" y="-314.301"> + <transform m11="0" m12="1" m13="0" m21="-1" m22="0" m23="0" m31="29.0187" m32="-3.38126" m33="1"/> + </geometry> + <titleGeometry visible="true" x="-205.404" y="-321.301" z="7.00011" xOffset="32.4" yOffset="-7" textColor="#000000" fontSize="5"> + <displayKey key=""/> + <displayKey key="part number"/> + </titleGeometry> + <connectors> + <connector connectorId="connector1" layer="schematic"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector0" modelIndex="5963" layer="schematicTrace"/> + </connects> + </connector> + <connector connectorId="connector0" layer="schematic"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector0" modelIndex="5956" layer="schematicTrace"/> + </connects> + </connector> + </connectors> + </schematicView> + <pcbView layer="copper0"> + <geometry z="6.00011" x="0.45" y="0.45"> + <transform m11="0" m12="1" m13="0" m21="-1" m22="0" m23="0" m31="17.1" m32="4.5" m33="1"/> + </geometry> + <titleGeometry visible="true" x="13.05" y="-6.55" z="13.0001" xOffset="12.6" yOffset="-7" textColor="#000000" fontSize="5"> + <displayKey key=""/> + </titleGeometry> + <connectors> + <connector connectorId="connector1" layer="copper0"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector0" modelIndex="5963" layer="copper1trace"/> + </connects> + </connector> + <connector connectorId="connector0" layer="copper0"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector0" modelIndex="5956" layer="copper1trace"/> + </connects> + </connector> + </connectors> + </pcbView> + </views> + </instance> + <instance moduleIdRef="WireModuleID" modelIndex="5956" path=":/resources/parts/core/wire.fzp"> + <views/> + </instance> + <instance moduleIdRef="WireModuleID" modelIndex="5956" path=":/resources/parts/core/wire.fzp"> + <title>Wire43</title> + <views> + <breadboardView layer="breadboardWire"> + <geometry z="4.00011" x="323.961" y="18" x1="0" y1="0" x2="-0.24926" y2="18.2825" wireFlags="64"/> + <wireExtras mils="22.2222" color="#418dd9" opacity="1" banded="0"/> + <connectors> + <connector connectorId="connector1" layer="breadboardWire"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector6" modelIndex="5800" layer="breadboard"/> + </connects> + </connector> + <connector connectorId="connector0" layer="breadboardWire"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector0" modelIndex="5902" layer="breadboard"/> + </connects> + </connector> + </connectors> + </breadboardView> + <schematicView layer="schematicTrace"> + <geometry z="6.00011" x="323.708" y="9.05899" x1="0" y1="0" x2="0" y2="27.4789" wireFlags="64"/> + <wireExtras mils="9.7222" color="#404040" opacity="1" banded="0"/> + <connectors> + <connector connectorId="connector1" layer="schematicTrace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector6" modelIndex="5800" layer="schematic"/> + </connects> + </connector> + <connector connectorId="connector0" layer="schematicTrace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector0" modelIndex="5902" layer="schematic"/> + </connects> + </connector> + </connectors> + </schematicView> + <pcbView layer="copper1trace"> + <geometry z="10.0001" x="323.708" y="9.05899" x1="0" y1="0" x2="0" y2="27.4789" wireFlags="64"/> + <wireExtras mils="11.1111" color="#f2c600" opacity="1" banded="0"/> + <connectors> + <connector connectorId="connector1" layer="copper1trace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector6" modelIndex="5800" layer="copper1"/> + </connects> + </connector> + <connector connectorId="connector0" layer="copper1trace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector0" modelIndex="5902" layer="copper0"/> + </connects> + </connector> + </connectors> + </pcbView> + </views> + </instance> + <instance moduleIdRef="WireModuleID" modelIndex="5963" path=":/resources/parts/core/wire.fzp"> + <views/> + </instance> + <instance moduleIdRef="WireModuleID" modelIndex="5963" path=":/resources/parts/core/wire.fzp"> + <title>Wire46</title> + <views> + <breadboardView layer="breadboardWire"> + <geometry z="4.00012" x="333" y="18" x1="0" y1="0" x2="-0.28968" y2="18.2825" wireFlags="64"/> + <wireExtras mils="22.2222" color="#418dd9" opacity="1" banded="0"/> + <connectors> + <connector connectorId="connector1" layer="breadboardWire"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector7" modelIndex="5800" layer="breadboard"/> + </connects> + </connector> + <connector connectorId="connector0" layer="breadboardWire"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5902" layer="breadboard"/> + </connects> + </connector> + </connectors> + </breadboardView> + <schematicView layer="schematicTrace"> + <geometry z="6.00012" x="333.069" y="10.2669" x1="0" y1="0" x2="0" y2="24.7612" wireFlags="64"/> + <wireExtras mils="9.7222" color="#404040" opacity="1" banded="0"/> + <connectors> + <connector connectorId="connector1" layer="schematicTrace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector7" modelIndex="5800" layer="schematic"/> + </connects> + </connector> + <connector connectorId="connector0" layer="schematicTrace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5902" layer="schematic"/> + </connects> + </connector> + </connectors> + </schematicView> + <pcbView layer="copper1trace"> + <geometry z="10.0001" x="333.069" y="10.2669" x1="0" y1="0" x2="0" y2="24.7612" wireFlags="64"/> + <wireExtras mils="11.1111" color="#f2c600" opacity="1" banded="0"/> + <connectors> + <connector connectorId="connector1" layer="copper1trace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector7" modelIndex="5800" layer="copper1"/> + </connects> + </connector> + <connector connectorId="connector0" layer="copper1trace"> + <geometry x="0" y="0"/> + <connects> + <connect connectorId="connector1" modelIndex="5902" layer="copper0"/> + </connects> + </connector> + </connectors> + </pcbView> + </views> + </instance> + </instances> +</module>
