Sommario:

LaserKitty!!: 7 passaggi (con immagini)
LaserKitty!!: 7 passaggi (con immagini)

Video: LaserKitty!!: 7 passaggi (con immagini)

Video: LaserKitty!!: 7 passaggi (con immagini)
Video: E7 - Photo Engraving Calculator 2024, Novembre
Anonim
Image
Image
Prendi la tua roba
Prendi la tua roba

È una verità universalmente riconosciuta che un solo gatto in possesso di buona fortuna debba essere in cerca di un giocattolo laser. Come per i gentiluomini single in cerca di future mogli, bisogna osservare alcune precauzioni. Ma non è vero per qualcosa che valga davvero la pena avere?

Se hai dubbi sugli animali domestici e sulla sicurezza del laser, salta alla fine di questo Instructable prima di commentare. Se hai dubbi su una futura moglie, o anche su una attuale, probabilmente devi cercare altrove.

Ora puoi fare un salto al tuo negozio di animali locale e acquistare un puntatore laser e forse anche qualche aggeggio che aggiunge un'automazione rudimentale. Risparmieresti dei soldi e potresti restituirlo se non funzionasse. Oppure potresti costruire qualcosa da solo. Ci sono già molti esempi là fuori, ma ecco il mio contributo al canone. È dotato di:

  • Controllo completo dello smartphone
  • Modalità manuale, automatica e programmata
  • Interfaccia dell'applicazione personalizzata
  • Stato del sistema sincronizzato tra più client Web
  • Stato del sistema rispecchiato su LaserKitty!! si
  • Limitazioni configurabili dell'intervallo di panoramica e inclinazione
  • Lunghezze e frequenze delle sessioni di riproduzione configurabili
  • Finestre di gioco configurabili
  • Pagina di configurazione con le impostazioni correnti a colpo d'occhio
  • Sincronizzazione dell'ora NTP
  • Gestore WiFi per una facile configurazione su nuove reti
  • Generatore di suoni per riprodurre il tema Mission Impossible prima di ogni sessione di gioco: il tuo gatto potrebbe apprezzare o meno l'ironia.
  • Notifiche pushbullet a tutti i tuoi dispositivi quando inizia una nuova sessione di gioco
  • Posizione iniziale configurabile in modo che il tempo di gioco termini alla ciotola del cibo o al giocattolo fisso
  • Tutte le impostazioni sono memorizzate in EEPROM in modo da non perdersi in caso di interruzione di corrente
  • E altro ancora! Beh, non proprio, questo è tutto.

Passaggio 1: prendi le tue cose

Questo è quello che ho usato:

  • Un mini gruppo pan e tilt. Questo non è certamente il più economico che puoi trovare e ha bisogno di qualche modifica per i nostri scopi. L'ho scelto perché sembra un po' più fresco degli assemblaggi di plastica del seminterrato d'occasione. Come bonus inaspettato, il suo design consente un modo molto semplice per montare il laser. Viene fornito con un paio di micro servi, ma ti consiglio vivamente di acquistarne un sacco di extra per scopi di sostituzione. Avrai bisogno di almeno un servo in più (uno rotto va bene).
  • Un recinto. Mi addolora pagare $ 8 per una scatola di plastica e potresti sicuramente trovare qualcosa di adatto a meno. Qualcosa sulla dimensione dell'enclosure collegato è giusto però.
  • Una scheda di sviluppo basata su ESP8266. Ho usato NodeMCU. Non è un'esagerazione dire che amo queste cose. Facile da usare all'interno dell'IDE Arduino e molta memoria flash per le tue pagine web. Anche economico e, nella mia esperienza, molto difficile da friggere.
  • Un mini laser. Dieci per $ 6 incluso Amazon Prime. Ma stai scherzando?? Ora devo solo capire cosa fare con gli altri nove.
  • Un buzzer passivo per i toni.
  • Un relè a due canali. Li uso per accendere e spegnere i servi e il laser. Potresti essere in grado di eliminare questo componente come spiegherò più avanti.
  • Alimentazione 5VDC. Si spera che tu abbia uno di questi in giro da un aggeggio dimenticato da tempo, ma se non qualcosa di economico e allegro che può produrre circa 1A di 5VDC è ciò di cui hai bisogno.
  • Materiali di consumo vari come resistori, LED, cavi di collegamento, termorestringenti, saldature, colla a caldo. Il solito. Ho anche usato un jack a botte per l'alimentazione 5VDC in ingresso dalla mia collezione imbarazzante di schede knock-off Arduino distrutte.
  • Ultimo, ma non meno importante, un adesivo in vinile per quel tocco finale stravagante.

Quindi sì. Stai guardando a circa $ 50 tutto in su. Potresti farlo per meno ma il tuo gattino non merita il meglio?

Passaggio 2: strumenti e risorse

Strumenti e risorse
Strumenti e risorse

Niente di speciale dal lato degli strumenti qui. Solo un saldatore decente, un multimetro, un trapano e strumenti manuali di base. Un alimentatore da banco è bello per sperimentare con il laser ma non è essenziale.

Questo progetto sfrutta davvero le capacità dell'ESP8266 e in particolare del NodeMCU. Se hai appena iniziato con ESP8266, non ho trovato una risorsa completa migliore di questa cosa. Oltre a questo, si tratta di cercare su Google le risposte ai problemi che sono emersi lungo il percorso.

Passaggio 3: preparare l'allegato

Preparare l'allegato
Preparare l'allegato
Preparare l'allegato
Preparare l'allegato

Come forse ho già detto, pagare $ 8 per un involucro di plastica sembra scandaloso. Ciò che è ancora peggio, però, è rovinare la cosa facendo un buco nel posto sbagliato. Quindi, prima di avere a portata di mano il trapano e/o qualsiasi altro creatore di caos a tua disposizione, considera gli errori che ho commesso.

  • Prima di tutto, devi pensare a dove si adatteranno tutte le cose. La buona notizia è che la custodia che suggerisco ha molto spazio, anche con il cablaggio molto disordinato che vedi qui. Potresti anche riuscire a cavartela con una scatola più piccola, soprattutto se elimini i relè.
  • La cosa più importante è dove monterai il gruppo padella e inclinazione nel coperchio. Il mio primo tentativo è mostrato qui. Ho pensato di posizionarlo artisticamente fuori centro e un po' indietro per stabilità. Cattiva idea! È necessario che il gruppo sia il più vicino possibile al lato del coperchio in modo che l'involucro stesso non interferisca con il raggio ad alti angoli di inclinazione. Inoltre, penso che la disposizione ideale sarebbe quella di montare il laser pan perpendicolare al lato corto anziché, come ho fatto io, al lato lungo. L'ho fatto nell'altro modo per motivi puramente estetici, anche se c'è un po' più di potenziale di interferenza.
  • Come puoi vedere, il NodeMCU è montato su Perfboard e avrebbe potuto essere facilmente posizionato in modo che il suo connettore micro USB fosse accessibile da uno slot laterale o posteriore. Ciò semplificherebbe gli aggiornamenti del software (non è necessario rimuovere il coperchio). La mia idea originale era di utilizzare la libreria Over-The-Air (OTA) per gli aggiornamenti e vedrai che il mio codice include quella funzionalità, anche se è commentata. Il problema era che il generatore di suoni e l'OTA non suonavano bene insieme (il NodeMCU si ripristinava ripetutamente a metà della canzone). Questo problema è probabilmente risolvibile, ma non sono mai riuscito ad aggiornare SPIFFS se non tramite USB, quindi avere accesso al connettore USB sarebbe stato bello. Quando ho capito tutto questo, avevo montato il NodeMCU sulla Perfboard in un modo che significava che non era possibile far uscire il connettore dalla scatola senza un sacco di problemi. Oh bene.
  • Se dovessi rifare il progetto allineerei il LED RGB con il LED rosso di "accensione". (Lo scopo del LED RGB è indicare in quale modalità si trova LaserKitty!! senza dover guardare l'app.)

L'unica parte leggermente complicata della realizzazione dei fori è quella rettangolare per il servo del pan. Ho usato un trapano e una lima. Come puoi vedere dal mio primo tentativo, è difficile renderlo esattamente quadrato (o rettangolare, immagino). Ma quando il servo è montato non puoi davvero vederlo.

Dovrai fare altri tre fori, questi dovrebbero essere posizionati nella parte posteriore della scatola e sono usati per il jack di alimentazione, il cicalino e il punto di ingresso per il servo di inclinazione e il cablaggio del laser. Tutti questi fori possono essere rotondi e non presentano difficoltà da realizzare con un semplice trapano.

L'uso abbondante di colla a caldo assicura tutto al suo posto (ad eccezione del servo del pan, che è imbullonato al coperchio usando le linguette di montaggio del servo).

Passaggio 4: il gruppo di panoramica e inclinazione

Il gruppo Pan e Tilt
Il gruppo Pan e Tilt
Il gruppo Pan e Tilt
Il gruppo Pan e Tilt
Il gruppo Pan e Tilt
Il gruppo Pan e Tilt
Il gruppo Pan e Tilt
Il gruppo Pan e Tilt

Quando ho ricevuto il gruppo panoramica e inclinazione ho pensato di aver fatto un altro grosso errore. Messo insieme come indicato, in realtà non è affatto un meccanismo di panoramica e inclinazione, ma piuttosto un design di inclinazione e torsione, appropriato per l'uso previsto come braccio robotico. Tuttavia, un momento di calma riflessione mi ha permesso di vedere che effettivamente poteva essere assemblato in modo diverso per ottenere il risultato desiderato. Ancora meglio, la posizione originale del servo "twist" potrebbe essere utilizzata come supporto per il laser.

Se esaminate l'assemblaggio completato in queste immagini avrete l'idea. Rimarrai con un piccolo blocco di metallo che non è necessario in questo design.

Il lampo di ispirazione che ho avuto è stato quello di utilizzare la posizione originale del secondo servo per montare il laser. Ancora meglio, se si decapita un servo duff e si perfora il supporto del braccio scanalato, è la posizione di montaggio perfetta per il laser! Basta non sottovalutare lo sforzo necessario per segare il servo. C'è un po' di carne per quei piccoli batteristi!

Dopo il montaggio e l'installazione nella custodia, E PRIMA DI APPLICARE L'ALIMENTAZIONE, assicurati che si sposti di circa 180 gradi lungo la superficie della custodia. In un modo o nell'altro, dopo averlo installato una volta con successo, ho rimontato il supporto per il montaggio in modo che le teste dei bulloni sulla base si legano contro la parte rialzata del servo in cui è previsto il montaggio del braccio. Il risultato è stato che il servo ha immediatamente smontato i suoi ingranaggi. Il lato positivo è che ora ho un altro servo duff da usare come supporto laser.

Passaggio 5: collegarlo

Collegalo
Collegalo

Speriamo che lo schizzo di Fritzing renda le cose chiare. Alcuni punti da chiarire ulteriormente:

  • Come discusso in seguito, volevo rendere il laser il più fioco possibile mantenendo una luminosità sufficiente per renderlo utilizzabile con tutte le luci interne tranne quelle più brillanti. Con un po' di sperimentazione ho deciso di alimentarlo da un pin da 3,3 V CC sull'MCU Node, aggiungendo per buona misura un resistore da 22 Ohm in serie. Con questa configurazione assorbe circa 10 mA quindi in teoria potrebbe essere alimentato direttamente da un pin GPIO ma l'ho trovato troppo debole, anche senza la resistenza.
  • Il laser ha una capacità molto limitata di cambiare la messa a fuoco (collimazione?) che ho usato per ingrandire il punto e quindi disperdere l'energia del laser
  • Il mio primo pensiero è stato quello di accendere e spegnere i servi con un transistor, ma questo ha fatto impazzire i servi. Sono sicuro che ci sia una buona ragione per questo, ma poiché avevo già alcuni relè a portata di mano, ho preso la via più semplice e ho isolato completamente l'alimentazione ai servi. E poiché i relè avevano due canali, ho pensato che avrei potuto anche commutare il laser in quel modo (i fili viola sono il segnale di controllo dall'MCU). Mi piace anche il rumore di clic meccanico che questa soluzione produce. Puoi decidere diversamente però. Non mostrato, ma i relè sono alimentati direttamente dall'alimentazione a 5 V CC: il NodeMCU potrebbe essere stato in grado di alimentare direttamente un relè a due canali, ma non c'era motivo di rischiare. Se hai già utilizzato questi relè, saprai che è necessario rimuovere il ponticello tra JD-VCC e VCC.
  • Il LED RGB ha resistori di limitazione della corrente da 220 Ohm su rosso e verde e 100 Ohm sul blu. Il LED rosso "accensione" ha una resistenza da 450 Ohm poiché è alimentato da 5 V CC anziché 3,3 V CC. Questi sono solo valori approssimativi per ottenere molta luminosità e una ragionevole longevità.
  • Il cicalino è piuttosto rumoroso. Potresti voler aggiungere un resistore alla linea del segnale per attenuare il volume. I toni possono essere disattivati completamente tramite il software, ma qualcosa in mezzo potrebbe essere carino.

Passaggio 6: il codice

Il codice
Il codice
Il codice
Il codice
Il codice
Il codice
Il codice
Il codice

Nonostante la spiegazione piuttosto prolissa del lato hardware, il 90% dello sforzo qui è andato nel codice. Sarebbe stato di più ma da qui ho "preso in prestito" qualche ottimo codice per il movimento del laser in modalità automatica. Non ha senso reinventare la ruota. In effetti, potresti decidere di seguire quel progetto piuttosto che questo, o mescolare e abbinare aspetti di entrambi. Certo, mi piace l'idea di realizzare alcuni componenti con una stampante 3D, ma non ne ho una.

Il mio codice (trovato su GitHub qui) è diviso in tre parti principali. C'è lo stesso schizzo di Arduino, file HTML con un mucchio di Javascript per il contenuto dell'applicazione e file CSS associati per lo stile. Ho usato questo progetto per imparare un po' di più su tutti questi elementi di programmazione, partendo da una base molto bassa, specialmente dal lato dell'interfaccia dell'applicazione. Ho provato a riordinare un po' il codice, ma il mio obiettivo principale era solo far funzionare la cosa. Il codice utilizza Websocket per la comunicazione bidirezionale tra il server NodeMCU e i client connessi.

Il codice Arduino è ampiamente commentato, quindi spero che lo troverai facile da seguire. Una volta scaricato da GitHub, inserisci l'intero lotto in una cartella, carica lo schizzo sul tuo MCU, quindi carica il contenuto della sottocartella "dati" in SPIFFS.

In realtà, grattalo. Se desideri utilizzare la funzione di notifica Pushbullet, avrai prima bisogno di un token di accesso API disponibile da qui. Va nella riga 88 del codice Arduino. Pushbullet funziona bene, ma se stai configurando un account sul tuo telefono per la prima volta potresti scoprire che devi accedere, uscire, quindi accedere di nuovo prima che inizino a comparire le notifiche come configurato nelle impostazioni del telefono.

Ci sono tre pagine web: una schermata iniziale, l'effettiva interfaccia dell'applicazione e una pagina di configurazione. Separare il contenuto in questo modo rende l'utilizzo dell'interfaccia molto più simile a un'app, soprattutto a causa delle ampie opzioni di configurazione (lo screenshot cattura solo una parte di queste opzioni).

Una stranezza di far funzionare NodeMCU su più pagine era che dovevo mettere direttamente tutti i file di immagine nella cartella dei dati - semplicemente non riuscivo a farlo funzionare se fossero stati inseriti in sottocartelle. Ho incluso tutte le immagini che ho usato nel repository GitHub in modo che funzioni immediatamente, ma senza dubbio vorrai sostituirle con le tue immagini.

Passaggio 7: ritocchi finali e sicurezza laser

Tocchi finali e sicurezza laser
Tocchi finali e sicurezza laser
Tocchi finali e sicurezza laser
Tocchi finali e sicurezza laser
Tocchi finali e sicurezza laser
Tocchi finali e sicurezza laser

Nonostante il suo incredibile costo di $ 8, il recinto è, beh, piuttosto utilitaristico. Dopo aver rovistato un po' su Etsy ho trovato la grafica in vinile che vedete sul prodotto finito (e che è rispecchiata nella pagina dell'applicazione). Spedito dal Regno Unito era un po' caro, ma ne valeva la pena -- e ne ottieni due nel caso tu voglia replicare il progetto. Come ultima fioritura artistica, ho ruotato le piccole "fossette" negli occhi del gatto in modo che guardassero il LED di alimentazione rosso brillante, che rappresenta il punto laser. A seconda del tuo appetito per la fantasia, puoi o meno scegliere di fare questo miglio in più.

Il file HTML della schermata iniziale include il codice per aggiungere un'icona alla schermata iniziale del tuo iPhone.

Infine, non dovrei ignorare le preoccupazioni espresse sull'uso di un laser per giocare con i gatti. Ci sono due obiezioni principali:

  • Il laser potrebbe accecare o danneggiare gli occhi del gatto
  • Giocare con un punto laser è in definitiva insoddisfacente per i gatti perché non possono mai catturarlo o "ucciderlo"

C'è molta confusione negli interwave su entrambi gli argomenti, alcuni apparentemente informati, altri meno. Alla fine, devi prendere le tue decisioni sul fatto che questo progetto, o qualsiasi altro giocattolo laser, sia giusto per il tuo gatto. Quello che ho fatto è stato cercare di risolvere il primo problema rendendo il laser il più fioco possibile senza rendere troppo difficile la visione a livelli di luce ragionevoli. Inoltre, assicurati che qualsiasi gatto che utilizza il dispositivo non abbia la propensione a fissare il laser stesso piuttosto che il punto, specialmente se intendi usare il LaserKitty!! in modalità automatica o programmata. Uno degli scopi della funzione di notifica Pushbullet è che venga utilizzata insieme a una telecamera di monitoraggio in modo da ricordarti di guardare il tuo gattino giocare mentre sei via.

Per quanto riguarda la seconda obiezione, ho incluso la possibilità di salvare una "posizione iniziale" alla quale il laser tornerà dopo le sessioni di gioco programmate. Se lo imposti in modo che punti a un giocattolo fisso o alla ciotola del cibo del tuo gattino, si spera che fornisca una soluzione. Anche se, con i gatti, chi lo sa davvero?

Consigliato: