Merge pull request #6 from ShikyC/piezoelectric_ceramics
Update with piezo sensors
This commit is contained in:
commit
3b9da8d1bc
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
build/
|
||||
.vscode/
|
File diff suppressed because it is too large
Load Diff
@ -1,19 +0,0 @@
|
||||
[Eagle]
|
||||
Version="07 05 00"
|
||||
Platform="Mac OS X"
|
||||
Serial="62191E841E-LSR-WLM-1EL"
|
||||
Globals="Globals"
|
||||
Desktop="Desktop"
|
||||
|
||||
[Globals]
|
||||
AutoSaveProject=1
|
||||
|
||||
[Win_1]
|
||||
Type="Control Panel"
|
||||
Loc="4 23 1439 899"
|
||||
State=2
|
||||
Number=0
|
||||
|
||||
[Desktop]
|
||||
Screen="1440 900"
|
||||
Window="Win_1"
|
@ -1,723 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE eagle SYSTEM "eagle.dtd">
|
||||
<eagle version="7.5.0">
|
||||
<drawing>
|
||||
<settings>
|
||||
<setting alwaysvectorfont="no"/>
|
||||
<setting verticaltext="up"/>
|
||||
</settings>
|
||||
<grid distance="0.05" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.025" altunitdist="inch" altunit="inch"/>
|
||||
<layers>
|
||||
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
|
||||
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
|
||||
<layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
|
||||
<layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
|
||||
<layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
|
||||
<layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
|
||||
<layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
|
||||
<layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
|
||||
<layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
|
||||
<layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
|
||||
<layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
|
||||
<layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
|
||||
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
|
||||
<layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
|
||||
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="yes"/>
|
||||
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="yes"/>
|
||||
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="yes"/>
|
||||
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="yes"/>
|
||||
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="yes"/>
|
||||
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="yes"/>
|
||||
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="yes"/>
|
||||
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="yes"/>
|
||||
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="yes"/>
|
||||
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="yes"/>
|
||||
<layer number="39" name="tKeepout" color="4" fill="11" visible="yes" active="yes"/>
|
||||
<layer number="40" name="bKeepout" color="1" fill="11" visible="yes" active="yes"/>
|
||||
<layer number="41" name="tRestrict" color="4" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="42" name="bRestrict" color="1" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="43" name="vRestrict" color="2" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="yes"/>
|
||||
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="yes"/>
|
||||
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="yes"/>
|
||||
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="yes"/>
|
||||
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
|
||||
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
|
||||
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="90" name="Modules" color="5" fill="1" visible="no" active="no"/>
|
||||
<layer number="91" name="Nets" color="2" fill="1" visible="no" active="no"/>
|
||||
<layer number="92" name="Busses" color="1" fill="1" visible="no" active="no"/>
|
||||
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="no"/>
|
||||
<layer number="94" name="Symbols" color="4" fill="1" visible="no" active="no"/>
|
||||
<layer number="95" name="Names" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="96" name="Values" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="97" name="Info" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="98" name="Guide" color="6" fill="1" visible="no" active="no"/>
|
||||
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
|
||||
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="103" name="tMap" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="104" name="Name" color="16" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="105" name="tPlate" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="106" name="bPlate" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="107" name="Crop" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
|
||||
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
|
||||
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
|
||||
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
|
||||
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
|
||||
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
|
||||
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
|
||||
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
|
||||
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
|
||||
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
|
||||
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
|
||||
<layer number="254" name="cooling" color="7" fill="1" visible="yes" active="yes"/>
|
||||
</layers>
|
||||
<board>
|
||||
<plain>
|
||||
<wire x1="0" y1="0" x2="50.78" y2="0" width="0" layer="20"/>
|
||||
<wire x1="50.78" y1="0" x2="50.78" y2="33.96" width="0" layer="20"/>
|
||||
<wire x1="50.78" y1="33.96" x2="0" y2="33.96" width="0" layer="20"/>
|
||||
<wire x1="0" y1="33.96" x2="0" y2="0" width="0" layer="20"/>
|
||||
</plain>
|
||||
<libraries>
|
||||
<library name="E14_Arduino_revB">
|
||||
<packages>
|
||||
<package name="ARDUINO_MICRO">
|
||||
<description>Footprint for representing an Arduino Micro board in an EAGLE schematic. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
||||
<pad name="A0" x="11.43" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A1" x="13.97" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A2" x="16.51" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A3" x="19.05" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A4" x="21.59" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A5" x="24.13" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="REF" x="8.89" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="23.876" y1="1.016" x2="24.384" y2="1.524" layer="51"/>
|
||||
<rectangle x1="21.336" y1="1.016" x2="21.844" y2="1.524" layer="51"/>
|
||||
<rectangle x1="18.796" y1="1.016" x2="19.304" y2="1.524" layer="51"/>
|
||||
<rectangle x1="16.256" y1="1.016" x2="16.764" y2="1.524" layer="51"/>
|
||||
<rectangle x1="13.716" y1="1.016" x2="14.224" y2="1.524" layer="51"/>
|
||||
<rectangle x1="11.176" y1="1.016" x2="11.684" y2="1.524" layer="51"/>
|
||||
<rectangle x1="8.636" y1="1.016" x2="9.144" y2="1.524" layer="51"/>
|
||||
<pad name="3V3" x="6.35" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="6.096" y1="1.016" x2="6.604" y2="1.524" layer="51"/>
|
||||
<pad name="D13" x="3.81" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="3.556" y1="1.016" x2="4.064" y2="1.524" layer="51"/>
|
||||
<wire x1="0" y1="0" x2="0" y2="17.78" width="0.127" layer="20"/>
|
||||
<wire x1="0" y1="17.78" x2="48.26" y2="17.78" width="0.127" layer="20"/>
|
||||
<wire x1="48.26" y1="17.78" x2="48.26" y2="0" width="0.127" layer="20"/>
|
||||
<wire x1="48.26" y1="0" x2="0" y2="0" width="0.127" layer="20"/>
|
||||
<pad name="+5V" x="31.75" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="RST." x="34.29" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="GND." x="36.83" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="VIN" x="39.37" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="MISO]" x="41.91" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="SCK" x="44.45" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="NC." x="29.21" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="44.196" y1="1.016" x2="44.704" y2="1.524" layer="51"/>
|
||||
<rectangle x1="41.656" y1="1.016" x2="42.164" y2="1.524" layer="51"/>
|
||||
<rectangle x1="39.116" y1="1.016" x2="39.624" y2="1.524" layer="51"/>
|
||||
<rectangle x1="36.576" y1="1.016" x2="37.084" y2="1.524" layer="51"/>
|
||||
<rectangle x1="34.036" y1="1.016" x2="34.544" y2="1.524" layer="51"/>
|
||||
<rectangle x1="31.496" y1="1.016" x2="32.004" y2="1.524" layer="51"/>
|
||||
<rectangle x1="28.956" y1="1.016" x2="29.464" y2="1.524" layer="51"/>
|
||||
<pad name="NC" x="26.67" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="26.416" y1="1.016" x2="26.924" y2="1.524" layer="51"/>
|
||||
<pad name="D9" x="11.43" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D8" x="13.97" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D7" x="16.51" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D6" x="19.05" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D5" x="21.59" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D4" x="24.13" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D10" x="8.89" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="23.876" y1="16.256" x2="24.384" y2="16.764" layer="51"/>
|
||||
<rectangle x1="21.336" y1="16.256" x2="21.844" y2="16.764" layer="51"/>
|
||||
<rectangle x1="18.796" y1="16.256" x2="19.304" y2="16.764" layer="51"/>
|
||||
<rectangle x1="16.256" y1="16.256" x2="16.764" y2="16.764" layer="51"/>
|
||||
<rectangle x1="13.716" y1="16.256" x2="14.224" y2="16.764" layer="51"/>
|
||||
<rectangle x1="11.176" y1="16.256" x2="11.684" y2="16.764" layer="51"/>
|
||||
<rectangle x1="8.636" y1="16.256" x2="9.144" y2="16.764" layer="51"/>
|
||||
<pad name="D11" x="6.35" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="6.096" y1="16.256" x2="6.604" y2="16.764" layer="51"/>
|
||||
<pad name="D12" x="3.81" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="3.556" y1="16.256" x2="4.064" y2="16.764" layer="51"/>
|
||||
<pad name="GND" x="31.75" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="RST" x="34.29" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="RX1" x="36.83" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="TX1" x="39.37" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="SS" x="41.91" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="MOSI" x="44.45" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D2" x="29.21" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="44.196" y1="16.256" x2="44.704" y2="16.764" layer="51"/>
|
||||
<rectangle x1="41.656" y1="16.256" x2="42.164" y2="16.764" layer="51"/>
|
||||
<rectangle x1="39.116" y1="16.256" x2="39.624" y2="16.764" layer="51"/>
|
||||
<rectangle x1="36.576" y1="16.256" x2="37.084" y2="16.764" layer="51"/>
|
||||
<rectangle x1="34.036" y1="16.256" x2="34.544" y2="16.764" layer="51"/>
|
||||
<rectangle x1="31.496" y1="16.256" x2="32.004" y2="16.764" layer="51"/>
|
||||
<rectangle x1="28.956" y1="16.256" x2="29.464" y2="16.764" layer="51"/>
|
||||
<pad name="D3" x="26.67" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="26.416" y1="16.256" x2="26.924" y2="16.764" layer="51"/>
|
||||
<hole x="1.27" y="1.27" drill="1.2"/>
|
||||
<hole x="1.27" y="16.51" drill="1.2"/>
|
||||
<hole x="46.99" y="16.51" drill="1.2"/>
|
||||
<hole x="46.99" y="1.27" drill="1.2"/>
|
||||
<wire x1="-0.8382" y1="5.3086" x2="4.2418" y2="5.3086" width="0.127" layer="21"/>
|
||||
<wire x1="4.2418" y1="5.3086" x2="4.2418" y2="12.3698" width="0.127" layer="21"/>
|
||||
<wire x1="4.2418" y1="12.3698" x2="-0.8382" y2="12.3698" width="0.127" layer="21"/>
|
||||
<wire x1="-0.8382" y1="12.3698" x2="-0.8382" y2="5.3086" width="0.127" layer="21"/>
|
||||
<smd name="<USB>+V" x="3.1496" y="10.9474" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>D+" x="3.1496" y="9.9568" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>D-" x="3.1496" y="8.9408" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>ID" x="3.1496" y="7.9756" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>GND" x="3.1496" y="6.9596" dx="1.27" dy="0.635" layer="1"/>
|
||||
<text x="39.0144" y="3.2258" size="1.27" layer="21" rot="R90">ICSP</text>
|
||||
<circle x="39.116" y="2.54" radius="0.127" width="0.127" layer="21"/>
|
||||
<wire x1="46.99" y1="7.112" x2="46.355" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="45.085" y1="7.747" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="44.45" y1="7.112" x2="43.815" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="42.545" y1="7.747" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="41.91" y1="7.112" x2="41.275" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="40.005" y1="7.747" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="46.99" y1="3.302" x2="46.355" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="46.355" y1="2.667" x2="45.085" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="45.085" y1="2.667" x2="44.45" y2="3.302" width="0.1524" layer="21"/>
|
||||
<wire x1="44.45" y1="3.302" x2="43.815" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="43.815" y1="2.667" x2="42.545" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="42.545" y1="2.667" x2="41.91" y2="3.302" width="0.1524" layer="21"/>
|
||||
<wire x1="41.91" y1="3.302" x2="41.275" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="41.275" y1="2.667" x2="40.005" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="40.005" y1="2.667" x2="39.37" y2="3.302" width="0.1524" layer="21"/>
|
||||
<wire x1="44.45" y1="3.302" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="41.91" y1="3.302" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="39.37" y1="3.302" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="41.275" y1="7.747" x2="40.005" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="43.815" y1="7.747" x2="42.545" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="46.355" y1="7.747" x2="45.085" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="46.99" y1="3.302" x2="46.99" y2="7.112" width="0.1524" layer="21"/>
|
||||
<pad name="GND_" x="45.72" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="RESET.." x="45.72" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="MOSI." x="43.18" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="SCK." x="43.18" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="5V" x="40.64" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="MISO." x="40.64" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<rectangle x1="45.466" y1="6.223" x2="45.974" y2="6.731" layer="51" rot="R180"/>
|
||||
<rectangle x1="45.466" y1="3.683" x2="45.974" y2="4.191" layer="51" rot="R180"/>
|
||||
<rectangle x1="42.926" y1="3.683" x2="43.434" y2="4.191" layer="51" rot="R180"/>
|
||||
<rectangle x1="42.926" y1="6.223" x2="43.434" y2="6.731" layer="51" rot="R180"/>
|
||||
<rectangle x1="40.386" y1="3.683" x2="40.894" y2="4.191" layer="51" rot="R180"/>
|
||||
<rectangle x1="40.386" y1="6.223" x2="40.894" y2="6.731" layer="51" rot="R180"/>
|
||||
<text x="19.05" y="10.16" size="1.27" layer="21">Arduino</text>
|
||||
<text x="19.05" y="8.255" size="1.27" layer="21">Micro</text>
|
||||
<text x="4.826" y="15.875" size="0.508" layer="21">1
|
||||
2</text>
|
||||
<text x="7.366" y="15.875" size="0.508" layer="21">1
|
||||
1</text>
|
||||
<text x="9.906" y="15.875" size="0.508" layer="21">1
|
||||
0</text>
|
||||
<text x="12.446" y="16.256" size="0.508" layer="21">9</text>
|
||||
<text x="14.986" y="15.875" size="0.508" layer="21">8</text>
|
||||
<text x="17.526" y="15.875" size="0.508" layer="21">7</text>
|
||||
<text x="20.066" y="15.875" size="0.508" layer="21">6</text>
|
||||
<text x="22.606" y="15.875" size="0.508" layer="21">5</text>
|
||||
<text x="25.146" y="15.875" size="0.508" layer="21">4</text>
|
||||
<text x="27.686" y="15.875" size="0.508" layer="21">3</text>
|
||||
<text x="30.226" y="15.875" size="0.508" layer="21">2</text>
|
||||
<text x="32.766" y="15.875" size="0.508" layer="21">G</text>
|
||||
<text x="35.306" y="15.875" size="0.508" layer="21">R</text>
|
||||
<text x="37.846" y="15.875" size="0.508" layer="21">R
|
||||
X</text>
|
||||
<text x="40.386" y="15.875" size="0.508" layer="21">T
|
||||
X</text>
|
||||
<text x="42.926" y="15.875" size="0.508" layer="21">S
|
||||
S</text>
|
||||
<text x="43.688" y="14.986" size="0.508" layer="21">MOSI</text>
|
||||
<text x="47.244" y="2.921" size="0.508" layer="21">S
|
||||
C
|
||||
K</text>
|
||||
<text x="43.053" y="0.762" size="0.508" layer="21">M
|
||||
I</text>
|
||||
<text x="40.513" y="0.762" size="0.508" layer="21">V
|
||||
I</text>
|
||||
<text x="37.973" y="1.524" size="0.508" layer="21">G</text>
|
||||
<text x="35.306" y="0.762" size="0.508" layer="21">R
|
||||
S</text>
|
||||
<text x="32.766" y="0.762" size="0.508" layer="21">5
|
||||
V</text>
|
||||
<text x="25.146" y="0.635" size="0.508" layer="21">A
|
||||
5</text>
|
||||
<text x="22.606" y="0.635" size="0.508" layer="21">A
|
||||
4</text>
|
||||
<text x="20.066" y="0.635" size="0.508" layer="21">A
|
||||
3</text>
|
||||
<text x="17.526" y="0.635" size="0.508" layer="21">A
|
||||
2</text>
|
||||
<text x="14.986" y="0.635" size="0.508" layer="21">A
|
||||
1</text>
|
||||
<text x="12.446" y="0.635" size="0.508" layer="21">A
|
||||
0</text>
|
||||
<text x="10.033" y="0.635" size="0.508" layer="21">R
|
||||
F</text>
|
||||
<text x="7.366" y="0.635" size="0.508" layer="21">3
|
||||
V</text>
|
||||
<text x="4.826" y="0.635" size="0.508" layer="21">1
|
||||
3</text>
|
||||
<wire x1="47.244" y1="2.794" x2="46.482" y2="2.032" width="0.127" layer="21"/>
|
||||
<wire x1="46.482" y1="2.032" x2="45.085" y2="2.032" width="0.127" layer="21"/>
|
||||
</package>
|
||||
</packages>
|
||||
</library>
|
||||
<library name="con-lstb">
|
||||
<description><b>Pin Headers</b><p>
|
||||
Naming:<p>
|
||||
MA = male<p>
|
||||
# contacts - # rows<p>
|
||||
W = angled<p>
|
||||
<author>Created by librarian@cadsoft.de</author></description>
|
||||
<packages>
|
||||
<package name="MA04-1">
|
||||
<description><b>PIN HEADER</b></description>
|
||||
<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-2.54" y1="0.635" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-1.905" y1="-1.27" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-4.445" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-5.08" y1="-0.635" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="0" y1="0.635" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="0.635" y1="-1.27" x2="0" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="3.175" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="2.54" y1="-0.635" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<pad name="1" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<pad name="2" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<pad name="3" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<pad name="4" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<text x="-5.08" y="1.651" size="1.27" layer="25" ratio="10">>NAME</text>
|
||||
<text x="-6.223" y="-0.635" size="1.27" layer="21" ratio="10">1</text>
|
||||
<text x="0.635" y="1.651" size="1.27" layer="27" ratio="10">>VALUE</text>
|
||||
<text x="5.334" y="-0.635" size="1.27" layer="21" ratio="10">4</text>
|
||||
<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
|
||||
<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
|
||||
<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
|
||||
<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
|
||||
</package>
|
||||
</packages>
|
||||
</library>
|
||||
</libraries>
|
||||
<attributes>
|
||||
</attributes>
|
||||
<variantdefs>
|
||||
</variantdefs>
|
||||
<classes>
|
||||
<class number="0" name="default" width="0" drill="0">
|
||||
</class>
|
||||
</classes>
|
||||
<designrules name="default">
|
||||
<description language="de"><b>EAGLE Design Rules</b>
|
||||
<p>
|
||||
Die Standard-Design-Rules sind so gewählt, dass sie für
|
||||
die meisten Anwendungen passen. Sollte ihre Platine
|
||||
besondere Anforderungen haben, treffen Sie die erforderlichen
|
||||
Einstellungen hier und speichern die Design Rules unter
|
||||
einem neuen Namen ab.</description>
|
||||
<description language="en"><b>EAGLE Design Rules</b>
|
||||
<p>
|
||||
The default Design Rules have been set to cover
|
||||
a wide range of applications. Your particular design
|
||||
may have different requirements, so please make the
|
||||
necessary adjustments and save your customized
|
||||
design rules under a new name.</description>
|
||||
<param name="layerSetup" value="(1*16)"/>
|
||||
<param name="mtCopper" value="0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm 0.035mm"/>
|
||||
<param name="mtIsolate" value="1.5mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm 0.15mm 0.2mm"/>
|
||||
<param name="mdWireWire" value="8mil"/>
|
||||
<param name="mdWirePad" value="8mil"/>
|
||||
<param name="mdWireVia" value="8mil"/>
|
||||
<param name="mdPadPad" value="8mil"/>
|
||||
<param name="mdPadVia" value="8mil"/>
|
||||
<param name="mdViaVia" value="8mil"/>
|
||||
<param name="mdSmdPad" value="8mil"/>
|
||||
<param name="mdSmdVia" value="8mil"/>
|
||||
<param name="mdSmdSmd" value="8mil"/>
|
||||
<param name="mdViaViaSameLayer" value="8mil"/>
|
||||
<param name="mnLayersViaInSmd" value="2"/>
|
||||
<param name="mdCopperDimension" value="40mil"/>
|
||||
<param name="mdDrill" value="8mil"/>
|
||||
<param name="mdSmdStop" value="0mil"/>
|
||||
<param name="msWidth" value="10mil"/>
|
||||
<param name="msDrill" value="24mil"/>
|
||||
<param name="msMicroVia" value="9.99mm"/>
|
||||
<param name="msBlindViaRatio" value="0.5"/>
|
||||
<param name="rvPadTop" value="0.25"/>
|
||||
<param name="rvPadInner" value="0.25"/>
|
||||
<param name="rvPadBottom" value="0.25"/>
|
||||
<param name="rvViaOuter" value="0.25"/>
|
||||
<param name="rvViaInner" value="0.25"/>
|
||||
<param name="rvMicroViaOuter" value="0.25"/>
|
||||
<param name="rvMicroViaInner" value="0.25"/>
|
||||
<param name="rlMinPadTop" value="10mil"/>
|
||||
<param name="rlMaxPadTop" value="20mil"/>
|
||||
<param name="rlMinPadInner" value="10mil"/>
|
||||
<param name="rlMaxPadInner" value="20mil"/>
|
||||
<param name="rlMinPadBottom" value="10mil"/>
|
||||
<param name="rlMaxPadBottom" value="20mil"/>
|
||||
<param name="rlMinViaOuter" value="8mil"/>
|
||||
<param name="rlMaxViaOuter" value="20mil"/>
|
||||
<param name="rlMinViaInner" value="8mil"/>
|
||||
<param name="rlMaxViaInner" value="20mil"/>
|
||||
<param name="rlMinMicroViaOuter" value="4mil"/>
|
||||
<param name="rlMaxMicroViaOuter" value="20mil"/>
|
||||
<param name="rlMinMicroViaInner" value="4mil"/>
|
||||
<param name="rlMaxMicroViaInner" value="20mil"/>
|
||||
<param name="psTop" value="-1"/>
|
||||
<param name="psBottom" value="-1"/>
|
||||
<param name="psFirst" value="-1"/>
|
||||
<param name="psElongationLong" value="100"/>
|
||||
<param name="psElongationOffset" value="100"/>
|
||||
<param name="mvStopFrame" value="1"/>
|
||||
<param name="mvCreamFrame" value="0"/>
|
||||
<param name="mlMinStopFrame" value="4mil"/>
|
||||
<param name="mlMaxStopFrame" value="4mil"/>
|
||||
<param name="mlMinCreamFrame" value="0mil"/>
|
||||
<param name="mlMaxCreamFrame" value="0mil"/>
|
||||
<param name="mlViaStopLimit" value="0mil"/>
|
||||
<param name="srRoundness" value="0"/>
|
||||
<param name="srMinRoundness" value="0mil"/>
|
||||
<param name="srMaxRoundness" value="0mil"/>
|
||||
<param name="slThermalIsolate" value="10mil"/>
|
||||
<param name="slThermalsForVias" value="0"/>
|
||||
<param name="dpMaxLengthDifference" value="10mm"/>
|
||||
<param name="dpGapFactor" value="2.5"/>
|
||||
<param name="checkGrid" value="0"/>
|
||||
<param name="checkAngle" value="0"/>
|
||||
<param name="checkFont" value="1"/>
|
||||
<param name="checkRestrict" value="1"/>
|
||||
<param name="useDiameter" value="13"/>
|
||||
<param name="maxErrors" value="50"/>
|
||||
</designrules>
|
||||
<autorouter>
|
||||
<pass name="Default">
|
||||
<param name="RoutingGrid" value="50mil"/>
|
||||
<param name="AutoGrid" value="1"/>
|
||||
<param name="Efforts" value="2"/>
|
||||
<param name="TopRouterVariant" value="1"/>
|
||||
<param name="tpViaShape" value="round"/>
|
||||
<param name="PrefDir.1" value="0"/>
|
||||
<param name="PrefDir.2" value="0"/>
|
||||
<param name="PrefDir.3" value="0"/>
|
||||
<param name="PrefDir.4" value="0"/>
|
||||
<param name="PrefDir.5" value="0"/>
|
||||
<param name="PrefDir.6" value="0"/>
|
||||
<param name="PrefDir.7" value="0"/>
|
||||
<param name="PrefDir.8" value="0"/>
|
||||
<param name="PrefDir.9" value="0"/>
|
||||
<param name="PrefDir.10" value="0"/>
|
||||
<param name="PrefDir.11" value="0"/>
|
||||
<param name="PrefDir.12" value="0"/>
|
||||
<param name="PrefDir.13" value="0"/>
|
||||
<param name="PrefDir.14" value="0"/>
|
||||
<param name="PrefDir.15" value="0"/>
|
||||
<param name="PrefDir.16" value="a"/>
|
||||
<param name="cfVia" value="8"/>
|
||||
<param name="cfNonPref" value="5"/>
|
||||
<param name="cfChangeDir" value="2"/>
|
||||
<param name="cfOrthStep" value="2"/>
|
||||
<param name="cfDiagStep" value="3"/>
|
||||
<param name="cfExtdStep" value="0"/>
|
||||
<param name="cfBonusStep" value="1"/>
|
||||
<param name="cfMalusStep" value="1"/>
|
||||
<param name="cfPadImpact" value="4"/>
|
||||
<param name="cfSmdImpact" value="4"/>
|
||||
<param name="cfBusImpact" value="0"/>
|
||||
<param name="cfHugging" value="3"/>
|
||||
<param name="cfAvoid" value="4"/>
|
||||
<param name="cfPolygon" value="10"/>
|
||||
<param name="cfBase.1" value="0"/>
|
||||
<param name="cfBase.2" value="1"/>
|
||||
<param name="cfBase.3" value="1"/>
|
||||
<param name="cfBase.4" value="1"/>
|
||||
<param name="cfBase.5" value="1"/>
|
||||
<param name="cfBase.6" value="1"/>
|
||||
<param name="cfBase.7" value="1"/>
|
||||
<param name="cfBase.8" value="1"/>
|
||||
<param name="cfBase.9" value="1"/>
|
||||
<param name="cfBase.10" value="1"/>
|
||||
<param name="cfBase.11" value="1"/>
|
||||
<param name="cfBase.12" value="1"/>
|
||||
<param name="cfBase.13" value="1"/>
|
||||
<param name="cfBase.14" value="1"/>
|
||||
<param name="cfBase.15" value="1"/>
|
||||
<param name="cfBase.16" value="0"/>
|
||||
<param name="mnVias" value="20"/>
|
||||
<param name="mnSegments" value="9999"/>
|
||||
<param name="mnExtdSteps" value="9999"/>
|
||||
<param name="mnRipupLevel" value="10"/>
|
||||
<param name="mnRipupSteps" value="100"/>
|
||||
<param name="mnRipupTotal" value="100"/>
|
||||
</pass>
|
||||
<pass name="Follow-me" refer="Default" active="yes">
|
||||
</pass>
|
||||
<pass name="Busses" refer="Default" active="yes">
|
||||
<param name="cfNonPref" value="4"/>
|
||||
<param name="cfBusImpact" value="4"/>
|
||||
<param name="cfHugging" value="0"/>
|
||||
<param name="mnVias" value="0"/>
|
||||
</pass>
|
||||
<pass name="Route" refer="Default" active="yes">
|
||||
</pass>
|
||||
<pass name="Optimize1" refer="Default" active="yes">
|
||||
<param name="cfVia" value="99"/>
|
||||
<param name="cfExtdStep" value="10"/>
|
||||
<param name="cfHugging" value="1"/>
|
||||
<param name="mnExtdSteps" value="1"/>
|
||||
<param name="mnRipupLevel" value="0"/>
|
||||
</pass>
|
||||
<pass name="Optimize2" refer="Optimize1" active="yes">
|
||||
<param name="cfNonPref" value="0"/>
|
||||
<param name="cfChangeDir" value="6"/>
|
||||
<param name="cfExtdStep" value="0"/>
|
||||
<param name="cfBonusStep" value="2"/>
|
||||
<param name="cfMalusStep" value="2"/>
|
||||
<param name="cfPadImpact" value="2"/>
|
||||
<param name="cfSmdImpact" value="2"/>
|
||||
<param name="cfHugging" value="0"/>
|
||||
</pass>
|
||||
<pass name="Optimize3" refer="Optimize2" active="yes">
|
||||
<param name="cfChangeDir" value="8"/>
|
||||
<param name="cfPadImpact" value="0"/>
|
||||
<param name="cfSmdImpact" value="0"/>
|
||||
</pass>
|
||||
<pass name="Optimize4" refer="Optimize3" active="yes">
|
||||
<param name="cfChangeDir" value="25"/>
|
||||
</pass>
|
||||
</autorouter>
|
||||
<elements>
|
||||
<element name="PCB1" library="E14_Arduino_revB" package="ARDUINO_MICRO" value="ARDUINO_MICRO" x="1.27" y="15.24"/>
|
||||
<element name="LD" library="con-lstb" package="MA04-1" value="" x="8.89" y="6.35" smashed="yes" rot="R270">
|
||||
<attribute name="MPN" value="" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="MF" value="" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_NEWARK" value="unknown" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_FARNELL" value="unknown" x="8.89" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="NAME" x="10.541" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
||||
<attribute name="VALUE" x="10.541" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
||||
</element>
|
||||
<element name="RD" library="con-lstb" package="MA04-1" value="" x="13.97" y="6.35" smashed="yes" rot="R270">
|
||||
<attribute name="MPN" value="" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="MF" value="" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_NEWARK" value="unknown" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_FARNELL" value="unknown" x="13.97" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="NAME" x="15.621" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
||||
<attribute name="VALUE" x="15.621" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
||||
</element>
|
||||
<element name="LK" library="con-lstb" package="MA04-1" value="" x="19.05" y="6.35" smashed="yes" rot="R270">
|
||||
<attribute name="MPN" value="" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="MF" value="" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_NEWARK" value="unknown" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_FARNELL" value="unknown" x="19.05" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="NAME" x="20.701" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
||||
<attribute name="VALUE" x="20.701" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
||||
</element>
|
||||
<element name="RK" library="con-lstb" package="MA04-1" value="" x="24.13" y="6.35" smashed="yes" rot="R270">
|
||||
<attribute name="MPN" value="" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="MF" value="" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_NEWARK" value="unknown" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="OC_FARNELL" value="unknown" x="24.13" y="6.35" size="1.778" layer="27" rot="R270" display="off"/>
|
||||
<attribute name="NAME" x="25.781" y="3.81" size="1.27" layer="25" ratio="10" rot="R270"/>
|
||||
<attribute name="VALUE" x="25.781" y="5.715" size="1.27" layer="27" ratio="10" rot="R270"/>
|
||||
</element>
|
||||
</elements>
|
||||
<signals>
|
||||
<signal name="N$1">
|
||||
<contactref element="LD" pad="1"/>
|
||||
<contactref element="PCB1" pad="A0"/>
|
||||
<wire x1="8.89" y1="10.16" x2="12.7" y2="13.97" width="1.016" layer="16"/>
|
||||
<wire x1="12.7" y1="13.97" x2="12.7" y2="16.51" width="1.016" layer="16"/>
|
||||
</signal>
|
||||
<signal name="N$2">
|
||||
<contactref element="PCB1" pad="A1"/>
|
||||
<contactref element="RD" pad="1"/>
|
||||
<wire x1="13.97" y1="10.16" x2="15.24" y2="11.43" width="1.016" layer="16"/>
|
||||
<wire x1="15.24" y1="11.43" x2="15.24" y2="16.51" width="1.016" layer="16"/>
|
||||
</signal>
|
||||
<signal name="N$3">
|
||||
<contactref element="LK" pad="1"/>
|
||||
<contactref element="PCB1" pad="A2"/>
|
||||
<wire x1="19.05" y1="10.16" x2="17.78" y2="11.43" width="1.016" layer="16"/>
|
||||
<wire x1="17.78" y1="11.43" x2="17.78" y2="16.51" width="1.016" layer="16"/>
|
||||
</signal>
|
||||
<signal name="N$4">
|
||||
<contactref element="PCB1" pad="A3"/>
|
||||
<contactref element="RK" pad="1"/>
|
||||
<wire x1="24.13" y1="10.16" x2="20.32" y2="13.97" width="1.016" layer="16"/>
|
||||
<wire x1="20.32" y1="13.97" x2="20.32" y2="16.51" width="1.016" layer="16"/>
|
||||
</signal>
|
||||
<signal name="N$5">
|
||||
<contactref element="LD" pad="2"/>
|
||||
<contactref element="RD" pad="2"/>
|
||||
<contactref element="LK" pad="2"/>
|
||||
<contactref element="RK" pad="2"/>
|
||||
<contactref element="PCB1" pad="GND."/>
|
||||
<wire x1="8.89" y1="7.62" x2="13.97" y2="7.62" width="1.016" layer="16"/>
|
||||
<wire x1="13.97" y1="7.62" x2="19.05" y2="7.62" width="1.016" layer="16"/>
|
||||
<wire x1="19.05" y1="7.62" x2="24.13" y2="7.62" width="1.016" layer="16"/>
|
||||
<wire x1="38.1" y1="16.51" x2="29.21" y2="7.62" width="1.016" layer="16"/>
|
||||
<wire x1="29.21" y1="7.62" x2="24.13" y2="7.62" width="1.016" layer="16"/>
|
||||
</signal>
|
||||
<signal name="N$6">
|
||||
<contactref element="LD" pad="3"/>
|
||||
<contactref element="RD" pad="3"/>
|
||||
<contactref element="LK" pad="3"/>
|
||||
<contactref element="RK" pad="3"/>
|
||||
<contactref element="PCB1" pad="+5V"/>
|
||||
<wire x1="8.89" y1="5.08" x2="13.97" y2="5.08" width="1.016" layer="16"/>
|
||||
<wire x1="13.97" y1="5.08" x2="19.05" y2="5.08" width="1.016" layer="16"/>
|
||||
<wire x1="19.05" y1="5.08" x2="24.13" y2="5.08" width="1.016" layer="16"/>
|
||||
<wire x1="33.02" y1="16.51" x2="30.48" y2="19.05" width="1.016" layer="16"/>
|
||||
<wire x1="30.48" y1="19.05" x2="5.08" y2="19.05" width="1.016" layer="16"/>
|
||||
<wire x1="5.08" y1="19.05" x2="2.54" y2="16.51" width="1.016" layer="16"/>
|
||||
<wire x1="2.54" y1="16.51" x2="2.54" y2="10.16" width="1.016" layer="16"/>
|
||||
<wire x1="2.54" y1="10.16" x2="7.62" y2="5.08" width="1.016" layer="16"/>
|
||||
<wire x1="7.62" y1="5.08" x2="8.89" y2="5.08" width="1.016" layer="16"/>
|
||||
</signal>
|
||||
<signal name="N$7">
|
||||
<wire x1="0" y1="34.29" x2="50.8" y2="34.29" width="0.254" layer="16"/>
|
||||
<wire x1="50.8" y1="34.29" x2="50.8" y2="0" width="0.254" layer="16"/>
|
||||
<wire x1="50.8" y1="0" x2="0" y2="0" width="0.254" layer="16"/>
|
||||
<wire x1="0" y1="0" x2="0" y2="34.29" width="0.254" layer="16"/>
|
||||
</signal>
|
||||
</signals>
|
||||
<errors>
|
||||
<approved hash="4,1,7941fb13d2c06888"/>
|
||||
<approved hash="4,1,fe4aa21c89f301bf"/>
|
||||
<approved hash="4,1,977ba12e80fca6a8"/>
|
||||
<approved hash="4,1,b46f3839c7935fdf"/>
|
||||
<approved hash="4,1,3d10ff4e5e9c54d3"/>
|
||||
<approved hash="4,1,720fe659f58f8dc2"/>
|
||||
<approved hash="4,1,db30b56a9cb9f2c9"/>
|
||||
<approved hash="4,1,a8219c7483a29bf2"/>
|
||||
<approved hash="4,1,91d5538fba59b0e9"/>
|
||||
<approved hash="4,1,56deda84b152491d"/>
|
||||
<approved hash="4,1,6fd5f98fe85d8e0c"/>
|
||||
<approved hash="4,1,ecce90988f4f8703"/>
|
||||
<approved hash="4,1,95ff97aaa678bc2c"/>
|
||||
<approved hash="4,1,8ae35eb43d6fb523"/>
|
||||
<approved hash="4,1,5394cdcaa4187a57"/>
|
||||
<approved hash="4,1,408314d5eb0be346"/>
|
||||
<approved hash="4,1,09b48be6e235787e"/>
|
||||
<approved hash="4,1,b9f902b16f62ec30"/>
|
||||
<approved hash="4,1,d0f659ba36556b03"/>
|
||||
<approved hash="4,1,77c4508b3542020c"/>
|
||||
<approved hash="4,1,8ed3179fac352163"/>
|
||||
<approved hash="4,1,85a48ee06b39a86c"/>
|
||||
<approved hash="4,1,5cb325ff7228e77f"/>
|
||||
<approved hash="4,1,23804cc021234e49"/>
|
||||
<approved hash="4,1,4a9e53d108183d52"/>
|
||||
<approved hash="4,1,61656a25c70304a9"/>
|
||||
<approved hash="4,1,986e612e4ef7c3a2"/>
|
||||
<approved hash="4,1,5f6538256de6faad"/>
|
||||
<approved hash="4,1,56725f3e04e979bf"/>
|
||||
<approved hash="4,1,6d40760f03c60088"/>
|
||||
<approved hash="4,1,645eed13cac91f9f"/>
|
||||
<approved hash="4,1,ab20746459bdc6e8"/>
|
||||
<approved hash="4,1,323f3b7380acd5fb"/>
|
||||
<approved hash="4,1,a90c32441f949cc5"/>
|
||||
<approved hash="4,16,7941fb13d2c06888"/>
|
||||
<approved hash="4,16,fe4aa21c89f301bf"/>
|
||||
<approved hash="4,16,977ba12e80fca6a8"/>
|
||||
<approved hash="4,16,b46f3839c7935fdf"/>
|
||||
<approved hash="4,16,3d10ff4e5e9c54d3"/>
|
||||
<approved hash="4,16,720fe659f58f8dc2"/>
|
||||
<approved hash="4,16,db30b56a9cb9f2c9"/>
|
||||
<approved hash="4,16,a8219c7483a29bf2"/>
|
||||
<approved hash="4,16,91d5538fba59b0e9"/>
|
||||
<approved hash="4,16,56deda84b152491d"/>
|
||||
<approved hash="4,16,6fd5f98fe85d8e0c"/>
|
||||
<approved hash="4,16,ecce90988f4f8703"/>
|
||||
<approved hash="4,16,95ff97aaa678bc2c"/>
|
||||
<approved hash="4,16,8ae35eb43d6fb523"/>
|
||||
<approved hash="4,16,5394cdcaa4187a57"/>
|
||||
<approved hash="4,16,408314d5eb0be346"/>
|
||||
<approved hash="4,16,09b48be6e235787e"/>
|
||||
<approved hash="4,16,b9f902b16f62ec30"/>
|
||||
<approved hash="4,16,d0f659ba36556b03"/>
|
||||
<approved hash="4,16,77c4508b3542020c"/>
|
||||
<approved hash="4,16,8ed3179fac352163"/>
|
||||
<approved hash="4,16,85a48ee06b39a86c"/>
|
||||
<approved hash="4,16,5cb325ff7228e77f"/>
|
||||
<approved hash="4,16,23804cc021234e49"/>
|
||||
<approved hash="4,16,4a9e53d108183d52"/>
|
||||
<approved hash="4,16,61656a25c70304a9"/>
|
||||
<approved hash="4,16,986e612e4ef7c3a2"/>
|
||||
<approved hash="4,16,5f6538256de6faad"/>
|
||||
<approved hash="4,16,56725f3e04e979bf"/>
|
||||
<approved hash="4,16,6d40760f03c60088"/>
|
||||
<approved hash="4,16,645eed13cac91f9f"/>
|
||||
<approved hash="4,16,ab20746459bdc6e8"/>
|
||||
<approved hash="4,16,323f3b7380acd5fb"/>
|
||||
<approved hash="4,16,a90c32441f949cc5"/>
|
||||
</errors>
|
||||
</board>
|
||||
</drawing>
|
||||
<compatibility>
|
||||
<note version="6.3" minversion="6.2.2" severity="warning">
|
||||
Since Version 6.2.2 text objects can contain more than one line,
|
||||
which will not be processed correctly with this version.
|
||||
</note>
|
||||
</compatibility>
|
||||
</eagle>
|
@ -1,347 +0,0 @@
|
||||
%!PS-Adobe-3.0 EPSF-3.0
|
||||
%%Title: EAGLE Drawing /Users/ShikyC/Documents/Eagle/sanro/sanro.brd
|
||||
%%Creator: EAGLE
|
||||
%%Pages: 1
|
||||
%%BoundingBox: 0 0 576 810
|
||||
%%EndComments
|
||||
|
||||
% Coordinate transfer:
|
||||
|
||||
/EU { 254 div 0.072 mul } def
|
||||
/inch { 72 mul } def
|
||||
|
||||
% Linestyle:
|
||||
|
||||
1 setlinecap
|
||||
1 setlinejoin
|
||||
|
||||
% Drawing functions:
|
||||
|
||||
/l { % draw a line
|
||||
/lw exch def
|
||||
/y2 exch def
|
||||
/x2 exch def
|
||||
/y1 exch def
|
||||
/x1 exch def
|
||||
newpath
|
||||
x1 EU y1 EU moveto
|
||||
x2 EU y2 EU lineto
|
||||
lw EU setlinewidth
|
||||
stroke
|
||||
} def
|
||||
|
||||
/h { % draw a hole
|
||||
/d exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
d 0 gt {
|
||||
newpath
|
||||
x EU y EU d 2 div EU 0 360 arc
|
||||
currentgray dup
|
||||
1 exch sub setgray
|
||||
fill
|
||||
setgray
|
||||
} if
|
||||
} def
|
||||
|
||||
/b { % draw a bar
|
||||
/an exch def
|
||||
/y2 exch def
|
||||
/x2 exch def
|
||||
/y1 exch def
|
||||
/x1 exch def
|
||||
/w2 x2 x1 sub 2 div EU def
|
||||
/h2 y2 y1 sub 2 div EU def
|
||||
gsave
|
||||
x1 x2 add 2 div EU y1 y2 add 2 div EU translate
|
||||
an rotate
|
||||
newpath
|
||||
w2 h2 moveto
|
||||
w2 neg h2 lineto
|
||||
w2 neg h2 neg lineto
|
||||
w2 h2 neg lineto
|
||||
closepath
|
||||
fill
|
||||
grestore
|
||||
} def
|
||||
|
||||
/c { % draw a circle
|
||||
/lw exch def
|
||||
/rd exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
lw EU setlinewidth
|
||||
x EU y EU rd EU 0 360 arc
|
||||
stroke
|
||||
} def
|
||||
|
||||
/a { % draw an arc
|
||||
/lc exch def
|
||||
/ae exch def
|
||||
/as exch def
|
||||
/lw exch def
|
||||
/rd exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
lw rd 2 mul gt {
|
||||
/rd rd lw 2 div add 2 div def
|
||||
/lw rd 2 mul def
|
||||
} if
|
||||
currentlinecap currentlinejoin
|
||||
lc setlinecap 0 setlinejoin
|
||||
newpath
|
||||
lw EU setlinewidth
|
||||
x EU y EU rd EU as ae arc
|
||||
stroke
|
||||
setlinejoin setlinecap
|
||||
} def
|
||||
|
||||
/p { % draw a pie
|
||||
/d exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
newpath
|
||||
x EU y EU d 2 div EU 0 360 arc
|
||||
fill
|
||||
} def
|
||||
|
||||
/edge { 0.20710678119 mul } def
|
||||
|
||||
/o { % draw an octagon
|
||||
/an exch def
|
||||
/dy exch def
|
||||
/dx exch def
|
||||
/y exch def
|
||||
/x exch def
|
||||
gsave
|
||||
x EU y EU translate
|
||||
an dx dy lt { 90 add /dx dy /dy dx def def } if rotate
|
||||
newpath
|
||||
0 dx 2 div sub EU 0 dy edge add EU moveto
|
||||
0 dx dy sub 2 div sub dy edge sub EU 0 dy 2 div add EU lineto
|
||||
0 dx dy sub 2 div add dy edge add EU 0 dy 2 div add EU lineto
|
||||
0 dx 2 div add EU 0 dy edge add EU lineto
|
||||
0 dx 2 div add EU 0 dy edge sub EU lineto
|
||||
0 dx dy sub 2 div add dy edge add EU 0 dy 2 div sub EU lineto
|
||||
0 dx dy sub 2 div sub dy edge sub EU 0 dy 2 div sub EU lineto
|
||||
0 dx 2 div sub EU 0 dy edge sub EU lineto
|
||||
closepath
|
||||
fill
|
||||
grestore
|
||||
} def
|
||||
|
||||
% the real drawing size:
|
||||
|
||||
/MinDrawX -511810 EU def
|
||||
/MinDrawY -8307 EU def
|
||||
/MaxDrawX 3810 EU def
|
||||
/MaxDrawY 346710 EU def
|
||||
|
||||
% the usable page size:
|
||||
|
||||
/LeftMargin 0.25 inch def % change these if drawing gets clipped!
|
||||
/BotMargin 0.25 inch def
|
||||
/PageWidth 7.7500 inch def
|
||||
/PageHeight 11.0000 inch def
|
||||
|
||||
% are we going to rotate?:
|
||||
|
||||
/RotateDrawing 0 0 ne def
|
||||
|
||||
% Media size functions:
|
||||
|
||||
/AbortMessage { % Show a message in a box and stop printing
|
||||
/h 100 def
|
||||
/Courier findfont 12 scalefont setfont
|
||||
mediawidth pagemargin sub h 1 setpage
|
||||
newpath
|
||||
0 0 moveto
|
||||
0 h rlineto
|
||||
mediawidth pagemargin sub 0 rlineto
|
||||
0 h neg rlineto
|
||||
closepath
|
||||
5 setlinewidth
|
||||
stroke
|
||||
newpath 50 60 moveto (ERROR: Jobsize exceeds physical printing area!) show
|
||||
newpath 50 40 moveto ( Job has been aborted!) show
|
||||
showpage
|
||||
stop
|
||||
} def
|
||||
|
||||
/SelectPage { % Select the page identified by Row and Column
|
||||
/Column exch def
|
||||
/Row exch def
|
||||
|
||||
% the actually exposed area (if the machine knows these parameters!):
|
||||
|
||||
/DrawX MaxDrawX MinDrawX sub def
|
||||
/DrawY MaxDrawY MinDrawY sub def
|
||||
statusdict /setpage known
|
||||
statusdict /mediawidth known and
|
||||
statusdict /medialength known and
|
||||
statusdict /pagemargin known and {
|
||||
% this is for machines that can tell the media size:
|
||||
statusdict begin
|
||||
/MediaW mediawidth pagemargin sub def
|
||||
DrawX DrawY ge {
|
||||
DrawX MediaW le DrawY medialength le and {
|
||||
MediaW DrawY 1 setpage
|
||||
MediaW DrawX sub 2 div 0 translate
|
||||
}{
|
||||
DrawY MediaW le DrawX medialength le and {
|
||||
MediaW DrawX 0 setpage
|
||||
0 MediaW DrawY sub 2 div translate
|
||||
}{
|
||||
AbortMessage
|
||||
} ifelse
|
||||
} ifelse
|
||||
}{
|
||||
DrawY MediaW le DrawX medialength le and {
|
||||
MediaW DrawX 0 setpage
|
||||
0 MediaW DrawY sub 2 div translate
|
||||
}{
|
||||
DrawX MediaW le DrawY medialength le and {
|
||||
MediaW DrawY 1 setpage
|
||||
MediaW DrawX sub 2 div 0 translate
|
||||
}{
|
||||
AbortMessage
|
||||
} ifelse
|
||||
} ifelse
|
||||
} ifelse
|
||||
end
|
||||
}{
|
||||
% this is for machines that can NOT tell the media size:
|
||||
% (Ghostscript doesn't like this!)
|
||||
/Product product length string def
|
||||
/i 0 def
|
||||
product { dup 97 lt { 32 add } if Product exch i exch put /i i 1 add def } forall
|
||||
Product (ghostscript) search dup /IsGhostscript exch def
|
||||
{ pop pop } if
|
||||
pop
|
||||
IsGhostscript not {
|
||||
statusdict /setpage known {
|
||||
statusdict begin
|
||||
RotateDrawing {
|
||||
LeftMargin PageHeight add BotMargin DrawY add
|
||||
}{
|
||||
BotMargin DrawY add LeftMargin DrawX add
|
||||
} ifelse
|
||||
0 setpage
|
||||
end
|
||||
} if
|
||||
} if
|
||||
% set clipping boundary:
|
||||
newpath
|
||||
LeftMargin BotMargin moveto
|
||||
0 PageHeight rlineto
|
||||
PageWidth 0 rlineto
|
||||
0 PageHeight neg rlineto
|
||||
closepath
|
||||
clip
|
||||
% set the origin:
|
||||
LeftMargin BotMargin translate
|
||||
RotateDrawing {
|
||||
0 PageHeight translate
|
||||
-90 rotate
|
||||
PageHeight Column mul neg PageWidth Row mul neg translate
|
||||
}{
|
||||
PageWidth Column mul neg PageHeight Row mul neg translate
|
||||
} ifelse
|
||||
} ifelse
|
||||
% move the lower left corner of the drawing to the origin:
|
||||
MinDrawX neg MinDrawY neg translate
|
||||
|
||||
% Linestyle:
|
||||
|
||||
1 setlinecap
|
||||
1 setlinejoin
|
||||
|
||||
} def
|
||||
|
||||
% TheDrawing
|
||||
|
||||
gsave 0 0 SelectPage
|
||||
-127000 165100 15748 p
|
||||
-152400 165100 15748 p
|
||||
-177800 165100 15748 p
|
||||
-203200 165100 15748 p
|
||||
-228600 165100 15748 p
|
||||
-254000 165100 15748 p
|
||||
-101600 165100 15748 p
|
||||
-76200 165100 15748 p
|
||||
-50800 165100 15748 p
|
||||
-330200 165100 15748 p
|
||||
-355600 165100 15748 p
|
||||
-381000 165100 15748 p
|
||||
-406400 165100 15748 p
|
||||
-431800 165100 15748 p
|
||||
-457200 165100 15748 p
|
||||
-304800 165100 15748 p
|
||||
-279400 165100 15748 p
|
||||
-127000 317500 15748 p
|
||||
-152400 317500 15748 p
|
||||
-177800 317500 15748 p
|
||||
-203200 317500 15748 p
|
||||
-228600 317500 15748 p
|
||||
-254000 317500 15748 p
|
||||
-101600 317500 15748 p
|
||||
-76200 317500 15748 p
|
||||
-50800 317500 15748 p
|
||||
-330200 317500 15748 p
|
||||
-355600 317500 15748 p
|
||||
-381000 317500 15748 p
|
||||
-406400 317500 15748 p
|
||||
-431800 317500 15748 p
|
||||
-457200 317500 15748 p
|
||||
-304800 317500 15748 p
|
||||
-279400 317500 15748 p
|
||||
-469900 217170 15748 15748 0.0 o
|
||||
-469900 191770 15748 15748 0.0 o
|
||||
-444500 217170 15748 15748 0.0 o
|
||||
-444500 191770 15748 15748 0.0 o
|
||||
-419100 217170 15748 15748 0.0 o
|
||||
-419100 191770 15748 15748 0.0 o
|
||||
-81280 101600 -96520 101600 15240 l
|
||||
-81280 76200 -96520 76200 15240 l
|
||||
-81280 50800 -96520 50800 15240 l
|
||||
-81280 25400 -96520 25400 15240 l
|
||||
-132080 101600 -147320 101600 15240 l
|
||||
-132080 76200 -147320 76200 15240 l
|
||||
-132080 50800 -147320 50800 15240 l
|
||||
-132080 25400 -147320 25400 15240 l
|
||||
-182880 101600 -198120 101600 15240 l
|
||||
-182880 76200 -198120 76200 15240 l
|
||||
-182880 50800 -198120 50800 15240 l
|
||||
-182880 25400 -198120 25400 15240 l
|
||||
-233680 101600 -248920 101600 15240 l
|
||||
-233680 76200 -248920 76200 15240 l
|
||||
-233680 50800 -248920 50800 15240 l
|
||||
-233680 25400 -248920 25400 15240 l
|
||||
-88900 101600 -127000 139700 10160 l
|
||||
-127000 139700 -127000 165100 10160 l
|
||||
-139700 101600 -152400 114300 10160 l
|
||||
-152400 114300 -152400 165100 10160 l
|
||||
-190500 101600 -177800 114300 10160 l
|
||||
-177800 114300 -177800 165100 10160 l
|
||||
-241300 101600 -203200 139700 10160 l
|
||||
-203200 139700 -203200 165100 10160 l
|
||||
-88900 76200 -139700 76200 10160 l
|
||||
-139700 76200 -190500 76200 10160 l
|
||||
-190500 76200 -241300 76200 10160 l
|
||||
-381000 165100 -292100 76200 10160 l
|
||||
-292100 76200 -241300 76200 10160 l
|
||||
-88900 50800 -139700 50800 10160 l
|
||||
-139700 50800 -190500 50800 10160 l
|
||||
-190500 50800 -241300 50800 10160 l
|
||||
-330200 165100 -304800 190500 10160 l
|
||||
-304800 190500 -50800 190500 10160 l
|
||||
-50800 190500 -25400 165100 10160 l
|
||||
-25400 165100 -25400 101600 10160 l
|
||||
-25400 101600 -76200 50800 10160 l
|
||||
-76200 50800 -88900 50800 10160 l
|
||||
0 342900 -508000 342900 2540 l
|
||||
-508000 342900 -508000 0 2540 l
|
||||
-508000 0 0 0 2540 l
|
||||
0 0 0 342900 2540 l
|
||||
showpage grestore
|
@ -1,629 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE eagle SYSTEM "eagle.dtd">
|
||||
<eagle version="7.5.0">
|
||||
<drawing>
|
||||
<settings>
|
||||
<setting alwaysvectorfont="no"/>
|
||||
<setting verticaltext="up"/>
|
||||
</settings>
|
||||
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
|
||||
<layers>
|
||||
<layer number="1" name="Top" color="4" fill="1" visible="yes" active="no"/>
|
||||
<layer number="2" name="Route2" color="1" fill="3" visible="yes" active="no"/>
|
||||
<layer number="3" name="Route3" color="4" fill="3" visible="yes" active="no"/>
|
||||
<layer number="4" name="Route4" color="1" fill="4" visible="yes" active="no"/>
|
||||
<layer number="5" name="Route5" color="4" fill="4" visible="yes" active="no"/>
|
||||
<layer number="6" name="Route6" color="1" fill="8" visible="yes" active="no"/>
|
||||
<layer number="7" name="Route7" color="4" fill="8" visible="yes" active="no"/>
|
||||
<layer number="8" name="Route8" color="1" fill="2" visible="yes" active="no"/>
|
||||
<layer number="9" name="Route9" color="4" fill="2" visible="yes" active="no"/>
|
||||
<layer number="10" name="Route10" color="1" fill="7" visible="yes" active="no"/>
|
||||
<layer number="11" name="Route11" color="4" fill="7" visible="yes" active="no"/>
|
||||
<layer number="12" name="Route12" color="1" fill="5" visible="yes" active="no"/>
|
||||
<layer number="13" name="Route13" color="4" fill="5" visible="yes" active="no"/>
|
||||
<layer number="14" name="Route14" color="1" fill="6" visible="yes" active="no"/>
|
||||
<layer number="15" name="Route15" color="4" fill="6" visible="yes" active="no"/>
|
||||
<layer number="16" name="Bottom" color="1" fill="1" visible="yes" active="no"/>
|
||||
<layer number="17" name="Pads" color="2" fill="1" visible="yes" active="no"/>
|
||||
<layer number="18" name="Vias" color="2" fill="1" visible="yes" active="no"/>
|
||||
<layer number="19" name="Unrouted" color="6" fill="1" visible="yes" active="no"/>
|
||||
<layer number="20" name="Dimension" color="15" fill="1" visible="yes" active="no"/>
|
||||
<layer number="21" name="tPlace" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="22" name="bPlace" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="23" name="tOrigins" color="15" fill="1" visible="yes" active="no"/>
|
||||
<layer number="24" name="bOrigins" color="15" fill="1" visible="yes" active="no"/>
|
||||
<layer number="25" name="tNames" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="26" name="bNames" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="27" name="tValues" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="28" name="bValues" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
|
||||
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
|
||||
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
|
||||
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
|
||||
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
|
||||
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
|
||||
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
|
||||
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
|
||||
<layer number="37" name="tTest" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="38" name="bTest" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
|
||||
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
|
||||
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
|
||||
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
|
||||
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
|
||||
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="46" name="Milling" color="3" fill="1" visible="yes" active="no"/>
|
||||
<layer number="47" name="Measures" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="48" name="Document" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="49" name="Reference" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="50" name="dxf" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="51" name="tDocu" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="52" name="bDocu" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="yes" active="no"/>
|
||||
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="yes" active="no"/>
|
||||
<layer number="56" name="wert" color="7" fill="1" visible="yes" active="no"/>
|
||||
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
|
||||
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
|
||||
<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
|
||||
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="103" name="tMap" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="104" name="Name" color="16" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="105" name="tPlate" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="106" name="bPlate" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="107" name="Crop" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
|
||||
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
|
||||
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" active="yes"/>
|
||||
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
|
||||
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
|
||||
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
|
||||
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
|
||||
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
|
||||
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
|
||||
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
|
||||
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
|
||||
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
|
||||
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
|
||||
<layer number="254" name="cooling" color="7" fill="1" visible="yes" active="yes"/>
|
||||
</layers>
|
||||
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
|
||||
<libraries>
|
||||
<library name="E14_Arduino_revB">
|
||||
<packages>
|
||||
<package name="ARDUINO_MICRO">
|
||||
<description>Footprint for representing an Arduino Micro board in an EAGLE schematic. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
||||
<pad name="A0" x="11.43" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A1" x="13.97" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A2" x="16.51" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A3" x="19.05" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A4" x="21.59" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="A5" x="24.13" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="REF" x="8.89" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="23.876" y1="1.016" x2="24.384" y2="1.524" layer="51"/>
|
||||
<rectangle x1="21.336" y1="1.016" x2="21.844" y2="1.524" layer="51"/>
|
||||
<rectangle x1="18.796" y1="1.016" x2="19.304" y2="1.524" layer="51"/>
|
||||
<rectangle x1="16.256" y1="1.016" x2="16.764" y2="1.524" layer="51"/>
|
||||
<rectangle x1="13.716" y1="1.016" x2="14.224" y2="1.524" layer="51"/>
|
||||
<rectangle x1="11.176" y1="1.016" x2="11.684" y2="1.524" layer="51"/>
|
||||
<rectangle x1="8.636" y1="1.016" x2="9.144" y2="1.524" layer="51"/>
|
||||
<pad name="3V3" x="6.35" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="6.096" y1="1.016" x2="6.604" y2="1.524" layer="51"/>
|
||||
<pad name="D13" x="3.81" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="3.556" y1="1.016" x2="4.064" y2="1.524" layer="51"/>
|
||||
<wire x1="0" y1="0" x2="0" y2="17.78" width="0.127" layer="20"/>
|
||||
<wire x1="0" y1="17.78" x2="48.26" y2="17.78" width="0.127" layer="20"/>
|
||||
<wire x1="48.26" y1="17.78" x2="48.26" y2="0" width="0.127" layer="20"/>
|
||||
<wire x1="48.26" y1="0" x2="0" y2="0" width="0.127" layer="20"/>
|
||||
<pad name="+5V" x="31.75" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="RST." x="34.29" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="GND." x="36.83" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="VIN" x="39.37" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="MISO]" x="41.91" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="SCK" x="44.45" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="NC." x="29.21" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="44.196" y1="1.016" x2="44.704" y2="1.524" layer="51"/>
|
||||
<rectangle x1="41.656" y1="1.016" x2="42.164" y2="1.524" layer="51"/>
|
||||
<rectangle x1="39.116" y1="1.016" x2="39.624" y2="1.524" layer="51"/>
|
||||
<rectangle x1="36.576" y1="1.016" x2="37.084" y2="1.524" layer="51"/>
|
||||
<rectangle x1="34.036" y1="1.016" x2="34.544" y2="1.524" layer="51"/>
|
||||
<rectangle x1="31.496" y1="1.016" x2="32.004" y2="1.524" layer="51"/>
|
||||
<rectangle x1="28.956" y1="1.016" x2="29.464" y2="1.524" layer="51"/>
|
||||
<pad name="NC" x="26.67" y="1.27" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="26.416" y1="1.016" x2="26.924" y2="1.524" layer="51"/>
|
||||
<pad name="D9" x="11.43" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D8" x="13.97" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D7" x="16.51" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D6" x="19.05" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D5" x="21.59" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D4" x="24.13" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D10" x="8.89" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="23.876" y1="16.256" x2="24.384" y2="16.764" layer="51"/>
|
||||
<rectangle x1="21.336" y1="16.256" x2="21.844" y2="16.764" layer="51"/>
|
||||
<rectangle x1="18.796" y1="16.256" x2="19.304" y2="16.764" layer="51"/>
|
||||
<rectangle x1="16.256" y1="16.256" x2="16.764" y2="16.764" layer="51"/>
|
||||
<rectangle x1="13.716" y1="16.256" x2="14.224" y2="16.764" layer="51"/>
|
||||
<rectangle x1="11.176" y1="16.256" x2="11.684" y2="16.764" layer="51"/>
|
||||
<rectangle x1="8.636" y1="16.256" x2="9.144" y2="16.764" layer="51"/>
|
||||
<pad name="D11" x="6.35" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="6.096" y1="16.256" x2="6.604" y2="16.764" layer="51"/>
|
||||
<pad name="D12" x="3.81" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="3.556" y1="16.256" x2="4.064" y2="16.764" layer="51"/>
|
||||
<pad name="GND" x="31.75" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="RST" x="34.29" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="RX1" x="36.83" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="TX1" x="39.37" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="SS" x="41.91" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="MOSI" x="44.45" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<pad name="D2" x="29.21" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="44.196" y1="16.256" x2="44.704" y2="16.764" layer="51"/>
|
||||
<rectangle x1="41.656" y1="16.256" x2="42.164" y2="16.764" layer="51"/>
|
||||
<rectangle x1="39.116" y1="16.256" x2="39.624" y2="16.764" layer="51"/>
|
||||
<rectangle x1="36.576" y1="16.256" x2="37.084" y2="16.764" layer="51"/>
|
||||
<rectangle x1="34.036" y1="16.256" x2="34.544" y2="16.764" layer="51"/>
|
||||
<rectangle x1="31.496" y1="16.256" x2="32.004" y2="16.764" layer="51"/>
|
||||
<rectangle x1="28.956" y1="16.256" x2="29.464" y2="16.764" layer="51"/>
|
||||
<pad name="D3" x="26.67" y="16.51" drill="1.016" diameter="1.5748" rot="R90"/>
|
||||
<rectangle x1="26.416" y1="16.256" x2="26.924" y2="16.764" layer="51"/>
|
||||
<hole x="1.27" y="1.27" drill="1.2"/>
|
||||
<hole x="1.27" y="16.51" drill="1.2"/>
|
||||
<hole x="46.99" y="16.51" drill="1.2"/>
|
||||
<hole x="46.99" y="1.27" drill="1.2"/>
|
||||
<wire x1="-0.8382" y1="5.3086" x2="4.2418" y2="5.3086" width="0.127" layer="21"/>
|
||||
<wire x1="4.2418" y1="5.3086" x2="4.2418" y2="12.3698" width="0.127" layer="21"/>
|
||||
<wire x1="4.2418" y1="12.3698" x2="-0.8382" y2="12.3698" width="0.127" layer="21"/>
|
||||
<wire x1="-0.8382" y1="12.3698" x2="-0.8382" y2="5.3086" width="0.127" layer="21"/>
|
||||
<smd name="<USB>+V" x="3.1496" y="10.9474" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>D+" x="3.1496" y="9.9568" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>D-" x="3.1496" y="8.9408" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>ID" x="3.1496" y="7.9756" dx="1.27" dy="0.635" layer="1"/>
|
||||
<smd name="<USB>GND" x="3.1496" y="6.9596" dx="1.27" dy="0.635" layer="1"/>
|
||||
<text x="39.0144" y="3.2258" size="1.27" layer="21" rot="R90">ICSP</text>
|
||||
<circle x="39.116" y="2.54" radius="0.127" width="0.127" layer="21"/>
|
||||
<wire x1="46.99" y1="7.112" x2="46.355" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="45.085" y1="7.747" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="44.45" y1="7.112" x2="43.815" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="42.545" y1="7.747" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="41.91" y1="7.112" x2="41.275" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="40.005" y1="7.747" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="46.99" y1="3.302" x2="46.355" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="46.355" y1="2.667" x2="45.085" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="45.085" y1="2.667" x2="44.45" y2="3.302" width="0.1524" layer="21"/>
|
||||
<wire x1="44.45" y1="3.302" x2="43.815" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="43.815" y1="2.667" x2="42.545" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="42.545" y1="2.667" x2="41.91" y2="3.302" width="0.1524" layer="21"/>
|
||||
<wire x1="41.91" y1="3.302" x2="41.275" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="41.275" y1="2.667" x2="40.005" y2="2.667" width="0.1524" layer="21"/>
|
||||
<wire x1="40.005" y1="2.667" x2="39.37" y2="3.302" width="0.1524" layer="21"/>
|
||||
<wire x1="44.45" y1="3.302" x2="44.45" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="41.91" y1="3.302" x2="41.91" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="39.37" y1="3.302" x2="39.37" y2="7.112" width="0.1524" layer="21"/>
|
||||
<wire x1="41.275" y1="7.747" x2="40.005" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="43.815" y1="7.747" x2="42.545" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="46.355" y1="7.747" x2="45.085" y2="7.747" width="0.1524" layer="21"/>
|
||||
<wire x1="46.99" y1="3.302" x2="46.99" y2="7.112" width="0.1524" layer="21"/>
|
||||
<pad name="GND_" x="45.72" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="RESET.." x="45.72" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="MOSI." x="43.18" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="SCK." x="43.18" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="5V" x="40.64" y="6.477" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<pad name="MISO." x="40.64" y="3.937" drill="1.016" diameter="1.5748" shape="octagon" rot="R180"/>
|
||||
<rectangle x1="45.466" y1="6.223" x2="45.974" y2="6.731" layer="51" rot="R180"/>
|
||||
<rectangle x1="45.466" y1="3.683" x2="45.974" y2="4.191" layer="51" rot="R180"/>
|
||||
<rectangle x1="42.926" y1="3.683" x2="43.434" y2="4.191" layer="51" rot="R180"/>
|
||||
<rectangle x1="42.926" y1="6.223" x2="43.434" y2="6.731" layer="51" rot="R180"/>
|
||||
<rectangle x1="40.386" y1="3.683" x2="40.894" y2="4.191" layer="51" rot="R180"/>
|
||||
<rectangle x1="40.386" y1="6.223" x2="40.894" y2="6.731" layer="51" rot="R180"/>
|
||||
<text x="19.05" y="10.16" size="1.27" layer="21">Arduino</text>
|
||||
<text x="19.05" y="8.255" size="1.27" layer="21">Micro</text>
|
||||
<text x="4.826" y="15.875" size="0.508" layer="21">1
|
||||
2</text>
|
||||
<text x="7.366" y="15.875" size="0.508" layer="21">1
|
||||
1</text>
|
||||
<text x="9.906" y="15.875" size="0.508" layer="21">1
|
||||
0</text>
|
||||
<text x="12.446" y="16.256" size="0.508" layer="21">9</text>
|
||||
<text x="14.986" y="15.875" size="0.508" layer="21">8</text>
|
||||
<text x="17.526" y="15.875" size="0.508" layer="21">7</text>
|
||||
<text x="20.066" y="15.875" size="0.508" layer="21">6</text>
|
||||
<text x="22.606" y="15.875" size="0.508" layer="21">5</text>
|
||||
<text x="25.146" y="15.875" size="0.508" layer="21">4</text>
|
||||
<text x="27.686" y="15.875" size="0.508" layer="21">3</text>
|
||||
<text x="30.226" y="15.875" size="0.508" layer="21">2</text>
|
||||
<text x="32.766" y="15.875" size="0.508" layer="21">G</text>
|
||||
<text x="35.306" y="15.875" size="0.508" layer="21">R</text>
|
||||
<text x="37.846" y="15.875" size="0.508" layer="21">R
|
||||
X</text>
|
||||
<text x="40.386" y="15.875" size="0.508" layer="21">T
|
||||
X</text>
|
||||
<text x="42.926" y="15.875" size="0.508" layer="21">S
|
||||
S</text>
|
||||
<text x="43.688" y="14.986" size="0.508" layer="21">MOSI</text>
|
||||
<text x="47.244" y="2.921" size="0.508" layer="21">S
|
||||
C
|
||||
K</text>
|
||||
<text x="43.053" y="0.762" size="0.508" layer="21">M
|
||||
I</text>
|
||||
<text x="40.513" y="0.762" size="0.508" layer="21">V
|
||||
I</text>
|
||||
<text x="37.973" y="1.524" size="0.508" layer="21">G</text>
|
||||
<text x="35.306" y="0.762" size="0.508" layer="21">R
|
||||
S</text>
|
||||
<text x="32.766" y="0.762" size="0.508" layer="21">5
|
||||
V</text>
|
||||
<text x="25.146" y="0.635" size="0.508" layer="21">A
|
||||
5</text>
|
||||
<text x="22.606" y="0.635" size="0.508" layer="21">A
|
||||
4</text>
|
||||
<text x="20.066" y="0.635" size="0.508" layer="21">A
|
||||
3</text>
|
||||
<text x="17.526" y="0.635" size="0.508" layer="21">A
|
||||
2</text>
|
||||
<text x="14.986" y="0.635" size="0.508" layer="21">A
|
||||
1</text>
|
||||
<text x="12.446" y="0.635" size="0.508" layer="21">A
|
||||
0</text>
|
||||
<text x="10.033" y="0.635" size="0.508" layer="21">R
|
||||
F</text>
|
||||
<text x="7.366" y="0.635" size="0.508" layer="21">3
|
||||
V</text>
|
||||
<text x="4.826" y="0.635" size="0.508" layer="21">1
|
||||
3</text>
|
||||
<wire x1="47.244" y1="2.794" x2="46.482" y2="2.032" width="0.127" layer="21"/>
|
||||
<wire x1="46.482" y1="2.032" x2="45.085" y2="2.032" width="0.127" layer="21"/>
|
||||
</package>
|
||||
</packages>
|
||||
<symbols>
|
||||
<symbol name="ARDUINO_MICRO">
|
||||
<description>Schematic symbol for representing an Arduino Micro R3 board in an EAGLE schematic. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
||||
<pin name="D12" x="-17.78" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D11" x="-15.24" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D10" x="-12.7" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D9" x="-10.16" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D8" x="-7.62" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D7" x="-5.08" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D6" x="-2.54" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D5" x="0" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D4" x="2.54" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D3" x="5.08" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="D2" x="7.62" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="GND" x="10.16" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="RST" x="12.7" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="RX" x="15.24" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="TX" x="17.78" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="+5V" x="10.16" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="RST." x="12.7" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="GND." x="15.24" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="A5" x="2.54" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="A4" x="0" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="A3" x="-2.54" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="A2" x="-5.08" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="A1" x="-7.62" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="A0" x="-10.16" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="NC." x="7.62" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="NC" x="5.08" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="REF" x="-12.7" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="3V3" x="-15.24" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="D13" x="-17.78" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="<USB>GND" x="-27.94" y="-7.62" length="short"/>
|
||||
<pin name="<USB>D-" x="-27.94" y="-2.54" length="short"/>
|
||||
<pin name="<USB>D+" x="-27.94" y="0" length="short"/>
|
||||
<pin name="<USB>+V" x="-27.94" y="2.54" length="short"/>
|
||||
<wire x1="-25.4" y1="12.7" x2="25.4" y2="12.7" width="0.254" layer="94"/>
|
||||
<wire x1="25.4" y1="12.7" x2="25.4" y2="-15.24" width="0.254" layer="94"/>
|
||||
<wire x1="25.4" y1="-15.24" x2="-25.4" y2="-15.24" width="0.254" layer="94"/>
|
||||
<wire x1="-25.4" y1="-15.24" x2="-25.4" y2="12.7" width="0.254" layer="94"/>
|
||||
<text x="-10.16" y="-2.54" size="3.81" layer="94">ARDUINO</text>
|
||||
<pin name="5V" x="17.78" y="-2.54" visible="off" length="point" rot="R270"/>
|
||||
<pin name="MOSI." x="20.32" y="-2.54" visible="off" length="point" rot="R270"/>
|
||||
<pin name="GND_" x="22.86" y="-2.54" visible="off" length="point" rot="R270"/>
|
||||
<pin name="RESET.." x="22.86" y="-5.08" visible="off" length="point" rot="R90"/>
|
||||
<pin name="SCK." x="20.32" y="-5.08" visible="off" length="point" rot="R90"/>
|
||||
<pin name="MISO." x="17.78" y="-5.08" visible="off" length="point" rot="R90"/>
|
||||
<text x="14.224" y="-1.778" size="1.27" layer="94" rot="R270">ICSP</text>
|
||||
<circle x="16.256" y="-5.842" radius="0.254" width="0.254" layer="94"/>
|
||||
<pin name="VIN" x="17.78" y="-17.78" length="short" rot="R90"/>
|
||||
<text x="-6.35" y="-7.62" size="3.81" layer="94">MICRO</text>
|
||||
<pin name="SS" x="20.32" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="MOSI" x="22.86" y="15.24" length="short" rot="R270"/>
|
||||
<pin name="MISO" x="20.32" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="SCK" x="22.86" y="-17.78" length="short" rot="R90"/>
|
||||
<pin name="<USB>ID" x="-27.94" y="-5.08" length="short"/>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<devicesets>
|
||||
<deviceset name="ARDUINO_MICRO" prefix="PCB">
|
||||
<description>Device for representing an Arduino Micro board with a footprint in an EAGLE design. Created by Dave Young for Element14. More EAGLE documentation at: http://www.element14.com/community/community/knode/cadsoft_eagle</description>
|
||||
<gates>
|
||||
<gate name="G$1" symbol="ARDUINO_MICRO" x="0" y="2.54"/>
|
||||
</gates>
|
||||
<devices>
|
||||
<device name="" package="ARDUINO_MICRO">
|
||||
<connects>
|
||||
<connect gate="G$1" pin="+5V" pad="+5V"/>
|
||||
<connect gate="G$1" pin="3V3" pad="3V3"/>
|
||||
<connect gate="G$1" pin="5V" pad="5V"/>
|
||||
<connect gate="G$1" pin="<USB>+V" pad="<USB>+V"/>
|
||||
<connect gate="G$1" pin="<USB>D+" pad="<USB>D+"/>
|
||||
<connect gate="G$1" pin="<USB>D-" pad="<USB>D-"/>
|
||||
<connect gate="G$1" pin="<USB>GND" pad="<USB>GND"/>
|
||||
<connect gate="G$1" pin="<USB>ID" pad="<USB>ID"/>
|
||||
<connect gate="G$1" pin="A0" pad="A0"/>
|
||||
<connect gate="G$1" pin="A1" pad="A1"/>
|
||||
<connect gate="G$1" pin="A2" pad="A2"/>
|
||||
<connect gate="G$1" pin="A3" pad="A3"/>
|
||||
<connect gate="G$1" pin="A4" pad="A4"/>
|
||||
<connect gate="G$1" pin="A5" pad="A5"/>
|
||||
<connect gate="G$1" pin="D10" pad="D10"/>
|
||||
<connect gate="G$1" pin="D11" pad="D11"/>
|
||||
<connect gate="G$1" pin="D12" pad="D12"/>
|
||||
<connect gate="G$1" pin="D13" pad="D13"/>
|
||||
<connect gate="G$1" pin="D2" pad="D2"/>
|
||||
<connect gate="G$1" pin="D3" pad="D3"/>
|
||||
<connect gate="G$1" pin="D4" pad="D4"/>
|
||||
<connect gate="G$1" pin="D5" pad="D5"/>
|
||||
<connect gate="G$1" pin="D6" pad="D6"/>
|
||||
<connect gate="G$1" pin="D7" pad="D7"/>
|
||||
<connect gate="G$1" pin="D8" pad="D8"/>
|
||||
<connect gate="G$1" pin="D9" pad="D9"/>
|
||||
<connect gate="G$1" pin="GND" pad="GND"/>
|
||||
<connect gate="G$1" pin="GND." pad="GND."/>
|
||||
<connect gate="G$1" pin="GND_" pad="GND_"/>
|
||||
<connect gate="G$1" pin="MISO" pad="MISO]"/>
|
||||
<connect gate="G$1" pin="MISO." pad="MISO."/>
|
||||
<connect gate="G$1" pin="MOSI" pad="MOSI"/>
|
||||
<connect gate="G$1" pin="MOSI." pad="MOSI."/>
|
||||
<connect gate="G$1" pin="NC" pad="NC"/>
|
||||
<connect gate="G$1" pin="NC." pad="NC."/>
|
||||
<connect gate="G$1" pin="REF" pad="REF"/>
|
||||
<connect gate="G$1" pin="RESET.." pad="RESET.."/>
|
||||
<connect gate="G$1" pin="RST" pad="RST"/>
|
||||
<connect gate="G$1" pin="RST." pad="RST."/>
|
||||
<connect gate="G$1" pin="RX" pad="RX1"/>
|
||||
<connect gate="G$1" pin="SCK" pad="SCK"/>
|
||||
<connect gate="G$1" pin="SCK." pad="SCK."/>
|
||||
<connect gate="G$1" pin="SS" pad="SS"/>
|
||||
<connect gate="G$1" pin="TX" pad="TX1"/>
|
||||
<connect gate="G$1" pin="VIN" pad="VIN"/>
|
||||
</connects>
|
||||
<technologies>
|
||||
<technology name=""/>
|
||||
</technologies>
|
||||
</device>
|
||||
</devices>
|
||||
</deviceset>
|
||||
</devicesets>
|
||||
</library>
|
||||
<library name="con-lstb">
|
||||
<description><b>Pin Headers</b><p>
|
||||
Naming:<p>
|
||||
MA = male<p>
|
||||
# contacts - # rows<p>
|
||||
W = angled<p>
|
||||
<author>Created by librarian@cadsoft.de</author></description>
|
||||
<packages>
|
||||
<package name="MA04-1">
|
||||
<description><b>PIN HEADER</b></description>
|
||||
<wire x1="-4.445" y1="1.27" x2="-3.175" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-3.175" y1="1.27" x2="-2.54" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-2.54" y1="-0.635" x2="-3.175" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-2.54" y1="0.635" x2="-1.905" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-1.905" y1="1.27" x2="-0.635" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-0.635" y1="1.27" x2="0" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="0" y1="-0.635" x2="-0.635" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-0.635" y1="-1.27" x2="-1.905" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-1.905" y1="-1.27" x2="-2.54" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-5.08" y1="0.635" x2="-5.08" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-4.445" y1="1.27" x2="-5.08" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="-5.08" y1="-0.635" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="-3.175" y1="-1.27" x2="-4.445" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="0" y1="0.635" x2="0.635" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="0.635" y1="1.27" x2="1.905" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="1.905" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="2.54" y1="-0.635" x2="1.905" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="1.905" y1="-1.27" x2="0.635" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="0.635" y1="-1.27" x2="0" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="3.175" y1="1.27" x2="4.445" y2="1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="4.445" y1="1.27" x2="5.08" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="5.08" y1="0.635" x2="5.08" y2="-0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="5.08" y1="-0.635" x2="4.445" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="3.175" y1="1.27" x2="2.54" y2="0.635" width="0.1524" layer="21"/>
|
||||
<wire x1="2.54" y1="-0.635" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<wire x1="4.445" y1="-1.27" x2="3.175" y2="-1.27" width="0.1524" layer="21"/>
|
||||
<pad name="1" x="-3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<pad name="2" x="-1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<pad name="3" x="1.27" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<pad name="4" x="3.81" y="0" drill="1.016" shape="long" rot="R90"/>
|
||||
<text x="-5.08" y="1.651" size="1.27" layer="25" ratio="10">>NAME</text>
|
||||
<text x="-6.223" y="-0.635" size="1.27" layer="21" ratio="10">1</text>
|
||||
<text x="0.635" y="1.651" size="1.27" layer="27" ratio="10">>VALUE</text>
|
||||
<text x="5.334" y="-0.635" size="1.27" layer="21" ratio="10">4</text>
|
||||
<rectangle x1="-1.524" y1="-0.254" x2="-1.016" y2="0.254" layer="51"/>
|
||||
<rectangle x1="-4.064" y1="-0.254" x2="-3.556" y2="0.254" layer="51"/>
|
||||
<rectangle x1="1.016" y1="-0.254" x2="1.524" y2="0.254" layer="51"/>
|
||||
<rectangle x1="3.556" y1="-0.254" x2="4.064" y2="0.254" layer="51"/>
|
||||
</package>
|
||||
</packages>
|
||||
<symbols>
|
||||
<symbol name="MA04-1">
|
||||
<wire x1="3.81" y1="-7.62" x2="-1.27" y2="-7.62" width="0.4064" layer="94"/>
|
||||
<wire x1="1.27" y1="0" x2="2.54" y2="0" width="0.6096" layer="94"/>
|
||||
<wire x1="1.27" y1="-2.54" x2="2.54" y2="-2.54" width="0.6096" layer="94"/>
|
||||
<wire x1="1.27" y1="-5.08" x2="2.54" y2="-5.08" width="0.6096" layer="94"/>
|
||||
<wire x1="-1.27" y1="5.08" x2="-1.27" y2="-7.62" width="0.4064" layer="94"/>
|
||||
<wire x1="3.81" y1="-7.62" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
|
||||
<wire x1="-1.27" y1="5.08" x2="3.81" y2="5.08" width="0.4064" layer="94"/>
|
||||
<wire x1="1.27" y1="2.54" x2="2.54" y2="2.54" width="0.6096" layer="94"/>
|
||||
<text x="-1.27" y="-10.16" size="1.778" layer="96">>VALUE</text>
|
||||
<text x="-1.27" y="5.842" size="1.778" layer="95">>NAME</text>
|
||||
<pin name="1" x="7.62" y="-5.08" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
||||
<pin name="2" x="7.62" y="-2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
||||
<pin name="3" x="7.62" y="0" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
||||
<pin name="4" x="7.62" y="2.54" visible="pad" length="middle" direction="pas" swaplevel="1" rot="R180"/>
|
||||
</symbol>
|
||||
</symbols>
|
||||
<devicesets>
|
||||
<deviceset name="MA04-1" prefix="SV" uservalue="yes">
|
||||
<description><b>PIN HEADER</b></description>
|
||||
<gates>
|
||||
<gate name="1" symbol="MA04-1" x="0" y="0"/>
|
||||
</gates>
|
||||
<devices>
|
||||
<device name="" package="MA04-1">
|
||||
<connects>
|
||||
<connect gate="1" pin="1" pad="1"/>
|
||||
<connect gate="1" pin="2" pad="2"/>
|
||||
<connect gate="1" pin="3" pad="3"/>
|
||||
<connect gate="1" pin="4" pad="4"/>
|
||||
</connects>
|
||||
<technologies>
|
||||
<technology name="">
|
||||
<attribute name="MF" value="" constant="no"/>
|
||||
<attribute name="MPN" value="" constant="no"/>
|
||||
<attribute name="OC_FARNELL" value="unknown" constant="no"/>
|
||||
<attribute name="OC_NEWARK" value="unknown" constant="no"/>
|
||||
</technology>
|
||||
</technologies>
|
||||
</device>
|
||||
</devices>
|
||||
</deviceset>
|
||||
</devicesets>
|
||||
</library>
|
||||
</libraries>
|
||||
<attributes>
|
||||
</attributes>
|
||||
<variantdefs>
|
||||
</variantdefs>
|
||||
<classes>
|
||||
<class number="0" name="default" width="0" drill="0">
|
||||
</class>
|
||||
</classes>
|
||||
<parts>
|
||||
<part name="PCB1" library="E14_Arduino_revB" deviceset="ARDUINO_MICRO" device=""/>
|
||||
<part name="LD" library="con-lstb" deviceset="MA04-1" device=""/>
|
||||
<part name="RD" library="con-lstb" deviceset="MA04-1" device=""/>
|
||||
<part name="LK" library="con-lstb" deviceset="MA04-1" device=""/>
|
||||
<part name="RK" library="con-lstb" deviceset="MA04-1" device=""/>
|
||||
</parts>
|
||||
<sheets>
|
||||
<sheet>
|
||||
<plain>
|
||||
</plain>
|
||||
<instances>
|
||||
<instance part="PCB1" gate="G$1" x="63.5" y="68.58"/>
|
||||
<instance part="LD" gate="1" x="38.1" y="40.64"/>
|
||||
<instance part="RD" gate="1" x="38.1" y="25.4"/>
|
||||
<instance part="LK" gate="1" x="38.1" y="10.16"/>
|
||||
<instance part="RK" gate="1" x="38.1" y="-5.08"/>
|
||||
</instances>
|
||||
<busses>
|
||||
</busses>
|
||||
<nets>
|
||||
<net name="N$1" class="0">
|
||||
<segment>
|
||||
<pinref part="LD" gate="1" pin="1"/>
|
||||
<pinref part="PCB1" gate="G$1" pin="A0"/>
|
||||
<wire x1="45.72" y1="35.56" x2="53.34" y2="35.56" width="0.1524" layer="91"/>
|
||||
<wire x1="53.34" y1="35.56" x2="53.34" y2="50.8" width="0.1524" layer="91"/>
|
||||
</segment>
|
||||
</net>
|
||||
<net name="N$2" class="0">
|
||||
<segment>
|
||||
<pinref part="PCB1" gate="G$1" pin="A1"/>
|
||||
<wire x1="55.88" y1="50.8" x2="55.88" y2="20.32" width="0.1524" layer="91"/>
|
||||
<pinref part="RD" gate="1" pin="1"/>
|
||||
<wire x1="55.88" y1="20.32" x2="45.72" y2="20.32" width="0.1524" layer="91"/>
|
||||
</segment>
|
||||
</net>
|
||||
<net name="N$3" class="0">
|
||||
<segment>
|
||||
<pinref part="LK" gate="1" pin="1"/>
|
||||
<pinref part="PCB1" gate="G$1" pin="A2"/>
|
||||
<wire x1="45.72" y1="5.08" x2="58.42" y2="5.08" width="0.1524" layer="91"/>
|
||||
<wire x1="58.42" y1="5.08" x2="58.42" y2="50.8" width="0.1524" layer="91"/>
|
||||
</segment>
|
||||
</net>
|
||||
<net name="N$4" class="0">
|
||||
<segment>
|
||||
<pinref part="PCB1" gate="G$1" pin="A3"/>
|
||||
<wire x1="60.96" y1="50.8" x2="60.96" y2="-10.16" width="0.1524" layer="91"/>
|
||||
<pinref part="RK" gate="1" pin="1"/>
|
||||
<wire x1="60.96" y1="-10.16" x2="45.72" y2="-10.16" width="0.1524" layer="91"/>
|
||||
</segment>
|
||||
</net>
|
||||
<net name="N$5" class="0">
|
||||
<segment>
|
||||
<pinref part="LD" gate="1" pin="2"/>
|
||||
<wire x1="45.72" y1="38.1" x2="50.8" y2="38.1" width="0.1524" layer="91"/>
|
||||
<wire x1="50.8" y1="38.1" x2="50.8" y2="22.86" width="0.1524" layer="91"/>
|
||||
<pinref part="RD" gate="1" pin="2"/>
|
||||
<wire x1="50.8" y1="22.86" x2="45.72" y2="22.86" width="0.1524" layer="91"/>
|
||||
<wire x1="50.8" y1="22.86" x2="50.8" y2="7.62" width="0.1524" layer="91"/>
|
||||
<pinref part="LK" gate="1" pin="2"/>
|
||||
<wire x1="50.8" y1="7.62" x2="45.72" y2="7.62" width="0.1524" layer="91"/>
|
||||
<pinref part="RK" gate="1" pin="2"/>
|
||||
<wire x1="45.72" y1="-7.62" x2="50.8" y2="-7.62" width="0.1524" layer="91"/>
|
||||
<wire x1="50.8" y1="-7.62" x2="50.8" y2="7.62" width="0.1524" layer="91"/>
|
||||
<pinref part="PCB1" gate="G$1" pin="GND."/>
|
||||
<wire x1="78.74" y1="50.8" x2="78.74" y2="38.1" width="0.1524" layer="91"/>
|
||||
<wire x1="50.8" y1="38.1" x2="78.74" y2="38.1" width="0.1524" layer="91"/>
|
||||
</segment>
|
||||
</net>
|
||||
<net name="N$6" class="0">
|
||||
<segment>
|
||||
<pinref part="LD" gate="1" pin="3"/>
|
||||
<wire x1="45.72" y1="40.64" x2="48.26" y2="40.64" width="0.1524" layer="91"/>
|
||||
<wire x1="48.26" y1="40.64" x2="48.26" y2="25.4" width="0.1524" layer="91"/>
|
||||
<pinref part="RD" gate="1" pin="3"/>
|
||||
<wire x1="45.72" y1="25.4" x2="48.26" y2="25.4" width="0.1524" layer="91"/>
|
||||
<wire x1="48.26" y1="25.4" x2="48.26" y2="10.16" width="0.1524" layer="91"/>
|
||||
<pinref part="LK" gate="1" pin="3"/>
|
||||
<wire x1="45.72" y1="10.16" x2="48.26" y2="10.16" width="0.1524" layer="91"/>
|
||||
<wire x1="48.26" y1="10.16" x2="48.26" y2="-5.08" width="0.1524" layer="91"/>
|
||||
<pinref part="RK" gate="1" pin="3"/>
|
||||
<wire x1="48.26" y1="-5.08" x2="45.72" y2="-5.08" width="0.1524" layer="91"/>
|
||||
<pinref part="PCB1" gate="G$1" pin="+5V"/>
|
||||
<wire x1="73.66" y1="50.8" x2="73.66" y2="40.64" width="0.1524" layer="91"/>
|
||||
<wire x1="73.66" y1="40.64" x2="48.26" y2="40.64" width="0.1524" layer="91"/>
|
||||
</segment>
|
||||
</net>
|
||||
</nets>
|
||||
</sheet>
|
||||
</sheets>
|
||||
</schematic>
|
||||
</drawing>
|
||||
<compatibility>
|
||||
<note version="6.3" minversion="6.2.2" severity="warning">
|
||||
Since Version 6.2.2 text objects can contain more than one line,
|
||||
which will not be processed correctly with this version.
|
||||
</note>
|
||||
</compatibility>
|
||||
</eagle>
|
157
README.md
157
README.md
@ -1,136 +1,57 @@
|
||||
# Sanro - Arduino
|
||||
(このREADME.mdは日本語訳版があります、README_JP.mdをご覧ください、訳は完璧には程遠いですが)
|
||||
Hardware program of the game Taiko Sanro.
|
||||
# Taiko Drum Controller - Arduino
|
||||
|
||||
Open-source hardware program to make your own Taiko no Tatsujin PC controller.
|
||||
|
||||
## What is This Program
|
||||
## About this Project
|
||||
|
||||
Music game fans from East Asia countries are most probable to know a famous game called Taiko No Tatsujin ([太鼓の達人](http://taiko-ch.net/)), developed by [Bandai Namco Entertainment](http://bandainamcoent.co.jp/).
|
||||
This project aims to help you develop your own **hardware taiko** at home.
|
||||
|
||||
This open-source program aims to help you develop your own **hardware taiko** at home, just like how you play taiko in arcade halls.
|
||||
*This program is for personal and non-commercial use only.*
|
||||
|
||||
*This program is for personal and non-commercial use only. You may design your own taiko and have fun, but you may NOT distribute your product to the public.*
|
||||
## What You Need
|
||||
|
||||
## Features
|
||||
1. An Arduino Micro or Leonardo microcontroller (other compatible boards might work, but you need to verify that they support keyboard emulation);
|
||||
|
||||
2. 4 Piezoelectric sensors;
|
||||
|
||||
3. Necessary electronic components (breadboards, resistors, LEDs, jumper wires, etc.);
|
||||
|
||||
4. Wood planks and cutting tools if you need to make your drum from scratch. If you have a aftermarket taiko or a Big Power Lv. 5 drum, you can use them directly.
|
||||
|
||||
* **Full support for the PC game Taiko-san Jiro (太鼓さん次郎).** Actually, any app/game/emulator using keyboards as input is supported.
|
||||
* **Force-sensitive.** I am also developing a new open-source game called Taiko Sanro that can support this feature.
|
||||
* **Supports dense inputs such as rolling.**
|
||||
## Steps to Make the Controller
|
||||
|
||||
*In one word, your taiko will perform exactly the same as the arcade version if you configure the program well enough! :D*
|
||||
1. Make the drum and firmly glue the 4 piezoelectric sensors to the drum. Refer to the image for preferred locations of the sensors.
|
||||
|
||||
![Controller scheme](./images/piezo_locations.png)
|
||||
|
||||
## Prerequisites
|
||||
2. Connect the piezoelectric sensors and other components to the controller as follows (the polarity of the piezoelectric sensors don't matter);
|
||||
|
||||
![Controller scheme](./images/scheme.png)
|
||||
|
||||
Because this is a DIY project, you should have some basic electronic engineering knowledge about connecting microprocessors with jumper wires on a breadboard. **Soldering techniques, however, are NOT required.**
|
||||
3. Flash the firmware to the board.
|
||||
|
||||
You may need to fine-tune some parameters like `SAMPLE_CACHE_LENGTH`, `HIT_THRES`, `RESET_THRES`, and `sensitivity`. See the following section for details.
|
||||
|
||||
## Getting Started
|
||||
4. Have fun!
|
||||
|
||||
It might take you a few days to assembly and configure your own taiko device. The microprocessor chips are cheap, though, you can buy them from wherever you want.
|
||||
## Tuning the Parameters
|
||||
|
||||
### Preparation
|
||||
1. Hit and reset threshold
|
||||
|
||||
Set `DEBUG 1` (this disables the keyboard output and sends signal values from the serial port), flash the firmware, roll on one of the 4 areas of the drum, and visualize the graph from the output of the serial monitor. The hit threshold should be smaller than your heaviest hit on the drum, and the reset threshold should be greater than the "cave" between roll hits. The reset value should also below the hit value.
|
||||
|
||||
Repeat the process for the rest 3 areas and find the best one that fits all.
|
||||
|
||||
Almost all of these things have alternatives, now I will show you what I used:
|
||||
![Controller scheme](./images/tune_hit_reset.png)
|
||||
|
||||
* [Arduino Micro](http://i.imgur.com/lXqnpJ9.jpg) module x 1
|
||||
* [KEYES K-036](http://i.imgur.com/gUWnUCc.png) microphone module x 4
|
||||
* Breadboard x 1
|
||||
* A few jumper wires
|
||||
* Micro USB cable x 1
|
||||
* [Arduino IDE](https://www.arduino.cc/en/Main/Software)
|
||||
2. Sampling length
|
||||
|
||||
For maximum runtime speed, the `cache.h` library has been optimized to work with `SAMPLE_CACHE_LENGTH` window sizes of powers of 2. That means 2, 8, 16, and 32, etc. Practically 16 is the best value for Arduino, but if you have a powerful microcontroller that samples the input at the speed of at least 4000Hz or more, you can change the value to 32 for a smoother (in other words, less noisy) curve.
|
||||
|
||||
And miscellaneous stuffs like:
|
||||
3. Sensitivities
|
||||
|
||||
Not all piezoelectric sensors are the same, and due to installation errors, the captured signals from the 4 sensors may vary significantly. The sensitivity values are multipliers to normalize the differences. In the following example, the right-don area generates a much higher value than the rest 3, so you can adjust `sensitivity` to `{1.0, 1.0, 0.5, 1.0}` to eliminate the issue.
|
||||
|
||||
* Thick wood plank x 4, best to be [shaped like this](http://i.imgur.com/va20eVn.jpg)
|
||||
* Foamed plastics to connect and fixate the wood
|
||||
* Superglue
|
||||
* Other electronical tools like screw drivers and multimeters, etc.
|
||||
![Controller scheme](./images/tune_sensitivities.png)
|
||||
|
||||
A few things to note:
|
||||
|
||||
1. Any Arduino modules with ATmega32u4 chips or Due and Zero boards are supported. Arduino Micro is the cheapest one, though.
|
||||
2. Using a breadboard is a low-cost option, but it is not the best/stablest choice. There is a PCB blueprint that allows you to print the integrated board and solder up. For details, please see "Making the PCB" part below.
|
||||
3. You can also design and build your own microphones modules, just make sure you know how to connect them to your Arduino module.
|
||||
4. Thick, solid, dense and heavy wood is the best choice, while plywood, particleboard and medium-density fiberboard (MDF) are fragile at their edges and can be easily damaged. For better experience, you should cut the planks with the shapes shown in [the picture](http://i.imgur.com/va20eVn.jpg). If you don't have the cutting tools and want it easier, just prepare 4 planks.
|
||||
|
||||
### Connecting the Parts
|
||||
|
||||
The scheme is quite simple. You don't even need any extra resistors or capacitors. **All you need are jumper wires.**
|
||||
|
||||
Each microphone module has 4 pins, and we only need 3 of them (`A0`, `+`, and `G`). Connect their `A0` outputs to Arduino Micro's `A0`~`A3` inputs, then connect their `+` pins together with module's `5V` pin, then the `G` pins together to the ground. Use the following picture if you have any problems.
|
||||
|
||||
(Picture to be uploaded)
|
||||
|
||||
### (Optional) Making the PCB
|
||||
|
||||
To make the PCB, you can either DIY or ask local PCB manufacturer for help. If you choose DIY, you should prepare a few more things, including:
|
||||
|
||||
* 2.2 x 1.6 inches Empty PCB x 1
|
||||
* Thermal transfer paper x 1
|
||||
* Laser printer x 1
|
||||
* Standard 4-pin header x 4
|
||||
* Thermal transfer machine (or clothes iron)
|
||||
* Etchant
|
||||
* Soldering tools
|
||||
|
||||
Detailed process to make the PCB is totally off-topic, and you may need [this video](https://www.youtube.com/watch?v=mv7Y0A9YeUc) to help you. I have included the required printable board file `sanro.eps` in the `Eagle/sanro-arduino` folder. You can also download the scheme and board files and edit them by yourself with the [Eagle Software](http://www.cadsoftusa.com/download-eagle/).
|
||||
|
||||
### Uploading the Program to the Board
|
||||
|
||||
1. Download and install [Arduino IDE](https://www.arduino.cc/en/Main/Software).
|
||||
2. Create a folder and put the source files (`sanro.ino` and `cache.h`) into it.
|
||||
3. Connect your Arduino Micro to your computer with a USB cable. The driver installation should be automatic, but if you have any questions about it, [check this official guide](https://www.arduino.cc/en/Guide/ArduinoLeonardoMicro#toc8).
|
||||
4. Open the `sanro` project in Arduino IDE.
|
||||
5. Select "Board" - "Arduino/Genuino Micro" from the menu.
|
||||
6. Compile and upload the program.
|
||||
|
||||
## Configuration
|
||||
|
||||
***WARNING: Because of the deviations between the microphones and the installation of the planks, you will spend much time adjusting the hardware and the parameters in the program. Be patient, there are lots of tries-and-errors up ahead.***
|
||||
|
||||
### Hardware
|
||||
|
||||
Literally there is only 2 things you need to do:
|
||||
|
||||
1. Glue each microphone to the wood plank
|
||||
2. Fixate the wood planks onto the foamed plastics
|
||||
|
||||
However, the problem is how you do them. There are some major criteria when doing this job:
|
||||
|
||||
* Attach the microphone to the plank as close/tight as possible
|
||||
* Seal the microphone to isolate it from outside noises
|
||||
* Don't let the planks contact each other
|
||||
|
||||
To accomplish them, you can remove the filter cover of the microphone receiver, then attach the receiver face (the microphones are usually cylindrical, like [the ones that I used in this project](http://i.imgur.com/gUWnUCc.png)) tightly to the surface of the plank, and seal it with superglue. In this way, the soundwave from the plank can be directly transmitted to the microphone, loud and clear. Also, noises and soundwave from nearby planks can be reduced to the minimum.
|
||||
|
||||
Also, please note that there is a potentiometer on the KEYES module, which is used to set the quiescent operating point (Q-point) of the microphone. Although I have implemented algorithms to eliminate the bias caused by unequal Q-point of each microphone, **it is better to adjust the potentiometer manually and keep the Q-points at approximately the same level.** To do this, you may need to contact your microphone provider.
|
||||
|
||||
### Parameters in the Program
|
||||
|
||||
All you need to change is the `LIGHT_THRES` and the `HEAVY_THRES`, according to your microphone configuration.
|
||||
|
||||
The codes are short and self-explanatory, and if you need help understanding them, please refer to the "About the Algorithm" part.
|
||||
|
||||
(To be completed)
|
||||
|
||||
## About the Algorithm
|
||||
|
||||
The algorithm in the program is simple, and there are still much more to be optimized. All pull requests are welcomed!
|
||||
|
||||
In short, the signal processing job can be divided into 4 calculating steps after acquiring the samples from the analog inputs:
|
||||
|
||||
1. Calculate the derivative
|
||||
2. Calculate the power of the waveform
|
||||
3. Calculate the convolution of the power
|
||||
4. Find the peak of the power convolution and compare it with the thresholds to see if there is a light or heavy hit
|
||||
|
||||
This picture shows the algorithm in a clearer way:
|
||||
|
||||
(Picture to be uploaded)
|
||||
|
||||
Step 1 is to elinimate the difference of Q-point, which makes it easier and more accurate to calculate the power of the waveform.
|
||||
|
||||
Step 2, calculating the power of the waveform, can also enhance the signal to noise ratio (SNR), which can further eliminate the noises. `LIGHT_THRES` is also used here to cut the low-power noises out.
|
||||
|
||||
Step 3 is to "polish" the power curve to make it more like a sequence of hit pulses, which makes it easier to find the power peak.
|
||||
|
||||
For Arduino microprocessors, the executing time for each loop is not stable - the processor always executes the instructions as fast as it can. Onece the loop ends, it immediately starts the next loop. This is extremely bad for sampling sounds. Therefore, the program implements a simple sampling frequency control mechanism to restrict the sampling frequency to no more than 1,000Hz.
|
||||
Note that the installation of the sensors is very critical. You should make sure that the sensors are firmly attached on the wood and located properly.
|
BIN
images/piezo_locations.png
Normal file
BIN
images/piezo_locations.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 92 KiB |
BIN
images/scheme.png
Normal file
BIN
images/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 161 KiB |
BIN
images/tune_hit_reset.png
Normal file
BIN
images/tune_hit_reset.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 52 KiB |
BIN
images/tune_sensitivities.png
Normal file
BIN
images/tune_sensitivities.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 98 KiB |
@ -14,32 +14,18 @@
|
||||
template <class T, int L>
|
||||
class Cache {
|
||||
public:
|
||||
Cache ();
|
||||
void put (T value);
|
||||
T get (int offset = 0) const;
|
||||
Cache() { memset(data_, 0, sizeof(data_)); }
|
||||
inline void put(T value) {
|
||||
current_ = (current_ + 1) & (L - 1);
|
||||
data_[current_] = value;
|
||||
}
|
||||
inline T get(int offset = 0) const {
|
||||
return data_[(current_ + offset) & (L - 1)];
|
||||
}
|
||||
|
||||
private:
|
||||
T data_ [L];
|
||||
T data_[L];
|
||||
int current_ = 0;
|
||||
};
|
||||
|
||||
template <class T, int L>
|
||||
Cache <T, L>::Cache () {
|
||||
for (int i = 0; i < L; i++) {
|
||||
data_ [i] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
template <class T, int L>
|
||||
void Cache <T, L>::put (T value) {
|
||||
current_ = (current_ + 1) % L;
|
||||
data_ [current_] = value;
|
||||
}
|
||||
|
||||
template <class T, int L>
|
||||
T Cache <T, L>::get (int offset) const {
|
||||
int index = (current_ + offset) % L;
|
||||
return data_ [index];
|
||||
}
|
||||
|
||||
#endif // CACHE_H
|
||||
#endif // CACHE_H
|
206
sanro/sanro.ino
206
sanro/sanro.ino
@ -1,126 +1,80 @@
|
||||
/***************************************************************
|
||||
* *
|
||||
* Taiko Sanro - Arduino *
|
||||
* Support Arduino models with ATmega32u4 microprocessors *
|
||||
* *
|
||||
* Shiky Chang Chris *
|
||||
* zhangxunpx@gmail.com wisaly@gmail.com *
|
||||
* *
|
||||
***************************************************************/
|
||||
|
||||
// Compatibility with Taiko Jiro
|
||||
#define MODE_JIRO 1
|
||||
|
||||
#define MODE_DEBUG 0
|
||||
|
||||
#define CHANNELS 4
|
||||
|
||||
// Caches for the soundwave and power
|
||||
#define SAMPLE_CACHE_LENGTH 12
|
||||
#define POWER_CACHE_LENGTH 3
|
||||
|
||||
// Light and heacy hit thresholds
|
||||
#define LIGHT_THRES 5000
|
||||
#define HEAVY_THRES 20000
|
||||
|
||||
// Forced sampling frequency
|
||||
#define FORCED_FREQ 1000
|
||||
|
||||
#include <limits.h>
|
||||
#include <Keyboard.h>
|
||||
#include "cache.h"
|
||||
|
||||
#if MODE_JIRO
|
||||
#define HEAVY_THRES LONG_MAX
|
||||
#endif
|
||||
|
||||
unsigned long int lastTime;
|
||||
|
||||
int channelSample [CHANNELS];
|
||||
int lastChannelSample [CHANNELS];
|
||||
Cache <int, SAMPLE_CACHE_LENGTH> sampleCache [CHANNELS];
|
||||
|
||||
long int power [CHANNELS];
|
||||
Cache <long int, POWER_CACHE_LENGTH> powerCache [CHANNELS];
|
||||
|
||||
bool triggered [CHANNELS];
|
||||
|
||||
int pins[] = {A0, A1, A2, A3}; // L don, R don, L kat, R kat
|
||||
char lightKeys[] = {'g', 'h', 'f', 'j'};
|
||||
char heavyKeys[] = {'t', 'y', 'r', 'u'};
|
||||
|
||||
void setup() {
|
||||
Serial.begin (9600);
|
||||
Keyboard.begin ();
|
||||
analogReference (DEFAULT);
|
||||
for (short int i = 0; i < CHANNELS; i++) {
|
||||
power [i] = 0;
|
||||
lastChannelSample [i] = 0;
|
||||
triggered [i] = false;
|
||||
}
|
||||
lastTime = 0;
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
for (short int i = 0; i < CHANNELS; i++) {
|
||||
|
||||
channelSample[i] = analogRead (pins [i]);
|
||||
sampleCache [i].put (channelSample [i] - lastChannelSample [i]);
|
||||
|
||||
long int tempInt;
|
||||
tempInt = sampleCache [i].get (1);
|
||||
power [i] -= tempInt * tempInt;
|
||||
tempInt = sampleCache [i].get ();
|
||||
power [i] += tempInt * tempInt;
|
||||
if (power [i] < LIGHT_THRES) {
|
||||
power [i] = 0;
|
||||
}
|
||||
|
||||
powerCache [i].put (power [i]);
|
||||
lastChannelSample [i] = channelSample [i];
|
||||
if (powerCache [i].get (1) == 0) {
|
||||
triggered [i] = false;
|
||||
}
|
||||
|
||||
if (!triggered [i]) {
|
||||
for (short int j = 0; j < POWER_CACHE_LENGTH - 1; j++) {
|
||||
if (powerCache [i].get (j - 1) >= powerCache [i].get (j)) {
|
||||
break;
|
||||
} else if (powerCache [i].get (1) >= HEAVY_THRES) {
|
||||
triggered [i] = true;
|
||||
Keyboard.print (heavyKeys [i]);
|
||||
} else if (powerCache [i].get (1) >= LIGHT_THRES) {
|
||||
triggered [i] = true;
|
||||
Keyboard.print (lightKeys [i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#if MODE_DEBUG
|
||||
Serial.print (power [i]);
|
||||
Serial.print ("\t");
|
||||
#endif
|
||||
|
||||
// End of each channel
|
||||
}
|
||||
|
||||
#if MODE_DEBUG
|
||||
Serial.print (50000);
|
||||
Serial.print ("\t");
|
||||
Serial.print (0);
|
||||
Serial.print ("\t");
|
||||
|
||||
Serial.println ("");
|
||||
#endif
|
||||
|
||||
// Force the sample frequency to be less than 1000Hz
|
||||
unsigned int frameTime = micros () - lastTime;
|
||||
lastTime = micros ();
|
||||
if (frameTime < FORCED_FREQ) {
|
||||
delayMicroseconds (FORCED_FREQ - frameTime);
|
||||
} else {
|
||||
// Performance bottleneck;
|
||||
Serial.print ("Exception: forced frequency is too high for the microprocessor to catch up.");
|
||||
}
|
||||
}
|
||||
#define CHANNELS 4
|
||||
#define SAMPLE_CACHE_LENGTH 16 // Must be power of 2 (8, 16, etc.); See cache.h for implementation
|
||||
#define HIT_THRES 750 // The thresholds are also dependent on SAMPLE_CACHE_LENGTH, if you
|
||||
#define RESET_THRES 300 // changed SAMPLE_CACHE_LENGTH, you must adjust thresholds here
|
||||
|
||||
#define DEBUG 0
|
||||
|
||||
#include <Keyboard.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include "cache.h"
|
||||
|
||||
unsigned long int lastTime;
|
||||
|
||||
Cache<int, SAMPLE_CACHE_LENGTH> inputWindow[CHANNELS];
|
||||
unsigned long power[CHANNELS];
|
||||
unsigned long lastPower[CHANNELS];
|
||||
|
||||
bool triggered;
|
||||
unsigned long triggeredTime[CHANNELS];
|
||||
|
||||
const byte inPins[] = {A0, A1, A2, A3}; // L don, L kat, R don, R kat
|
||||
const byte outPins[] = {5, 6, 7, 8}; // LED visualization (optional)
|
||||
const char outKeys[] = {'f', 'd', 'j', 'k'}; // L don, L kat, R don, R kat
|
||||
|
||||
float sensitivity[] = {1.0, 1.0, 1.0, 1.0};
|
||||
|
||||
short maxIndex;
|
||||
float maxPower;
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
Keyboard.begin();
|
||||
analogReference(DEFAULT);
|
||||
for (byte i = 0; i < CHANNELS; i++) {
|
||||
power[i] = 0;
|
||||
lastPower[i] = 0;
|
||||
triggered = false;
|
||||
}
|
||||
lastTime = 0;
|
||||
maxIndex = -1;
|
||||
maxPower = 0;
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
if (maxIndex != -1 && lastPower[maxIndex] < RESET_THRES) {
|
||||
triggered = false;
|
||||
digitalWrite(outPins[maxIndex], LOW);
|
||||
maxIndex = -1;
|
||||
maxPower = 0;
|
||||
}
|
||||
|
||||
for (byte i = 0; i < CHANNELS; i++) {
|
||||
|
||||
inputWindow[i].put(analogRead(inPins[i]));
|
||||
power[i] = sensitivity[i] * (power[i] - inputWindow[i].get(1) + inputWindow[i].get());
|
||||
|
||||
if (lastPower[i] > maxPower && power[i] < lastPower[i]) {
|
||||
maxPower = lastPower[i];
|
||||
maxIndex = i;
|
||||
}
|
||||
lastPower[i] = power[i];
|
||||
#if DEBUG
|
||||
Serial.print(power[i]);
|
||||
Serial.print(" ");
|
||||
#endif
|
||||
}
|
||||
|
||||
if (!triggered && maxPower >= HIT_THRES) {
|
||||
triggered = true;
|
||||
digitalWrite(outPins[maxIndex], HIGH);
|
||||
#if !DEBUG
|
||||
Keyboard.print(outKeys[maxIndex]);
|
||||
#endif
|
||||
}
|
||||
#if DEBUG
|
||||
Serial.print("\n");
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user