1"use strict";(self.webpackChunkjerrytron_com=self.webpackChunkjerrytron_com||[]).push([[4689],{1140:function(e,t,l){l.r(t),l.d(t,{default:function(){return f}});var n=l(8453),r=l(6540);function a(e){const t=Object.assign({p:"p",strong:"strong",em:"em",h2:"h2",a:"a",ul:"ul",li:"li"},(0,n.RP)(),e.components),l=t.Image1;return l||function(e,t){throw new Error("Expected "+(t?"component":"object")+" `"+e+"` to be defined: you likely forgot to import, pass, or provide it.")}("Image1",!0),r.createElement(r.Fragment,null,r.createElement(t.p,null,r.createElement(t.strong,null,"This project appeared in the ",r.createElement(t.em,null,"Prototyping for Play")," video course published through O'Reilly Media, as part of segment 11 titled:")),"\n","\n",r.createElement(t.h2,null,"Making Connected Games"),"\n",r.createElement(t.p,null,"This project demonstrates the use of the medium range, low power wireless protocol, Bluetooth Low Energy, as the method for controlling a motorized egg toy with your smart device on Android or iOS. A small plastic egg will be filled with an RFduino BLE microcontroller, a custom motor shield, two vibrational motors, and batteries."),"\n",r.createElement(l,{align:"center",width:"100%"}),"\n",r.createElement(t.h2,null,"Repository"),"\n",r.createElement(t.p,null,"The source code and instructions for flashing it to a Photon microcontroller are available here: ",r.createElement(t.a,{href:"https://github.com/jerrytron/pfp-zig-zegg"},"Zig Zegg Repository")),"\n",r.createElement(t.h2,null,"Software"),"\n",r.createElement(t.ul,null,"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.arduino.cc/en/Main/Software"},"Arduino IDE")),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://store.unity.com/download-nuo"},"Unity 3D Free Edition")),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"http://u3d.as/aET"},"Unity Plugin - Bluetooth LE for iOS and Android")),"\n"),"\n",r.createElement(t.h2,null,"Tools"),"\n",r.createElement(t.ul,null,"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.amazon.com/Tools-VISE-GRIP-Stripper-Crimper-2078309/dp/B000JNNWQ2"},"Wire Stripper / Cutter")),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.sparkfun.com/products/14734"},"Soldering Iron")),"\n",r.createElement(t.li,null,"Smartphone (Android or iOS)"),"\n"),"\n",r.createElement(t.h2,null,"Supplies"),"\n",r.createElement(t.ul,null,"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.sparkfun.com/products/9325"},"Solder")),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.sparkfun.com/products/11367"},"22 AWG Solid Wire")),"\n"),"\n",r.createElement(t.h2,null,"Parts"),"\n",r.createElement(t.ul,null,"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.sparkfun.com/products/13208"},"RFduino DIP")),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.sparkfun.com/products/13209"},"RFduino USB Shield")),"\n",r.createElement(t.li,null,"\n",r.createElement(t.ul,null,"\n",r.createElement(t.li,null,"Optional: ",r.createElement(t.a,{href:"https://www.sparkfun.com/products/13219"},"RFduino Bundle w/ DIP & USB")),"\n"),"\n"),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.sparkfun.com/products/13213"},"RFduino Proto Shield")),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.adafruit.com/products/1201"},"Vibration Motor")," x 2"),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.adafruit.com/products/756"},"PN2222 Transistor")," x 2"),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.adafruit.com/products/755"},"1N4001 Diode")," x 2"),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"http://amzn.com/B003UC4FSS"},"270 Ω Resistor")," x 2"),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"http://amzn.com/B00362TW9O"},'Plastic Egg - 3"')),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"https://www.sparkfun.com/products/9543"},"Battery Holder 2 x AAA")),"\n",r.createElement(t.li,null,r.createElement(t.a,{href:"http://amzn.com/B008999TAG"},"Right Angle Header Pins")),"\n"))}var c=function(e){void 0===e&&(e={});const t=Object.assign({},(0,n.RP)(),e.components).wrapper;return t?r.createElement(t,e,r.createElement(a,e)):a(e)};var i=l(4589),o=l(5588),m=l(2761),s=l(983);const u=e=>{var t;let l=e.data,a=e.children;const c=l.mdx,i=c.frontmatter,u=c.fields,f=(0,o.c)(null===(t=u.thumbnail)||void 0===t?void 0:t.childImageSharp),w=u.slides,y=i.credits,_=i.recognition,v=u.gallery,S=(0,s.M7)(u.images);return r.createElement(m.A,null,r.createElement("article",{className:"sheet"},r.createElement("div",{className:"sheet__inner"},f&&r.createElement("div",{className:"sheet__banner"},r.createElement(o.G,{image:f,alt:i.title||""})),r.createElement("h1",{className:"sheet__title"},i.title),r.createElement("div",{className:"sheet__lead"},i.summary),r.createElement("hr"),r.createElement(E,{credits:y,recognition:_,gallery:v}),r.createElement(d,{slides:w,title:i.title}),r.createElement("div",{className:"sheet__body"}
1,r.createElement(n.xA,{components:S},a)),r.createElement(h,{credits:y}),r.createElement(p,{recognition:_}),r.createElement(g,{images:v,title:i.title}))))};function E(e){let t=e.credits,l=e.recognition,n=e.gallery;return t||l||n?r.createElement("div",null,r.createElement("p",{className:"sheet__quicklinks"}," â¢Â ",t&&r.createElement("span",null,r.createElement("a",{href:"#credits"},"Credits")," â¢Â "),l&&r.createElement("span",null,r.createElement("a",{href:"#recognition"},"Recognition")," â¢Â "),n&&r.createElement("span",null,r.createElement("a",{href:"#gallery"},"Gallery")," â¢Â ")),r.createElement("hr")):null}function d(e){let t=e.slides,l=e.title;return t&&0!==t.length?r.createElement("div",{className:"sheet__slider"},r.createElement(i.A,{slidesToShow:2,infinite:!0,arrows:!0,autoplay:!0,autoplaySpeed:6e3},t.map((e,t)=>{const n=(0,o.c)(null==e?void 0:e.childImageSharp);return n?r.createElement(o.G,{key:t,image:n,alt:(l||"")+" slide "+(t+1)}):r.createElement("div",{key:t})}))):null}function h(e){let t=e.credits;return t?r.createElement("div",{className:"sheet__body"},r.createElement("h2",{id:"credits"},"Credits"),r.createElement("ul",null,t.map((e,t)=>r.createElement("li",{key:t},e.link?r.createElement("span",null,r.createElement("a",{href:e.link},e.name)," â ",e.role):r.createElement("span",null,e.name," â ",e.role))))):null}function p(e){let t=e.recognition;return t?r.createElement("div",{className:"sheet__body"},r.createElement("h2",{id:"recognition"},"Recognition"),r.createElement("ol",{className:"sheet__recognition"},t.map((e,t)=>r.createElement("li",{className:"sheet__recognitionitem",key:t},r.createElement("strong",null,e.event),r.createElement("em",null,e.status),e.location," â ",e.datesPretty)))):null}function g(e){let t=e.images,l=e.title;return t&&0!==t.length?r.createElement("div",{className:"sheet__body"},r.createElement("h2",{id:"gallery"},"Gallery"),r.createElement("div",{className:"sheet__gallery"},t.map((e,t)=>{const n=(0,o.c)(null==e?void 0:e.childImageSharp);return n?r.createElement(o.G,{className:"sheet__galleryimage",key:t,image:n,alt:(l||"")+" gallery image "+(t+1)}):null}))):null}function f(e){return r.createElement(u,e,r.createElement(c,e))}}}]); 2//# sourceMappingURL=component---src-templates-project-js-content-file-path-src-projects-zig-zegg-md-893bf9522ffe4585fe82.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.