Brug Photon til at lave en Interactive Magic Rope Box - 💡 Fix My Ideas

Brug Photon til at lave en Interactive Magic Rope Box

Brug Photon til at lave en Interactive Magic Rope Box


Forfatter: Ethan Holmes, 2019

Figur 8-3 og 8-4 viser paret Fotoner med deres fristende længder af streng, der skal trækkes. Den ene er i en trækasse og tilføjer til mysteriet.

Dette projekt er uddrag fra Make: Kom i gang med Photon. Til salg nu.

The Magic Rope-projektet, der anvender en Photon, blev inspireret af Leena Ventä-Olkkonen, Tobi Stockinger, Claudia Zuniga og Graham Dean, som viste, hvordan en offentlig installation kunne laves, der ville gøre det muligt for store kort af verden at blive placeret i forskellige offentlige rum i en by.

Disse kort ville have korte længder af reb stikker ud af huller på kortet svarende til andre byer rundt omkring i verden. Tanken er, at offentligheden i en af ​​disse byer (lad os sige London) kunne gå op til et reb på deres kort, trække på det, og det parrede reb i den anden by (f.eks. New York) ville blive trukket ind i kort, der tiltrækker opmærksomhed hos personer nær installationen. En forsigtig udveksling af tovtræk kan så forekomme over hele verden.

Det oprindelige projekt blev kun udviklet som et koncept og blev ikke implementeret som en reel installation. I dette projekt vil du lave et par "indviklede" reb, som kunne placeres i forskellige byer. Dette kunne bruges som en god måde at holde kontakten med fjerne familiemedlemmer.

Dele

For at opbygge dette projekt har du brug for to sæt af hver af de dele, der er angivet i tabel 8-1 ud over to fotoner / kerner.

De glidende potter (potentiometre), der anvendes i dette projekt, er variable modstande beregnet til brug i automatiserede musikblandingsborde. Du kan justere modstanden ved at glide "skyderen" op og ned i potten, men der er også en lille motor, der flytter skyderen ved hjælp af et tandremsdrev.

Disse motoriserede potter har ikke ledninger fastgjort til stifterne, så dette er et projekt, hvor du bliver nødt til at bruge et loddejern og fastgøre nogle ledninger til stifterne.

Software

Begge ender af dette projekt har nøjagtig den samme software, der kører på dem, og du kan finde den i filen p_15_Magic_Rope i PHOTON_BOOK bibliotek; kode eksempler er tilgængelige for download her.

Den oprindelige version af denne fil har kommenteret nogle ekstra kommandoer, der kan bruges til at debugge projektet, hvis begivenhederne ikke synes at komme igennem. Se kommentarerne i det oprindelige program, hvis du skal bruge dem.

Programmet starter ved at definere de to ben, der skal bruges. A0 er for potentiometerets spændingsudgang, som vil være 0V, hvis rebet er helt trukket ud, og 3.3V hvis tovet er helt trukket ind.

Den boolske variabel min tur bruges til at holde styr på, hvornår det drejer sig om at trække på tovet. Hvis min tur er sat til sand, så er det denne enheds tur at få sit reb trukket.

Begge ender af dette projekt udgiver både og abonnerer på den samme begivenhed, så variablen thisID er nødvendig, så enheden kender sit eget ID og kan se bort fra sine egne udgivelsesbegivenheder, og reagerer kun på begivenheder fra den anden Photon / Core.

Konstanten maxPosn er den analoge indlæsning, hvor glidekrukken er i den position, hvor tovet er helt trukket ind. Dette er indstillet lidt lavere end den teoretiske maksimale analoge indgangsværdi på 4095 for at tillade ukorrekt i de analoge aflæsninger.

Den anden konstante, minPosn, svarer til omkring tre fjerdedele af den vej, der er trukket ind, og det er den grænse, hvor en "trukket" begivenhed vil blive offentliggjort.

Opsætningsfunktionen gør det nødvendige abonnement til "trukket", der forbinder det med funktionen remoteRopePulled. Det kalder også funktionen moveSliderTo for at placere skyderen på sin helt trukket stilling, klar til at blive trukket ud.

Løkkefunktionen læser den analoge indgang for at finde newLocalPosition. Hvis dette er mindre end minPosn konstant, og det er denne enheds tur at flytte, så "pulled" -hændelsen udkommer med denne enheds ID som parameter.

I den situation, hvor tovet er trukket på den anden Photon / Core, er funktionen remoteRopePulled vil blive kaldt. Denne funktion vil blive forsynet med enhedens ID, hvor tovet blev trukket, så det kan sammenlignes med thisID, den modtagende Photons ID, ved at søge efter strenget af tegn i thisID inden for ID'en er sendt i data.

Hvis begivenheden er kommet fra en fjernbetjent Photon / Core, trækkes skyderen helt ind, og min tur er vendt over til sandt.

Funktionen moveSliderTo håndterer alle automatiske bevægelser af skyderen. Faktisk kan det kun trække skyderen ind. Men du kan ikke skubbe reb, så det er fint. Funktionen tager den nye position som en parameter og holder strøm tilført til motoren, indtil den målte position ikke længere er mindre end den ønskede position.

Hardware

Brødbrættet layout til dette projekt er vist i figur 8-5.

De motoriserede potter er faktisk stereoanlæg, men vi har kun brug for en kanal til dette projekt. Det betyder, at der er nogle pins, som du ikke behøver at forbinde fører til. Figur 8-6 viser undersiden af ​​den motoriserede krukke. Du kan se motoren nederst til højre.

Før du monterer brødbrættet, skal du lodde nogle ledninger til de motoriserede potben. Motorens ledninger er let identificerede. Hvis du bruger den samme motoriserede krukke som jeg er, skal du sætte en rød ledning til den nederste motorledning (som vist på figur 8-6) og en sort ledning til den anden motorledning. Alle ledninger skal være omkring 6 inches lange, så de nemt kan nå brødbrættet.

Ved den yderste ende af motoren fastgøres en rød ledning til den højeste ledning. Dette er føringen, der går til 3,3 V på breadboard. Vedhæft en gul eller orange bly til den højeste ende i motorens ende. Denne bly er glideren af ​​potten, der vil forbinde til A0 på Photon / Core. Tilslut en brun eller blå ledning ved siden af ​​denne gule ledning. Dette vil forbinde til GND på breadboard.

Tilslut alt sammen som vist i figur 8-5, og vær særlig opmærksom på transistoren og dioden for at sikre, at de er den rigtige vej rundt. Dioden har en stribe i den ene ende, der skal være mod toppen af ​​brødbrættet, og transistoren har en buet side.

Drivmotorer kan resultere i spændingsspidser, og dioden beskytter Photon / Core fra utilsigtet skade som følge af disse spidser.

Brug af projektet

For at bruge projektet, tænd begge sider af det magiske reb. Efter at Photon / Core er færdig med at starte (blinkende grønt lys), skal motoren aktiveres i begge ender af projektet og trække glideren op til den ene ende af banen.

Træk på en af ​​strængerne og derefter den anden. Når du trækker på den anden streng, skal den første streng trækkes tilbage automatisk.

Du kunne finde en flot trækasse til dette projekt, der borer et hul for at strengen kommer frem i den ene ende og et hul til USB-ledningen på den anden.

Resumé

Brug af udgivelse og abonnement er meget kraftfuld og åbner mulighed for samarbejdsprojekter, hvor folk kan interagere fysisk via internettet.

Dr. Simon Monk har en grad i cybernetik og datalogi og en ph.d. i software engineering. Simon tilbragte adskillige år som akademiker, før han vendte tilbage til industrien, med grundlæggelsen af ​​det mobile softwarefirma Momote Ltd. Han har været en aktiv elektronikhobbyist siden hans tidlige teenagere. Simon er nu en fuld tid forfatter; hans bøger omfatter 30 Arduino Projekter for det onde Geni, 15 Farligt gale projekter for det onde geni, og Arduino + Android-projekter til det onde geni.

Bemærk: Dette projekt uddrages med tilladelse fra Dr. Simon Monks nye bog, Kom i gang med Photon. Det $ 19 mikrocontroller fra Particle, Photon, er open source, WiFi-aktiveret, og efterfølgeren til den originale Spark Core.



Du Kan Være Interesseret

Red Bull TurBull Encabulator

Red Bull TurBull Encabulator


Flashback: Lav en Shibori-farvet bedspread

Flashback: Lav en Shibori-farvet bedspread


5, 4, 3, 2, 1 Ting om William Gurstelle

5, 4, 3, 2, 1 Ting om William Gurstelle


Light Wave: Spille med lys

Light Wave: Spille med lys






Seneste Indlæg