Il dispositivo più inutile

Sicuramente hai visto come appare il "dispositivo più inutile", altrimenti dovresti guardare un video del suo funzionamento. È indimenticabile!

Una piccola cosa divertente :) E, soprattutto, può attirare l'attenzione degli ospiti per molto tempo.
Di solito, sono queste piccole cose interessanti che vuoi realizzare con le tue mani.
Devo dire che realizzare un dispositivo del genere non è difficile. Puoi cavartela con quello che hai a portata di mano.

Ecco il principio schema elettrico il dispositivo più inutile:

È possibile utilizzare un servo convenzionale per azionare lo spintore dell'interruttore. Inoltre, andrà bene un servo "ucciso". In ogni caso, tutta l'elettronica viene rimossa dal servo originale e vengono utilizzati solo il motore e il riduttore incorporato.

Inoltre, avrai bisogno di un interruttore On-On a sei pin e di un microinterruttore. A proposito, questi ultimi vengono solitamente utilizzati per la sequenza di tasti nei mouse dei computer.

La cosa più difficile nel realizzare una macchina del genere è realizzare il corpo. Un dispositivo di funzionamento schematico può essere realizzato in materiale termoplastico. Successivamente, è facile completare la custodia in legno o plastica.

Guarda le istruzioni video per realizzare la cosa più inutile. Queste istruzioni mostrano come farlo e cosa allegare dove.

Il dispositivo prodotto non è bello come nel primo video, ma funziona ed è altrettanto inutile dell'originale :)

Paolo commenta:

Oh bello! Vado a comprare tutto ciò di cui ho bisogno)

Andrzej commenta:

Un divertente prodotto fatto in casa. Non c'è vergogna nel regalare qualcosa del genere, e puoi ricavarne molto divertimento, solo chissà quanto!

Arduino + due servi + scheda di ricarica + scheda convertitore boost + vecchia batteria + un mucchio di componenti radio + pezzo di compensato + interruttore a levetta = il sogno di un idiota diventa realtà!
Tanto testo per chi ama leggere. Tanti spoiler per chi ama leggere in diagonale. Video, per chi ama i video. Sketch per chi ama copiare subito e correre “in ginocchio”. Foto, foto, foto. Gatto, per gli amanti dei gatti.

Non proprio un disclaimer

Questo è il mio primo progetto, a parte il LED lampeggiante, Hello world, ecc. Secondo la tradizione, devi prima cospargerti la testa di cenere per assicurarti che il codice sia tutt'altro che perfetto ed essere sicuro di essere coinvolto in una disputa al riguardo. E anche per quanto riguarda la copia parziale del codice da un altro progetto, chiedere di non colpire troppo, ecc. Ma questo non accadrà. Il codice è perfetto! Perché funziona, mi piace e l'ho fatto per me.
Darò un consiglio a chi è interessato: non abbiate paura, unitevi alla lotta, spalate montagne di codice, costruite le vostre mega-piramidi da diversi operatori. Col tempo arriveranno lo stile, la raffinatezza e l'ideale.
Finché c'è spazio nella memoria del controller, non hai paura di nulla. Se colpisci un muro, ottimizzerai. E anche questo è sviluppo. È importante.
Un grosso libro sulla programmazione in C: sì, utile. Ma, all'inizio, è molto più utile avere a portata di mano un breve riferimento ai comandi e tenere nei segnalibri diversi collegamenti per lavorare con semplici esempi, librerie, ecc., come , o lo stesso Amperka.
Inoltre, i diagrammi di flusso mi aiutano molto. Rettangolo, diamante, ovale. Chiunque l'abbia incontrato lo capisce. Sto realizzando un progetto adesso: non posso farlo senza un diagramma di flusso. Per me è meglio disegnare per diversi giorni, ridisegnare su carta per immaginare più chiaramente l'intero flusso del programma, piuttosto che annotare un mucchio di codice e rimanerci bloccato, perché... Non ho la capacità di coprire l'intero codice con la potenza dei miei pensieri di programmazione, a causa della mia esperienza limitata.
Per coloro che vogliono ripeterlo o farlo a modo loro, risponderò a tutte le domande.
Non entrerò in dispute vuote sulla mia scrittura, stile, design, codice e necessità del prodotto, ecc. Se ho commesso un errore grave da qualche parte nella recensione, lo correggerò o lo aggiungerò.

Puoi cercare su Google cos'è "Il dispositivo più inutile". L'ho trovato per caso. Questo codice è stato preso come base, perché non si è avviato da solo e volevo creare i miei script.

Digressione lirica

Dicono che dopo i quaranta, soprattutto quando sei già molto oltre i quaranta, devi provare a “flettere” il cervello. E che imparare le lingue è il miglior riscaldamento. E non solo a quell'età. Non sono molto bravo con le lingue, ma la rivista Health sembra consigliarmi... In generale, ho deciso di imparare qualcosa di nuovo per me stesso. L'elettronica non è una novità per me, anche se ne ho dimenticato la maggior parte, ma la programmazione non mi è mai stata familiare. Avevo paura di lui. Ma qui coincidono molti segnali dall'alto: la rivista "Salute", che consiglia di imparare qualcosa di nuovo, un sogno di lunga data per capire (almeno un po') la programmazione (almeno qualcosa) e YouTube, in cui solo i pigri non parlano su come far lampeggiare un LED utilizzando la tariffa intelligente per un dollaro e un centesimo.
Prima riuscivo abbastanza bene a far lampeggiare il LED utilizzando due transistor, un condensatore e una coppia di resistori, ma ora, dicono, non è comme il faut. Quindi devi essere alla moda.


Mi è piaciuto molto questo dispositivo inutile, nel senso letterale della parola. L'ho visto e me ne sono innamorato. Lo voglio, tutto qui! Come il sogno di un bambino! Ma l’età ha apportato i suoi aggiustamenti. Voglio realizzarlo da solo, non comprarlo. Inoltre, sono in vendita dispositivi semplici. Ne ho trovato uno “intellettuale”, ma non sono riuscito a trovare nulla di simile in vendita. Inoltre, deve essere fatto!
E ancora, Arduino. E non faccio boom-boom. Quindi dobbiamo capirlo. Aliexpress in soccorso. Ho iniziato con Arduino. Capivo che il percorso per studiare sarebbe stato spinoso e che i sacrifici sarebbero stati inevitabili. Quindi ne ho ordinati cinque diversi. Lasciali bruciare, semmai. Il debug del circuito è avvenuto su Uno da un altro venditore. Ma poiché questa particolare scheda era nel dispositivo finale, è stata inclusa nel titolo.
Oltre agli Arduino, ho ordinato un'enorme quantità di ogni tipo di spazzatura, sia compatibile con Arduino che quasi Arduino. Qui ti parlerò solo di ciò che è stato utile in questo prodotto.

Arduino Pro Mini


La consegna è veloce, confezionata in un sacchetto antistatico standard e in una busta con superficie interna puntinata. Il venditore è socievole, di lingua russa.
Su un chip 328. 3,3 volt, 8 MHz. Perché è così? Sì, per errore. Volevo 5 volt, 16 MHz, ma ho comprato questo. È colpa mia. Tuttavia, per questo progetto non è fondamentale: ho installato un convertitore di tensione aggiuntivo. È tutto. Non ho trovato grandi differenze rispetto alle altre Mini. La differenza di marca è la textolite nera(?) Degli stipiti: il perno RAW non funziona sulla tavola. Ma neanche questo si è fermato. Tuttavia si potrebbe risparmiare con un convertitore da 3,3 V. I pettini non sono saldati. La tavola è fatta bene.
Perché così breve? Perché esiste già un pregiudizio su questo venditore e sulle sue commissioni (clausola 18). Chi vuole lo trova facilmente. Non ha senso raccontarlo di nuovo. Ho anche aggiunto i miei due centesimi nei commenti. E ho corrisposto molto con il venditore.


Servoazionamento SG90


$ 3,2 per lotto di due pezzi.
Non c'è niente di speciale da descrivere. Servoazionamento debole con precisione di posizionamento media, che dipende fortemente dalla velocità di movimento. Ma è economico. Per l'azionamento del coperchio - più che sufficiente, per la "mano" - al limite delle possibilità. Richiede 5 volt per funzionare, ma 3,3 sono sufficienti per il controllo. Ho provato a controllarlo tramite il convertitore e direttamente da Arduino: non c'è differenza. Pertanto, il convertitore di livello ha consentito di risparmiare denaro.


Regolatore di carica e convertitore di potenza


$ 2,28 per cinque pezzi. Con protezione. Durante la ricarica il LED rosso è acceso; a ricarica completata il LED blu è acceso. C'era una recensione qui.


$ 0,50 ciascuno. La consegna però è a pagamento, ma ho comprato un sacco di altre cose da questo negozio, quindi la consegna non è stata fastidiosa. La presa USB è stata rimossa per alleggerire il peso))) L'uscita produce 5,12 volt.





L'ho preso offline. Un po' stretto. Per facilitare il funzionamento del servo era possibile smontarlo, accorciare la molla o sostituirla con una più debole. Ma la pigrizia ha vinto. La metto così. È vero, ho dovuto scrivere nel codice gli additivi per l'angolo di rotazione del servo alle alte velocità.


Convertitore TTL


$ 1,5 al pezzo. In realtà, l'ho ordinato prima. È la metà del prezzo. Ma, per qualche strano motivo, morì di una morte eroica. Ancora non capisco come l'ho ucciso. Per questo motivo, il progetto è rimasto in stallo per un mese finché non ne è arrivato uno nuovo e più avanzato: non è stato necessario premere reset. Non è questo un progresso?


Il resto proviene dallo stoccaggio

Regolatore di tensione 1117T-3,3 V in custodia TO220, condensatori 1500,0x6,3 e 470,0x16, due condensatori da 0,1 μF, LED bianco e microinterruttore di un'auto per bambini, resistenza da 220 Ohm. La batteria era rimasta inutilizzata per diversi anni. Una volta ho smontato un lettore DVD portatile bruciato (letteralmente). L'unica cosa buona erano le batterie che sopravvivevano. Eccone uno che mi è tornato utile. Voltaggio 3,7 V, non ho trovato la capacità sull'etichetta.
Pistola per colla, elastico per soldi, due ganci di... un reggiseno (grazie a mia moglie. Tesoro, ti amo!), due tasselli per mobili, quattro viti, quattro paraurti adesivi per ante di mobili, un pezzo di breadboard, fili, connettori.


La situazione con lo scafo era più complicata. Sono state provate molte scatole. La scatola di plastica dell'orologio Tissot si è rivelata fragile, in parte di cartone. Ma le tende di metallo si alzarono. Ne è rimasto anche uno in magazzino. Ho provato astucci per profumi già pronti, una scatola per il vino e una scatola per caramelle. Alla fine, ho deciso di farlo da solo.
Nel set in fiamme di un bambino è stato trovato del compensato di alta qualità, molto probabilmente betulla. Il bambino è cresciuto: il set rimane. Da un lato c'era un disegno, ma dall'altro lato si vedeva per dirla senza mezzi termini, eccellente

In poche parole, fantastico

A scuola avevamo un Trudovik. Invecchiato. In generale, è una persona meravigliosa. Era rispettato. Quando abbiamo analizzato l'elettricità, usando l'esempio di una batteria, una lampadina e una chiave, ci ha tenuto una conferenza.
“C'è corrente nella batteria. Adesso esce dal positivo e segue i fili. Va, va, all'improvviso bam: la chiave è in arrivo. E la chiave è aperta. Tok capisce che non c'è nessun posto dove andare oltre. Si voltò ed entrò nella batteria. E la luce non si accende. Chiudiamo la chiave. La corrente riprese a circolare, raggiunse la chiave, la attraversò, passò attraverso la lampadina e tornò alla batteria. E la lampadina è accesa, francamente, perfettamente.” Da allora, nel lessico è apparsa una frase del genere come sinonimo di qualcosa di inaspettatamente riuscito.




Ho provato a tagliare il compensato con un seghetto e un seghetto alternativo, ma non ha funzionato. Scheggiature difficili da rimuovere e bordo irregolare. Ho trovato una via d'uscita: un coltello da cancelleria affilato. Taglia metà del compensato da un lato e metà dall'altro. Poi un po' di levigatura e tutto va bene. Ma con un buon righello di metallo e una lama costantemente affilata, otterrai un taglio perfetto e una linea retta.
Naturalmente, non senza difetti: sotto l'adesivo fatto a mano si nasconde un banale foro. L'ho forato al centro per l'interruttore a levetta. Ma il servo non si adattava. Ho dovuto spostare l'interruttore a levetta di lato e chiudere il foro. Tali difficoltà non mi spaventano.
Non vedo il motivo di descrivere ogni starnuto coinvolto nella realizzazione del dispositivo. Descriverò alcuni punti. E chi ha le mani, lo faccia.
Ho assemblato la scatola utilizzando la colla a caldo. Non ho risparmiato la colla stessa. Regge perfettamente. Non scricchiola, non gioca. Veloce, economico e allegro. E in generale, come hai notato, quasi tutto è tenuto insieme da questa colla. Raccomando. Accelera notevolmente il processo di assemblaggio. Ho incollato il microfono con interruttore dall'interno sulla parete sinistra: nella foto si vede leggermente.
Il coperchio era attaccato alla tenda.

Ho sofferto con il velo. Ho sperimentato molto. Volevo che il coperchio fosse posizionato sopra la scatola e non all'interno. Ho anche piegato diverse versioni di tende con graffette. Poe in seguito ricordò che durante gli esperimenti, le tende della scatola degli orologi Tissot attirarono la sua attenzione. Così buono, svizzero (cinese?).
Il velo è una cosa importante. La sua qualità è molto importante per la bellezza esterna complessiva del dispositivo.
L'interruttore principale deve essere più morbido, quindi funzionerà più facilmente.
Il coperchio viene riportato in posizione chiusa tramite un elastico. Non è necessario sceglierlo molto rigido: il servo lo gestirà, ma se la tenda è posizionata centralmente, il coperchio si deformerà.
Nel caso del compensato, la verniciatura è obbligatoria: si sporca molto. Ho usato la vernice trasparente allo tsapon. Semplicemente perché non c'era nessun altro a portata di mano.
È meglio posizionare diversamente il servo che controlla la “mano”. Non di lato, ma davanti all'interruttore a levetta. Quindi il "braccio" potrebbe essere più semplice da produrre: a forma di L, anziché a forma di U. La larghezza della scatola può essere ridotta e l'interruttore a levetta può essere posizionato al centro.
È meglio ruotare il servo del coperchio di 180 gradi, poi nel codice sarà più semplice associare i gradi di questo servo al funzionamento del coperchio. Per me è il contrario, quindi aprire significa diminuire i gradi. Ma per la “mano” è il contrario. Ed è più corretto spingere il coperchio dallo stesso lato da cui l'elastico lo tira indietro.
La scatola non dovrebbe essere troppo piccola. Non sarà comodo da usare. Ma uno più piatto è accettabile. La scatola è leggera e se è più piatta sarà più stabile. Sarà più comodo premere l'interruttore a levetta con il dito senza tenere la scatola.
Ho creato qualcosa come uno scudo con due pezzi di una breadboard. Saldato in Arduino senza connettori. Strettamente. Non mi dispiace.


Ma ho realizzato tutte le periferiche sui connettori. È più comodo.
È necessario un grande condensatore per alimentare Arduino (3,3 volt). Senza di esso, l'Arduino si blocca.
Non ho disegni di assieme del dispositivo. È così semplice che se ne possono usare molti altri soluzioni semplici, su cui si basa tutta la meccanica. Nel video, sia del mio che di altri dispositivi simili, potete vedere le opzioni di guida utilizzate.

#includere #includere ServoportaServo; //copertura servoazionamento Servo handServo; //servo del braccio Rimbalzo rimbalzo = Rimbalzo(12, 40); //crea un'istanza della classe Bounce per il pin 12 dell'interruttore a levetta int pos = 0; //variabile della posizione iniziale int pos1door = 70; //posizione iniziale del servo del coperchio int pos2door = 30; //posizione finale del servo del coperchio int pos1hand = 10; //posizione iniziale del servo manuale int pos2hand = 160; //posizione finale del servo del braccio int r; //numero casuale da cui dipende la possibilità di disattivare l'interruttore a levetta #define LED_PIN 11 // numero dell'uscita collegata al LED int ledState = LOW; // imposta lo stato del LED con questa variabile long previousMillis = 0; // memorizza l'ora dell'ultima accensione del LED #define INTERVAL 30UL // intervallo tra l'accensione e lo spegnimento del LED void setup() ( pinMode(LED_PIN, OUTPUT); pinMode(12, INPUT); // commuta il pin 12 alla modalità di input digitalWrite(12, 1); //attiva la resistenza pull-up su di esso Serial.begin(9600); //imposta la porta su una velocità di 9600 bps. Per il debug. Quindi puoi rimuoverlo. doorServo .attach(9); //assegna il servo del coperchio al pin 9 handServo.attach(10); //assegna il servo della mano al pin 10 doorServo.write(pos1door); //imposta il servo del coperchio nella posizione iniziale handServo. write(pos1hand); //imposta il servo manuale nella posizione iniziale) void loop() ( if (bouncer.update()) ( if (bouncer.read()==0) ( //se il pulsante è premuto ( r = random(0,11); //genera un numero casuale jn da 0 a 10 Serial.println® ; if (r == 0) ( move_0(); ) //chiamata di funzione da numero casuale else if (r == 1) ( move_1(); ) else if (r == 2) ( move_2(); ) else if (r == 3) ( move_3(); ) else if (r == 4) ( move_4(); ) else if (r == 5) ( move_5(); ) else if (r == 6) ( move_0(); ) else if (r == 7) ( move_1(); ) else if (r == 8) ( move_4(); ) else if (r == 9) ( move_3(); ) else if (r == 10) ( move_0(); ) ) ) ) // Libreria di funzioni. Principio generale: apri il coperchio - allunga la mano e spegni l'interruttore a levetta - rimuovi la mano - chiudi il coperchio // e ci sono opzioni su come decorarlo magnificamente................ void move_0())( //opzione semplice: apri-spegni-chiudi //apri il coperchio for(pos = pos1porta; pos >= pos2porta; pos -=3) ( doorServo.write(pos); ritardo(15) ; ) //allunga la mano per(pos = pos1hand ;pos<= pos2hand; pos +=3) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos >= pos1mano; pos -=3) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=3) { doorServo.write(pos); delay(15); } } void move_1(){ //простой вариант 2: открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2porta; pos -=1) ( doorServo.write(pos); ritardo(15); ) ritardo(1000); //allunga la mano per(pos = pos1hand; pos<= pos2hand; pos +=1) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand; pos > <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_2(){ //задумчивый вариант 2: приоткрыли-закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2porta+15; pos -=5) ( doorServo.write(pos); ritardo(15); ) ritardo(1000); //chiude il coperchio for(pos = pos2door+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } delay(1000); //открываем крышку for(pos = pos1door; pos > <= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1mano; pos -=5) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_3(){ //дерганый вариант: приоткрыли-подергали - закрыли-открыли-выключили-закрыли //открываем крышку for(pos = pos1door; pos >= pos2porta+15; pos -=1) ( doorServo.write(pos); ritardo(50); ) ritardo(500); //tira il coperchio for(int i=1; i<=8; i ++) { doorServo.write(pos2door+18); delay(80); doorServo.write(pos2door+15); delay(80); static unsigned long previousMillis = 0; if(millis() - previousMillis >INTERVAL) ( previousMillis = millis(); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ) ) ritardo(500); //chiude il coperchio for(pos = pos2door+15; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку for(pos = pos1door; pos >= pos2porta; pos -=5) ( doorServo.write(pos); ritardo(15); ) //tira fuori la mano for(pos = pos1hand; pos<= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+2; pos >= pos1mano; pos -=5) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_4(){ //открываем крышку delay(2000); for(pos = pos1door; pos >= pos2porta+15; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(2000); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(500); //chiude il coperchio for(pos = pos2door+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(50); } delay(1000); //открываем крышку не полностью for(pos = pos1door; pos >= pos2porta+15; pos -=1) ( doorServo.write(pos); ritardo(50); ) ritardo(2000); //apri completamente il coperchio for(pos = pos2door+15; pos >= pos2door; pos -=1) ( doorServo.write(pos); delay(15); ) //alza la mano for(pos = pos1hand; pos<= pos2hand-35; pos +=1) { handServo.write(pos); delay(35); } delay(1000); //высовываем руку for(pos = pos2hand-35; pos <= pos2hand+3; pos +=4) { handServo.write(pos); delay(15); } //убираем руку for(pos = pos2hand+3; pos >= pos1mano; pos -=7) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=7) { doorServo.write(pos); delay(15); } delay(500); //открываем крышку for(pos = pos1door; pos >= pos2porta+20; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(300); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(100); //chiude il coperchio for(pos = pos2door+20; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } } void move_5(){ //возня for(int i=1; i <=2; i ++) { for(pos = pos1door; pos <= pos1door+45; pos +=5) { doorServo.write(pos); delay(50); } for(pos = pos1door+45; pos >= pos1porta; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(100); ) //tira il coperchio for(int i=1; i<=3; i ++) { doorServo.write(pos1door-6); delay(80); doorServo.write(pos1door-3); delay(80); } delay(300); //открываем крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos1door; pos >= pos2porta+25; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(500); //apri la copertina digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+25; pos >= pos2door+10; pos -=5) ( doorServo.write(pos); delay(50); ) //apri la porta digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+10; pos >= pos2door-5; pos -=2) ( doorServo.write(pos); delay(50); ) //alza la mano for(pos = pos1hand; pos<= pos2hand-35; pos +=9) { handServo.write(pos); delay(35); } delay(1000); //убираем руку for(pos = pos2hand-35; pos >= pos2mano-70; pos -=1) ( handServo.write(pos); ritardo(15); ) ritardo(1000); //allunga la mano for(pos = pos2hand-70; pos<= pos2hand+3; pos +=9) { handServo.write(pos); delay(15); } delay(50); //убираем руку for(pos = pos2hand+3; pos >= pos1mano; pos -=7) ( handServo.write(pos); delay(15); ) //chiudi il coperchio digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2porta-5; pos<= pos1door+3; pos +=5) { doorServo.write(pos); delay(50); } }

Lo schizzo suggerito dall'autore dal collegamento all'inizio della recensione non ha funzionato per me. E non ero ancora il professionista che sono adesso)))))))
In generale, ho iniziato a capire. Di conseguenza, basandomi su quello di qualcun altro, ho realizzato il mio schizzo. Aggiunta protezione antirimbalzo. Sarebbe stato più semplice, ovviamente, installare una resistenza con un condensatore, ma volevo davvero programmarlo.


In linea di principio, lo schema è chiaro dallo schizzo. Ma la porterò comunque. Ci scusiamo per la qualità, come meglio potevo. Ho preso una scheda convertitore leggermente diversa: non l'ho trovata necessaria nella vista frontale.


Non ci sono spiegazioni speciali per lo schizzo. Forse il momento di aggiungere qualche grado di angolo di rotazione, quando la velocità del servo è elevata. Ho notato che se la "mano" salta fuori all'improvviso, l'interruttore a levetta non si spegne. Ciò è ovviamente dovuto alla scarsa qualità dei servi. Pertanto, è necessario aggiungere un po' all'angolo di partenza del "braccio". Sospetto che con la ripetizione questi gradi aggiuntivi potrebbero essere diversi per te. Dipende dalla spalla del “braccio”.
E riguardo ai programmi. Finora ci sono sei programmi. Chiamato tramite la generazione di numeri casuali. Inoltre, i programmi semplici (0, 1 e 2) vengono chiamati più spesso di quelli ordinari. A tutti i miei tester è sembrato che programmi più sofisticati dovessero essere un bonus raro e piacevole, quindi appare un certo intrigo. Così ho fatto.
Per gli amanti dei numeri, le dimensioni della scatola sono: lunghezza - 150 mm, altezza - 70 mm, larghezza - 65 mm.

Youtube ha notevolmente degradato la qualità. Se hai bisogno di guardare l'originale, scaricalo. 21MB.
Qui lo schizzo è stato modificato per permetterti di vedere a turno tutti e sei i programmi in modo da averne un'idea. Nella vita, come ho scritto, hanno un ordine pseudo-casuale.



La ricarica avviene tramite micro-USB con un normale caricabatterie mobile. La durata della batteria dipende fortemente dalla frequenza di utilizzo. A volte per diversi giorni, a volte “uccido” in un giorno.


Da ultimo.
Il progetto, tuttavia, può essere ulteriormente sviluppato e migliorato. Puoi inventare nuovi scenari. Puoi aggiungere un tweeter e dare voce al dispositivo. Ad esempio, lasciatelo “ringhiare”, come se si arrabbiasse, se il tempo tra lo spegnimento e l'accensione dell'interruttore a levetta è molto breve. Puoi, come nel progetto originale, aggiungere movimento alla scatola in diverse direzioni.
È possibile integrare un controllo nel caso in cui la "mano", per qualche motivo, non ha spento l'interruttore a levetta (ad esempio, al freddo, il servo non raggiunge un bel po' l'angolo desiderato) e regolare l'angolo uno alla volta, scrivendo una sorta di messaggio “nervoso” specifico per un caso del genere» programma di spegnimento. È possibile installare Nano e programmare tramite USB senza smontare il dispositivo ogni volta. Mi è piaciuta la recensione +123 +232

Arduino + due servi + scheda di ricarica + scheda convertitore boost + vecchia batteria + un mucchio di parti della radio + pezzo di compensato + interruttore a levetta = il sogno di un idiota diventa realtà!
Tanto testo, per chi ama leggere. Tanti spoiler per chi ama leggere “in diagonale”. Video, per chi ama i video. Sketch, per chi ama copiare subito e correre in ginocchio. Foto, foto, foto. Gatto, per gli amanti dei gatti.

Non proprio un disclaimer

Questo è il mio primo progetto, senza contare il LED lampeggiante, Hello world, ecc. Secondo la tradizione, bisogna prima cospargersi la testa di cenere, in considerazione del fatto che il codice è lungi dall'essere perfetto e su questo bisogna essere coinvolti in una disputa. E anche per quanto riguarda la copia parziale del codice da un altro progetto, chiedere di non colpire troppo, ecc. Ma questo non accadrà. Il codice è perfetto! Perché funziona, mi piace ed è stato creato per me.
Darò un consiglio a chi è interessato: non abbiate paura, scendete in battaglia, scavate tra montagne di codice, costruite le vostre mega-piramidi da diversi operatori. Con il tempo arriveranno lo stile, la raffinatezza e l'ideale.
Finché c'è spazio nella memoria del controller, non hai paura di nulla. Se colpisci un muro, ottimizzerai. E anche questo è sviluppo. È importante.
Un grosso libro sulla programmazione in C: sì, utile. Ma, all'inizio, è molto più utile avere a portata di mano una breve guida di riferimento sui comandi e tenere nei segnalibri diversi collegamenti per lavorare con semplici esempi, librerie, ecc., in natura arduino-diy.com, o lo stesso Ampere.
Inoltre, i diagrammi di flusso mi aiutano molto. Rettangolo, diamante, ovale. Coloro che l'hanno incontrato capiscono. Sto realizzando un progetto adesso: non posso farlo senza un diagramma di flusso. Per me è meglio disegnare e ridisegnare su carta per diversi giorni per immaginare più chiaramente l'intero progresso del programma, piuttosto che abbozzare un mucchio di codice e rimanerci bloccato, perché... Non ho la capacità di coprire l'intero codice con la potenza dei miei pensieri di programmazione, a causa della mia esperienza limitata.
Per coloro che vogliono ripeterlo o farlo a modo loro, risponderò a tutte le domande.
Non entrerò in dispute vuote sulle mie capacità di scrittura, stile, design, codice e necessità del prodotto, ecc. Se ho commesso un errore grave da qualche parte nella recensione, lo correggerò o lo aggiungerò.

Qual è il "dispositivo più inutile" puoi cercarlo tu stesso su Google. L'ho incontrato per caso. Questo codice è stato preso come base, perché... Non è iniziato da solo e volevo creare le mie sceneggiature.

Digressione lirica

Dicono che dopo i quaranta, soprattutto quando sei già molto oltre i quaranta, devi cercare di “riscaldare” il tuo cervello. E che imparare le lingue è il miglior riscaldamento. E non solo a quell'età. Non sono molto bravo con le lingue, ma la rivista "Salute" sembra consigliarmi... In generale, ho deciso di imparare qualcosa di nuovo per me stesso. L'elettronica non è una novità per me, anche se ne ho dimenticato la maggior parte, ma la programmazione non mi è mai stata familiare. Avevo paura di lui. Ma qui coincidono molti segnali dall'alto: la rivista "Salute", che consiglia di imparare qualcosa di nuovo, un sogno di lunga data per capire (almeno un po') la programmazione (almeno qualcosa) e YouTube, dove solo i pigri non lo dicono tu come far lampeggiare un LED usando il pagamento intelligente per un dollaro e kopecks.
Prima ho fatto un buon lavoro controllando il lampeggio del LED utilizzando due transistor, un condensatore e una coppia di resistenze, ma ora, dicono, non è comme il faut. Quindi devi essere alla moda.


Mi è piaciuto molto questo dispositivo inutile, nel vero senso della parola. L'ho visto e me ne sono innamorato. Lo voglio, tutto qui! Come un sogno d'infanzia! Ma l’età ha apportato i suoi aggiustamenti. Voglio realizzarlo da solo, non comprarlo. Inoltre, sono in vendita dispositivi semplici. Mi sono imbattuto in "intelligente", ma non sono riuscito a trovare nulla di simile in vendita. Inoltre, dobbiamo farlo!
E ancora, Arduino. E non faccio boom-boom. Quindi dobbiamo capirlo. Aliexpress per aiutare. Ho iniziato con Arduino. Capivo che il percorso per studiare sarebbe stato spinoso e che i sacrifici sarebbero stati inevitabili. Ecco perché ne ho ordinati cinque diversi. Lasciali bruciare, semmai. Il debug del circuito è avvenuto su Uno da un altro venditore. Ma poiché è stata questa scheda a finire nel dispositivo finale, è stata inclusa nel titolo.
Oltre all'Arduino, ho ordinato un'enorme quantità di ogni tipo di spazzatura, sia compatibile con Arduino che quasi Arduino. Qui ti parlerò solo di ciò che è stato utile in questo prodotto.

Arduino Pro Mini


La consegna è veloce, imballata sotto forma di un sacchetto antistatico standard e di una busta con una superficie interna puntinata. Il venditore è socievole, di lingua russa.
Su un chip 328. 3,3 volt, 8 MHz. Perché è così? Sì per errore. Volevo un 5 volt, 16 MHz, ma ho comprato questo. È colpa mia. Tuttavia, per questo progetto non è fondamentale: ho installato un convertitore di tensione aggiuntivo. In realtà è tutto. Non ho trovato grandi differenze rispetto alle altre Mini. La differenza del marchio è la textolite nera(?).Uno dei difetti: il pin RAW non funziona sulla scheda. Ma neanche questo si è fermato. Tuttavia si potrebbe risparmiare con un convertitore da 3,3 V. I bambini non sono cablati. Il pagamento è stato effettuato bene.
Perché così brevemente? Perché esiste già un pregiudizio su questo venditore e sulle sue commissioni (clausola 18). Chi vorrà lo troverà facilmente. Non ha senso raccontarlo di nuovo. Ho anche aggiunto i miei due centesimi nei commenti a lui. E ho corrisposto con il venditore a mio piacimento.

Servoazionamento SG90


$ 3,2 per lotto di due pezzi.
Non c'è niente di speciale da descrivere. Servoazionamento debole con precisione di posizionamento media, che dipende fortemente dalla velocità di movimento. Ma è economico. Per l'azionamento del coperchio - più che sufficiente, per la "mano" - al limite delle possibilità. Per funzionare servono 5 volt, ma per il controllo ne bastano 3,3. Ho provato a controllarlo tramite il convertitore e direttamente da Arduino: non c'è differenza. Pertanto, il convertitore di livello ha consentito di risparmiare denaro.

Regolatore di carica e convertitore di potenza


$ 2,28 per cinque pezzi. Con protezione. Durante la ricarica il LED rosso è acceso, la fine della ricarica è segnalata dal LED blu. C'era una recensione qui.


$ 0,50 ciascuno. La consegna però è a pagamento, ma ho preso anche un sacco di cose di ogni genere da questo negozio, quindi la consegna non è stata stressante. La presa USB è stata rimossa per renderla più leggera))) L'uscita produce 5,12 volt.


L'ho preso offline. Un po' stretto. Per facilitare il lavoro del serva era possibile smontarlo, accorciare la molla o sostituirla con una più debole. Ma la pigrizia ha vinto. La metto così. È vero, ho dovuto scrivere nel codice le aggiunte all'angolo di rotazione del servo alle alte velocità.

Convertitore TTL


$ 1,5 al pezzo. In realtà, l'ho ordinato prima. È due volte più economico. Ma, per qualche strano motivo, morì della morte dei coraggiosi. Ancora non avevo capito cosa avevo usato per ucciderlo. Per questo motivo, il progetto è rimasto in stallo per un mese, finché non ne è arrivato uno nuovo, più avanzato, senza bisogno di premere reset. Non è questo un progresso?

Il resto proviene da magazzino

Regolatore di tensione 1117T-3,3V in contenitore TO220, condensatori 1500,0×6,3 e 470,0×16, due condensatori da 0,1 µF, LED bianco e microinterruttore da bambini che tipo di macchina, resistenza da 220 ohm. La batteria è rimasta inutilizzata per diversi anni. Una volta ho smontato un lettore DVD portatile bruciato (letteralmente). L'unica cosa positiva è che le batterie sono sopravvissute. Eccone uno che mi è tornato utile. Voltaggio 3,7 V, non ho trovato la capacità nella marcatura.
Una pistola per colla, un elastico per soldi, due ganci di... un reggiseno (grazie a mia moglie. Tesoro, ti amo!), due tasselli per mobili, quattro viti, quattro paraurti adesivi per due traverse di mobili, un pezzo di breadboard , fili, connettori.

La situazione con il corpo era più complicata. Sono state provate molte scatole. La scatola di plastica dell'orologio Tissot si è rivelata fragile, in parte di cartone. Ma le tende di metallo si staccarono da lei. Ne è rimasto addirittura uno in magazzino. Ho provato astucci per profumi già pronti, una scatola per il vino e una scatola per caramelle. Alla fine, ho deciso di farlo da solo.
Nel set in fiamme di un bambino è stato trovato del compensato di alta qualità, molto probabilmente betulla. Il bambino è cresciuto: il set rimane. Su un lato è stato applicato un disegno, ma l'altro lato sembrava per dirla senza mezzi termini, fantastico

Per dirla senza mezzi termini, fantastico

A scuola avevamo un operaio. All'età. In generale, è una persona meravigliosa. Era rispettato. Quando abbiamo utilizzato l'elettricità, ad esempio una batteria, una lampadina e una chiave, ci ha tenuto una conferenza.
“C'è corrente nella batteria. Ora esce all'improvviso e segue i fili. Va, va, all'improvviso bam: la chiave è in arrivo. E la chiave è aperta. Tok capisce che non c'è nessun posto dove andare oltre. Si voltò ed entrò nella batteria. E la luce non si accende. Chiudiamo la chiave. La corrente scorreva di nuovo, raggiungeva la chiave, la attraversava, attraversava la lampadina e tornava alla batteria. E la lampadina è accesa, per così dire, fantastico. Da allora, nel lessico è apparsa una frase del genere come sinonimo di qualcosa di inaspettatamente riuscito.


Ho provato a tagliare il compensato con un seghetto, un seghetto alternativo, ma non ha funzionato. Trucioli difficili da rimuovere, bordi irregolari. Ho trovato una via d'uscita: un coltello da cancelleria affilato. Taglia metà del compensato da un lato e metà dall'altro. Poi un po' di levigatura e tutto va bene. Ma con un buon righello di metallo e una lama costantemente affilata, otterrai un taglio perfetto e una linea retta.
Naturalmente, non senza errori: sotto l'adesivo fatto a mano si nasconde un banale foro. L'ho forato al centro per l'interruttore a levetta. Ma il server non si adattava. Ho dovuto spostare l'interruttore a levetta di lato e chiudere il foro. Tali difficoltà non mi spaventano.
Non vedo il motivo di descrivere ogni fase della realizzazione del dispositivo. Descriverò alcuni punti. E chi ha le mani, lo faccia.
Ho assemblato la scatola utilizzando la colla a caldo. Non ho risparmiato la colla stessa. Regge perfettamente. Non scricchiola, non gioca. Veloce, economico e allegro. E in generale, come hai notato, quasi tutto è tenuto insieme da questa colla. Lo consiglio. Accelera notevolmente il processo di assemblaggio. Il microfono con interruttore è stato incollato dall'interno sulla parete sinistra - si vede leggermente nella foto.
Ho attaccato il coperchio alla tenda.

Ho sofferto con il velo. Ho sperimentato molto. Volevo che il coperchio fosse posizionato sopra la scatola e non all'interno. Ho anche piegato diverse versioni di graffette per tende da graffette. Poi mi sono ricordato che durante gli esperimenti, le tende di una scatola di orologi Tissot hanno attirato la mia attenzione. Così gentile, svizzero (cinese?).
La tenda è una cosa importante. La sua qualità è molto importante per la bellezza esterna complessiva del dispositivo.
L'interruttore principale deve essere più morbido, quindi sarà più facile lavorare.
Il coperchio viene riportato in posizione chiusa tramite un elastico. Non c'è bisogno di sceglierla molto duramente: il serva se ne occuperà, ma se la tenda è posizionata centralmente, il coperchio si deformerà.
Nel caso del compensato, la verniciatura è obbligatoria: si sporca molto. Io ho utilizzato la vernice incolore di cappone. Semplicemente perché non c'era nessun altro a portata di mano.
È meglio posizionare diversamente il servo che controlla la “mano”. Non di lato, ma davanti all'interruttore a levetta. Quindi il "braccio" potrebbe essere più facile da produrre: a forma di L, anziché a forma di U. La larghezza della scatola può essere ridotta e l'interruttore a levetta può essere posizionato al centro.
È meglio ruotare il servo del coperchio di 180 gradi, poi nel codice sarà più semplice associare i gradi di questo servo al funzionamento del coperchio. Per me è il contrario, quindi l’apertura è una diminuzione di gradi. E la “mano” è l’opposto. Ed è più corretto spingere il coperchio dallo stesso lato da cui l'elastico lo tira indietro.
La scatola non dovrebbe essere troppo piccola. Non sarà conveniente da usare. Ma uno più piatto è accettabile. La scatola è leggera e se è più piatta sarà più stabile. Sarà più comodo premere l'interruttore a levetta con il dito senza tenere la scatola.
Ho creato qualcosa come uno scudo con due pezzi di una breadboard. Saldato in Arduino senza connettori. Mortale. Non mi dispiace.


Ma ho realizzato tutte le periferiche sul connettore. È più conveniente.
È necessario un condensatore ad alta capacità per alimentare Arduino (3,3 volt). Senza di esso, l'Arduino si blocca.
Non ho disegni di assieme del dispositivo. È così semplice che puoi applicare molte altre semplici soluzioni su cui si basa tutta la meccanica. Nel video, sia del mio che di altri dispositivi simili, potete vedere le opzioni di guida utilizzate.

#includere #includere ServoportaServo; //servoazionamento coperchio Servo handServo; //servo del braccio Rimbalzo rimbalzo = Rimbalzo(12, 40); //crea un'istanza della classe Bounce per il pin 12 dell'interruttore a levetta int pos = 0; //variabile posizione iniziale int pos1door = 70; //posizione iniziale del servomotore del coperchio int pos2door = 30; //posizione finale del servomotore del coperchio int pos1hand = 10; //posizione iniziale del servo manuale int pos2hand = 160; //posizione finale del servo manuale int r; //numero casuale da cui dipende la possibilità di disattivare l'interruttore a levetta #define LED_PIN 11 // numero dell'uscita collegata al LED int ledState = LOW; // impostiamo lo stato del LED con questa variabile long previousMillis = 0; // memorizza l'ora dell'ultima commutazione del LED #define INTERVAL 30UL // intervallo tra l'accensione e lo spegnimento del LED void setup() ( pinMode(LED_PIN, OUTPUT); pinMode(12, INPUT); // commuta 12 pin entra nell'ingresso mode digitalWrite(12, 1); //attiva la resistenza pull-up su di esso Serial.begin(9600); //imposta la porta su una velocità di 9600 bps. Per il debug. Quindi puoi rimuoverlo. doorServo.attach (9); //assegna i coperchi del servoazionamento per il pin 9 handServo.attach(10); //assegna il servo manuale al pin 10 doorServo.write(pos1door); //imposta il servo del coperchio nella posizione iniziale handServo.write (pos1hand); //imposta il servo nella posizione iniziale mani ) void loop() ( if (bouncer.update()) ( if (bouncer.read()==0) ( //se il pulsante è premuto ( r = random(0,11); //genera un numero casuale jn da 0 a 10 Serial.println® ; if (r == 0) ( move_0(); ) //chiamata di funzione basata su un numero casuale else if (r = = 1) ( move_1(); ) else if (r == 2) ( move_2(); ) else if (r == 3) ( move_3(); ) else if (r == 4) ( move_4(); ) else if (r == 5) ( move_5(); ) else if (r == 6) ( move_0(); ) else if (r == 7) ( move_1(); ) else if (r == 8 ) ( move_4(); ) else if (r == 9) ( move_3(); ) else if (r == 10) ( move_0(); ) ) ) ) // Libreria di funzioni. Principio generale: apri il coperchio - allunga la mano e spegni l'interruttore a levetta - togli la mano - chiudi il coperchio // e ci sono opzioni su come sistemarlo magnificamente................. void move_0())( //opzione semplice: apri-spegni-chiudi //apri il coperchio for(pos = pos1porta; pos >= pos2porta; pos -=3) ( doorServo.write(pos); ritardo(15) ; ) //metti la mano per(pos = pos1hand ;pos<= pos2hand; pos +=3) { handServo.write(pos); delay(15); } //убирaeм руку for(pos = pos2hand; pos >= pos1mano; pos -=3) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=3) { doorServo.write(pos); delay(15); } } void move_1(){ //прocтoй вaриaнт 2: oткрыли-выключили-зaкрыли //oткрывaeм крышку for(pos = pos1door; pos >= pos2porta; pos -=1) ( doorServo.write(pos); ritardo(15); ) ritardo(1000); //alza la mano per(pos = pos1mano; pos<= pos2hand; pos +=1) { handServo.write(pos); delay(15); } //убирaeм руку for(pos = pos2hand; pos > <= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_2(){ //зaдумчивый вaриaнт 2: приoткрыли-зaкрыли-oткрыли-выключили-зaкрыли //oткрывaeм крышку for(pos = pos1door; pos >= pos2porta+15; pos -=5) ( doorServo.write(pos); ritardo(15); ) ritardo(1000); //chiude il coperchio for(pos = pos2door+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } delay(1000); //oткрывaeм крышку for(pos = pos1door; pos > <= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убирaeм руку for(pos = pos2hand+2; pos >= pos1mano; pos -=5) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_3(){ //дeргaный вaриaнт: приoткрыли-пoдeргaли - зaкрыли-oткрыли-выключили-зaкрыли //oткрывaeм крышку for(pos = pos1door; pos >= pos2porta+15; pos -=1) ( doorServo.write(pos); ritardo(50); ) ritardo(500); //tira il coperchio for(int i=1; i<=8; i ++) { doorServo.write(pos2door+18); delay(80); doorServo.write(pos2door+15); delay(80); static unsigned long previousMillis = 0; if(millis() - previousMillis >INTERVAL) ( previousMillis = millis(); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ) ) ritardo(500); //chiude il coperchio for(pos = pos2door+15; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } delay(1000); //oткрывaeм крышку for(pos = pos1door; pos >= pos2porta; pos -=5) ( doorServo.write(pos); ritardo(15); ) //alza la mano per(pos = pos1hand; pos<= pos2hand+2; pos +=5) { handServo.write(pos); delay(15); } //убирaeм руку for(pos = pos2hand+2; pos >= pos1mano; pos -=5) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(15); } } void move_4(){ //oткрывaeм крышку delay(2000); for(pos = pos1door; pos >= pos2porta+15; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(2000); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(500); //chiude il coperchio for(pos = pos2door+15; pos<= pos1door; pos +=5) { doorServo.write(pos); delay(50); } delay(1000); //oткрывaeм крышку нe пoлнocтью for(pos = pos1door; pos >= pos2porta+15; pos -=1) ( doorServo.write(pos); ritardo(50); ) ritardo(2000); //apri completamente il coperchio for(pos = pos2door+15; pos >= pos2door; pos -=1) ( doorServo.write(pos); delay(15); ) //alza la mano for(pos = pos1hand; pos<= pos2hand-35; pos +=1) { handServo.write(pos); delay(35); } delay(1000); //выcoвывaeм руку for(pos = pos2hand-35; pos <= pos2hand+3; pos +=4) { handServo.write(pos); delay(15); } //убирaeм руку for(pos = pos2hand+3; pos >= pos1mano; pos -=7) ( handServo.write(pos); delay(15); ) //chiudi il coperchio for(pos = pos2door; pos<= pos1door; pos +=7) { doorServo.write(pos); delay(15); } delay(500); //oткрывaeм крышку for(pos = pos1door; pos >= pos2porta+20; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(300); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(500); digitalWrite(LED_PIN,!digitalRead(LED_PIN)); ritardo(100); //chiude il coperchio for(pos = pos2door+20; pos<= pos1door; pos +=1) { doorServo.write(pos); delay(50); } } void move_5(){ //вoзня for(int i=1; i <=2; i ++) { for(pos = pos1door; pos <= pos1door+45; pos +=5) { doorServo.write(pos); delay(50); } for(pos = pos1door+45; pos >= pos1porta; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(100); ) //tira il coperchio for(int i=1; i<=3; i ++) { doorServo.write(pos1door-6); delay(80); doorServo.write(pos1door-3); delay(80); } delay(300); //oткрывaeм крышку digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos1door; pos >= pos2porta+25; pos -=5) ( doorServo.write(pos); ritardo(50); ) ritardo(500); //apri la copertina digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+25; pos >= pos2door+10; pos -=5) ( doorServo.write(pos); delay(50); ) //apri la porta digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2door+10; pos >= pos2door-5; pos -=2) ( doorServo.write(pos); ritardo(50); ) //alza la mano for(pos = pos1hand; pos<= pos2hand-35; pos +=9) { handServo.write(pos); delay(35); } delay(1000); //убирaeм руку for(pos = pos2hand-35; pos >= pos2mano-70; pos -=1) ( handServo.write(pos); ritardo(15); ) ritardo(1000); //alza la mano per(pos = pos2hand-70; pos<= pos2hand+3; pos +=9) { handServo.write(pos); delay(15); } delay(50); //убирaeм руку for(pos = pos2hand+3; pos >= pos1mano; pos -=7) ( handServo.write(pos); delay(15); ) //chiudi il coperchio digitalWrite(LED_PIN,!digitalRead(LED_PIN)); for(pos = pos2porta-5; pos<= pos1door+3; pos +=5) { doorServo.write(pos); delay(50); } }

Lo schizzo offerto dall'autore dal link all'inizio della recensione non è iniziato per me. E non ero ancora il professionista che sono adesso)))))))
In generale, ho iniziato a capirlo. Di conseguenza, basandomi su quello di qualcun altro, ho realizzato il mio schizzo. Aggiunta protezione antirimbalzo. Sarebbe stato più semplice, ovviamente, installare una resistenza con un condensatore, ma volevo davvero programmarlo.


In linea di principio, lo schema è chiaro dallo schizzo. Ma lo porterò comunque. Mi spiace per la qualità, ho fatto del mio meglio. Ho preso una scheda convertitore leggermente diversa: non ho trovato quella di cui avevo bisogno nella sezione "frontale".

Non ci sono spiegazioni speciali per lo schizzo. Forse il momento in cui aggiungere qualche grado all'angolo di rotazione, quando la velocità del servo è elevata. Ho notato che se la "mano" salta bruscamente, l'interruttore a levetta non si spegne. Ciò è ovviamente dovuto alla scarsa qualità dei servi. Pertanto, è necessario aggiungere un po' all'angolo di partenza del "braccio". Sospetto che con la ripetizione questi gradi aggiuntivi potrebbero essere diversi per te. Dipende dalla spalla del “braccio”.
E sui programmi. I programmi finora sono sei. Chiamato tramite la generazione di un numero casuale. Inoltre, i programmi semplici (0, 1 e 2) vengono richiamati più spesso del solito. A tutti i miei tester è sembrato che programmi più sofisticati dovessero essere un bonus raro e piacevole, quindi appare qualche intrigo. Così ho fatto.
Per gli amanti dei numeri - dimensioni della scatola: lunghezza - 150 mm, altezza - 70 mm, larghezza - 65 mm.

Youtube ha notevolmente peggiorato la qualità. Se hai bisogno di guardare l'originale, scaricalo. 21MB.
Qui è stata apportata una modifica allo schizzo che ti permette di vedere tutti e sei i programmi uno dopo l'altro, in modo da avere un'idea di tutto. Nella vita, come ho scritto, hanno un ordine pseudo-casuale.

La ricarica avviene tramite micro-USB con un normale caricabatterie da telefono cellulare. L'autonomia dipende molto dalla frequenza di utilizzo. A volte per diversi giorni, a volte “uccido” in un giorno.


Da ultimo.
Il progetto però è migliorabile e migliorabile. Puoi inventare nuovi scenari. Puoi aggiungere un tweeter e far suonare il dispositivo. Ad esempio, lasciatelo “ringhiare”, come se si arrabbiasse, se il tempo tra lo spegnimento e l'accensione dell'interruttore a levetta è molto breve. Puoi, come nel progetto originale, aggiungere movimento alla scatola in diverse direzioni.
È possibile integrare un controllo nel caso in cui la "mano", per qualche motivo, non spegne l'interruttore a levetta (ad esempio, al freddo, il servo non raggiunge un bel po' l'angolo desiderato) e regolare l'angolo solo una volta, avendo scritto una sorta di programma di spegnimento "nervoso" appositamente per un caso del genere. È possibile installare il Nano e programmarlo tramite USB senza smontare il dispositivo ogni volta.

E in generale, puoi farlo con più attenzione. Sono possibili molte cose diverse. In realtà, questo è esattamente ciò che suggerisco di fare a coloro che ne sono interessati.
Forse mi sono perso qualcosa. La recensione si è rivelata piuttosto ampia per un dispositivo così semplice. Per questo posso scusarmi.
Ora il gatto e grazie per aver letto fino alla fine.

Sessione fotografica estiva di un mangiatore di topi domestico

Verso le cinque accadde a molti una disgrazia ben nota: era il compleanno di un buon amico. La domanda si riproponeva: “cosa regalare?” Tenendo conto del fatto che a una persona non piacciono le cose inutili in casa, è nata l'idea di regalargli una cosa inutile. C'è una certa logica in questo. Dopotutto, lui stesso non acquisirebbe mai una cosa inutile. Ma per amore dell’armonia universale, nella famiglia deve essercene almeno uno. Insomma, essere... Solo... Se non altro per poter dire: “ Non mi piacciono le cose inutili. Ho una sola cosa inutile in casa mia e questa è più che sufficiente per l'armonia universale. Argomento chiuso.“Beh, un regalo di compleanno è un buon motivo per aiutare una persona a chiudere per sempre questo argomento e non pensarci mai più :-)

In questa situazione non bastava realizzare semplicemente un'altra cornice per foto o trovare qualche inutile souvenir da mettere sullo scaffale. Per la maggior parte delle persone, la loro inutilità non è molto evidente. Era necessario inventare qualcosa di così inutile che la sua inutilità sarebbe semplicemente trasudata dalla cosa. In modo che sarebbe una sorta di simbolo che personifica tutta l'essenza della sua inutilità.

Francamente non conosco molte cose del genere. E tra questi ce n'è uno che desideravo realizzare da moltissimo tempo. Su Internet in lingua inglese si chiama “The Most Useless Machine Ever” o “Leave Me Alone Box”. Su qualsiasi YouTube, per entrambe queste domande, troverai molte opzioni per implementare questo inutile dispositivo, se lo desideri.

L'essenza di un tale dispositivo è che tutto il suo lavoro è finalizzato allo spegnimento. Lo accendi e si spegne da solo. È tutto.

La macchina più pazza che abbia mai incontrato... Questo. Ciò che la distingue dagli altri è che può essere naturalmente portata all'isteria con la sua tenacia. Dopo un attacco violento, non solo si spegnerà, ma ti nasconderà anche l'interruttore in modo che tu non possa più andare a fondo della questione... Anche se, a dire il vero, con tutto ciò viola la sua stessa essenza - comincia a intrattenere. E, di conseguenza, cessa di essere così inutile :-)

Io stesso ho deciso di realizzare la versione classica. Sicuramente non potranno divertirsi molto. Inoltre, non c'era assolutamente tempo per tutti i tipi di trucchi meccanici...

Lo schema generale di ciò che avrei intenzione di fare è questo:

Il principio di funzionamento è questo:

Coperchio. Un elemento strutturale della scatola in cui è assemblato il dispositivo. Durante il funzionamento, deve sollevarsi per “rilasciare” la leva (fase 2), che commuta il dispositivo in retromarcia (fase 3).

Telaio. Solo una semplice scatola con coperchio incernierato. Dato che avevo una certa quantità di scarti di compensato, ho deciso di ricavarne una scatola.

Tumblr. Non è necessario un interruttore a levetta qualsiasi. Deve soddisfare diverse condizioni. Innanzitutto deve essere “doppio”. Quelli. servire non una linea, ma due. Questo è il tipo di interruttore a levetta di cui hai bisogno, con sei contatti:

In secondo luogo, l'interruttore a levetta deve essere "morbido". Quelli. Cambiarlo non dovrebbe richiedere molto sforzo. I microinterruttori oggi comuni, come nella foto, soddisfano pienamente questa condizione. Naturalmente, in linea di principio, nulla ti impedisce di utilizzare un pesante interruttore a levetta "filobus" delle dimensioni di una scatola di fiammiferi. Solo che richiederà un motore e un cambio molto più potenti, che non sarà così facile da trovare. Quasi tutti i servoazionamenti sono adatti per un microinterruttore, di cui ce ne sono molti nei negozi con pezzi di ricambio per modelli radiocomandati.

"Pinna". Questo elemento è stato aggiunto proprio alla fine dell'idea. Inizialmente non era sul diagramma. Mi è sembrato solo che la leva non sollevasse il coperchio abbastanza in alto. Per aumentare... mmm... espressività per tutta l'azione è necessario che il coperchio si alzi di più... chiaramente. Naturalmente, in teoria, questa “pinna” dovrebbe essere immediatamente incassata nel profilo della leva in modo che siano un tutt'uno. Ma l’idea di aggiungerlo mi è venuta quando quasi tutta la struttura era già montata. Pertanto, la "pinna" è diventata un elemento separato incollato alla leva.

Leva. Piatto in plexiglass spesso. Abbastanza resistente da azionare con sicurezza l'interruttore a levetta (passaggio 3). Il problema principale è sviluppare correttamente e accuratamente il suo profilo. Dovrebbe girare liberamente senza impigliarsi lungo il percorso, sollevare il coperchio e appoggiarsi esattamente contro lo scatto dell'interruttore a levetta.

Batteria. Inizialmente, avevo intenzione di utilizzare un normale nove volt. È mostrato anche nel diagramma. Tuttavia, in seguito si è scoperto che per il motore trovato con cambio, nove volt erano troppi. Il dispositivo ha funzionato molto rapidamente. La leva saltò fuori come una lama di espulsione, quasi impercettibilmente alla vista. Allo stesso tempo, sebbene il dispositivo funzionasse come previsto, a tale velocità non era possibile godere appieno dell'inutilità del suo lavoro. Dopo aver sostituito i nove volt con due AA e mezzo (ho ottenuto un totale di tre volt), ho rallentato notevolmente il funzionamento del meccanismo e tutto è diventato come dovrebbe - senza intoppi e concettualmente :-)

Motore e cambio.. Solo un motore con solo un cambio. L'ho selezionato per velocità di rotazione (il più lenta possibile), per forza creata (preferibilmente superiore a quella calcolata) e per prezzo (il più basso possibile). Di conseguenza, in base a tutte queste condizioni, è stato selezionato un tale motore con cambio. Economico, compatto, adatto alla tensione, forniva basse velocità e sviluppava una forza piuttosto impressionante sulla leva.


Come ho calcolato quanta forza avevo bisogno sul cambio? Molto semplice. Anche se completamente goffo. Ho semplicemente preso la bilancia elettronica, ho preso l'interruttore a levetta, l'ho appoggiato con il clicker sul piatto della bilancia e ho premuto finché non si è acceso. Al momento del cambio, ho letto le letture dal display della bilancia. Naturalmente, il valore risultante non proveniva dalla serie "quante once per pollice", ma "quante once per dimensione del piatto della bilancia", ma questa cifra dava comunque un'idea generale approssimativa. Si potrebbe stimare l'errore... Nel mio caso, avevo bisogno di cercare un motore con un cambio che cedesse circa 30 once per pollice alla leva. Bene, più o meno... Il meccanismo selezionato produce 50 once per pollice, il che è abbastanza con tutti gli errori.

Nel diagramma sopra manca un altro dettaglio importante:
Interruttore inverso.È necessario affinché la leva, tornando nella posizione originale dopo aver azionato l'interruttore a levetta (passaggio 4), spenga l'intero sistema e non si muova più (passaggio 5). Mi è sembrato che un simile interruttore fosse una cosa così primitiva, ovvia e semplice:

... che è completamente indegno di attenzione nel disegno. Oh, quanto mi sbagliavo!!! Nell'intero progetto, questo dannato demolitore è diventata l'avventura più grande che mi ha davvero rovinato i nervi!

Il circuito elettrico del dispositivo si presenta così:

S1 è l'interruttore a levetta "doppio" principale. L'essenza del suo funzionamento è che cambia semplicemente la polarità della corrente fornita al motore (M). Di conseguenza, a seconda della posizione dell'interruttore, l'azionamento ruota in senso orario o antiorario.
S2 è lo stesso interruttore di retromarcia che dovrebbe aprire il circuito quando la leva riprende la sua posizione originale dopo aver commutato l'interruttore a levetta S1 sulla retromarcia.

Questa era tutta la parte teorica. Ora: dalla teoria all'azione.

I problemi sono iniziati fin dal primo momento. Il negozio che ho collegato sopra non aveva in magazzino i riduttori richiesti. Hanno giurato che avrebbero acquistato un nuovo lotto entro una settimana e me lo avrebbero inviato immediatamente. Si sono scusati terribilmente e si sono offerti di sostituirlo con un altro cambio. Ma era completo di tutti i tipi di ingranaggi, elementi di fissaggio di cui non avevo bisogno e, in generale, sembrava che fosse una specie di kit per elicottero che non mi andava bene per il prezzo. Su eBay, per qualche motivo, gli stessi cambi costano il doppio. Anche in altri negozi non è stato trovato subito nulla di adatto... Avevo un po' di tempo in riserva e potevo aspettare. Secondo le mie stime, per raccogliere tutto questo ci vorranno un paio di sere. Più un paio di giorni per la spedizione. Un giorno di riserva per ogni evenienza. Quindi, se me lo inviano almeno cinque giorni prima dell’“ora X”, avrò tempo per fare il regalo in tempo. Beh, se non lo spediscono non c'è niente da fare, lo ricevo su eBay con consegna espressa... Ma il negozio non ha deluso. Il cambio è stato inviato in tempo.

Prima di tutto è stato necessario effettuare un esperimento con una leva e un interruttore a levetta. Dopotutto, se ho perso i calcoli, il cambio non avrà abbastanza forza per azionare l'interruttore a levetta, il che significa che è necessario un altro cambio con dimensioni diverse e anche tutti gli altri calcoli diventeranno diversi. Prima di segare la leva e realizzare una scatola, è necessario assicurarsi che il dispositivo sia teoricamente utilizzabile.

La prima fase dell'esperimento consiste nel controllare il circuito elettrico. Secondo le letture del multimetro, l'interruttore a levetta ha modificato con successo la polarità dell'uscita:

La seconda fase dell'esperimento consiste nel collegare un cambio con una leva e vedere se commuterà l'interruttore a levetta. Come leva ho utilizzato qualche pezzo di plexiglass, il primo che mi è capitato tra le mani:

Se tutto è stato eseguito correttamente, il motore dovrebbe far oscillare la leva avanti e indietro, spostando l'interruttore a levetta da un lato all'altro:

OK. L'esperimento è stato un completo successo ed è stato possibile assemblare il dispositivo finale basato su questo riduttore.

Come ho già detto, ho iniziato a realizzare la sua scatola da giorno in compensato:

L'unica sottigliezza qui riguardava il collegamento degli aerei. Se sono sovrapposti, le estremità dei fogli saranno visibili. Non è bello. Pertanto i bordi di tutte le lastre sono stati limati a 45°:

Ora possono essere incollati in modo che le estremità delle giunture non siano visibili:

Per fissare il cambio nella scatola, ho piegato questa spaventosa staffa da un vecchio slot plug:

Mi è sembrato così spaventoso che ho deciso di dipingerlo. Per l'estetica... non sono sicuro, però, che la pittura abbia portato proprio questo estetismo al prodotto:

Hmmm... È raro che qualcosa sembri ancora più disgustoso in una fotografia che nella realtà. Di solito succede il contrario :-)

Leva... Innanzitutto, il modello stampato è stato trasferito su un pezzo di plexiglass:

Qui dovevo essere molto, molto preciso. Il dispositivo, sebbene semplice, ammetteva solo errori molto piccoli. Altrimenti non entrerà nell'interruttore o inizierà a impigliarsi nella scatola... Per l'occasione ho anche infilato una lama nuova e affilata nel seghetto alternativo:


Alla fine tutto ha funzionato come avrebbe dovuto:

Sfortunatamente, nel nostro Universo imperfetto esiste un fenomeno del genere: l'inerzia. Nel mio caso, ciò significava che, anche dopo aver interrotto l'alimentazione al motore, continuava comunque a far oscillare la leva per inerzia prima di fermarsi completamente.

I creatori di questo cambio, a quanto pare, sospettavano anche l'esistenza dell'inerzia. Pertanto, hanno fornito una sorta di fusibile nel meccanismo degli ingranaggi. Se la leva poggia su qualcosa e gli ingranaggi continuano a ruotare, in modo che l'intero cambio non esploda (dopo tutto, è di plastica), hanno fatto un interruttore lì. Quando viene premuta, la leva passa alla retromarcia. Non per molto tempo.

Alla fine, ho ottenuto così: la leva va in posizione di rollback, apre l'interruttore, la corrente al motore viene interrotta, la leva continua a premere ulteriormente per inerzia, il fusibile nel cambio scatta, la leva va in altra direzione... l'interruttore, il moncone è libero, ripristina nuovamente il circuito, il motore si accende, la leva va di nuovo verso l'interruttore, si apre... inerzia, rollback, contatto... e così martella il rubinetto ballare fino allo stordimento. Sembra divertente, ovviamente, ma...

Sembrerebbe che l'interruttore debba essere regolato in modo tale da rompere la catena un po' in anticipo, tenendo conto della successiva inerzia della leva. In realtà, apportare questo emendamento si è rivelato estremamente difficile. C’erano sempre due estremi: o la corrente è stata interrotta troppo presto e la leva non si è abbassata completamente (e quindi il coperchio della scatola non si è chiuso), oppure l’interruttore è scattato troppo tardi e il meccanismo è caduto nel “ tip tap” che ho descritto sopra.

Ci sono molti fattori che confluiscono immediatamente. Compresa la lunghezza della leva dell'interruttore. Ho persino creato il mio piccolo interruttore utilizzando un micro pulsante del mouse. Ancora non funzionava. E ho provato a realizzare un interruttore sotto forma di due strisce di rame, come in un relè... ho provato di tutto. Sono quasi impazzito cercando di impostare tutto come dovrebbe! Si è scoperto che dovevamo realizzare una sorta di meccanismo di rifinitura molto preciso con microalimentazione. In modo che il ritardo dell'interruzione possa essere regolato con precisione al micron...

Fortunatamente, c'era un modo più semplice. Bastava pensare fuori dagli schemi e... abbandonare completamente questo tipo di demolitori. Chi ha detto che il contatto può essere interrotto solo da una leva? Esistono milioni di modi per risolverlo meccanicamente, senza l'utilizzo di una leva (in questo caso non vengono presi in considerazione i metodi elettronici).

La leva è fissata al cambio tramite una grande e bella rondella metallica. Quindi, puoi usarlo direttamente come uno dei contatti. Un secondo viticcio di contatto striscia lungo di esso. L'apertura avviene semplicemente privando l'antenna del contatto con la rondella. Con semplice nastro adesivo. Come questo:

La regolazione si effettua nel seguente modo: prima si incolla il nastro isolante con un ampio margine, poi, con un bisturi, si tagliano minuscole strisce dello spessore di un capello, finché la leva comincia a fermarsi esattamente dove serve.

E nessun design complesso con microfeeding e tutto il resto:

Anticipando la domanda ovvia: no, il "viticcio" non verrà cancellato dal nastro. Voglio dire, prima o poi lo cancellerà, ovviamente: i materiali eterni non esistono al mondo. Ma l’ho lucidato nel punto di contatto e non preme così forte. Ho quindi applicato il nastro in due strati. In generale, ci vorranno molti anni per consumarsi. La soluzione è abbastanza accettabile e funziona a meraviglia:

Nel video sopra, cambio ancora manualmente l'interruttore principale. Ma l'interruzione inversa avviene già da sola, utilizzando un interruttore composto da rondella e nastro adesivo.

L'affidabilità del progetto è stata confermata da un fatto che non mi è piaciuto molto... non so come e come, ma quando il pacco con il dispositivo è arrivato al destinatario, si è scoperto che quella vite che fissa il la rondella dell'asse del cambio è caduta! Non riesco a immaginare cosa abbiano fatto con il pacco all'ufficio postale. Ma nonostante la caduta di questa vite assiale, la scatola ha continuato a funzionare perfettamente... Ho spiegato telefonicamente al destinatario come rimettere questa vite al suo posto. Spero che possa gestire questo tipo di riparazione. Ma è emerso uno spiacevole difetto, sì... :-(

A quel punto, le restanti parti della scatola erano incollate insieme e pronte. Non ho incollato alle pareti il ​​fondo della scatola, a cui sono fissati il ​​cambio e il pacco batteria. Si è rivelato sufficiente fissarlo con angoli decorativi in ​​metallo:

Se estrai con attenzione due chiodi in ciascun angolo, il fondo si separerà liberamente dal resto della struttura.

Cerniere per il coperchio con stile:

Ora, da qualche parte qui mi sono reso conto che sarebbe stato carino aumentare la quantità di sollevamento del coperchio durante il rilascio della leva. Ho disegnato, segato e incollato una “pinna” sulla leva, che con questo rialzo aumenta fino all'altezza desiderata:

Un po' più di decorazione e il dispositivo è completamente pronto:


In azione.




Superiore