Taula de continguts:
- Subministraments
- Pas 1: familiaritzeu-vos amb la configuració del controlador de Stepper
- Pas 2: connecteu Arduino 5V / GND a la vostra taula de pa
- Pas 3: connecteu els rails +/- a VIO / GND
- Pas 4: Connecteu DIR / STEP als pins digitals de l'Arduino
- Pas 5: anem endavant i afegim aquest condensador …
- Pas 6: endavant i connecteu aquest GND
- Pas 7: Connecteu el motor al controlador
- Pas 8: connecteu EN, MS1 i MS2 a "-"
- Pas 9: soldeu un connector d'alimentació femella a dos cables
- Pas 10: connecteu el connector femení acabat de soldar
- Pas 11: connecteu-los a VM / GND
- Pas 12: admireu els vostres treballs manuals
- Pas 13: opcional: comproveu el vostre VREF
- Pas 14: botons
- Pas 15: afegiu la placa de micròfon
- Pas 16: aquest hauria de ser el resultat final
- Pas 17: Codi
- Pas 18: muntatge i configuració de les rodes
- Pas 19: configuració final
Vídeo: Arduino Cradle Rocker: 19 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Ho sento, no he pogut resistir la música intensa i divertida que em suggeria l'edició de vídeo.
Fa poc vaig tenir el meu primer fill i ja tenia un bressol de fusta que el meu oncle (que és un fuster impressionant) va fer per al meu nebot. El meu nebot feia molt de temps que ho havia superat, així que vaig estar encantat d’agafar-lo i evitar gastar TOTS ELS DINERS en el bressol / bressol que tinguessin la meva dona per a la meva dona. El bressol és un disseny força senzill, bàsicament amb dos muntants amb cargols que suporten el cos del bressol. Hi ha una clavilla extraïble per bloquejar-la al seu lloc.
Al cap de poques setmanes, vam trobar que sovint podíem sufocar les molèsties lleugeres sacsejant una mica el bressol fins que el nostre noi es va establir. La nit que ho vam saber, vaig passar uns quants estiraments de deu minuts a la nit amb el braç que arribava des de sota de les cobertes, sacsejant-lo adormit, feliç d’haver trobat la manera de calmar-lo sense aixecar-me del llit. al matí vaig adjuntar una corda i un petit mosquetó per poder balancejar el bressol sense haver d'estirar el braç.
L’endemà al matí, vaig començar a fer una pluja d’idees sobre una manera de tenir un robot que feia canviar aquest noi per a mi. Introduïu l'Arduino …
Subministraments
D’acord, aquest va ser el meu primer projecte d’Arduino, així que vaig fer experiments i proves d’error, i estic segur que hi ha marge de millora en el meu disseny, però aquí teniu la llista de parts: Arduino Uno (13 dòlars) per controlar-ho tot kit (10 dòlars) per connectar cables
El motor pas a pas (14 dòlars) Aquesta és la peça més divertida, perquè és el que fa tota la feina. Vaig començar amb un motor de parell lleugerament inferior, però després vaig aconseguir aquest i funciona bastant bé. Si us plau, obtingueu-ne un de més potent. Controladors de motor Stepper (entre 10 i 30 dòlars). Se situa entre l’Arduino i el motor. Aquest específic sembla ser capaç de conduir el motor amb més tranquil·litat que alguns altres, així que vaig anar amb això, ja que el motor estarà a pocs metres del cap (i del meu fill) mentre dormim. Originalment, només vaig comprar un controlador TMC2209 per uns $ 10, però vaig acabar comprant un paquet de 4 perquè al principi tenia algunes dificultats i volia assegurar-me que no hagués fregit el tauler en algun moment. En realitat, vaig acabar matant tres taulers, cosa que em porta al meu següent element … Condensadors! (10 dòlars) Realment només necessiteu un condensador de 50 uF de 50 V, de manera que aquesta caixa de 240 era massa excessiva. Una font d’alimentació de 36 V (17 dòlars) Originalment vaig comprar un subministrament de 12 V i vaig descobrir que allò era la font de tots els meus problemes. i en vaig obtenir un que estava més a prop de la tensió màxima que podia suportar el meu motor pas a pas. Si utilitzeu un motor diferent o un controlador pas a pas, assegureu-vos que pugui controlar la tensió (V) i que l’amperatge (A) del subministrament sigui, com a mínim, tan elevat com els màxims amplificadors del motor. 8 dòlars) A això es connecta la font d'alimentació. Haureu de soldar-los amb alguns cables per ficar-los a la taula de treball. Un paquet gran de ponts (9 dòlars) per poder posar els controls allà on vulgués a l’habitació.
Botons ($ 8) per activar / desactivar, etc.
Un amplificador de micròfon (11 dòlars) Oh, no sabíeu que això també estava activat per so?
Algunes rodes de politja petites (8 dòlars) les vaig acabar fent servir, però potser hi hauria millors alternatives. Més sobre això més endavant. També necessitareu una soldadora i tot el que vulgueu utilitzar per muntar el motor. Personalment, acabo de fer una caixa rugosa de 4 trossos de fusta cargolats, i després els he cargolat a un altre tros de fusta que té aproximadament l’amplada de la cama del bressol. De moment, només el tinc fixat perquè no sé si vull esborrar el bressol del meu oncle.
Pas 1: familiaritzeu-vos amb la configuració del controlador de Stepper
El programa de modelatge que he utilitzat no tenia aquesta placa de controladors exacta, de manera que haureu de fer referència a aquesta imatge. Ho he ordenat tot amb la mateixa orientació que aquesta imatge.
Pas 2: connecteu Arduino 5V / GND a la vostra taula de pa
Connecteu un cable des de l'Arduino 5V al carril "+" que hi ha a un costat de la placa de connexió Connecteu un cable d'un dels Arduino GND al carril "-" del mateix costat de la placa de control
(ignora el fitxer
Pas 3: connecteu els rails +/- a VIO / GND
Connecteu un cable del "-" rail a GND a la part inferior esquerra de la placa de control de passos. Connecteu un cable del rail "+" a VIO
Pas 4: Connecteu DIR / STEP als pins digitals de l'Arduino
Connecteu els pins DIR i STEP de la placa de control de pas a dos dels pins digitals de l’Arduino. He utilitzat els pins 2 i 3, respectivament, però no importa mentre definiu els pins al vostre codi més endavant.
Pas 5: anem endavant i afegim aquest condensador …
He cremat dues plaques de control de pas a pas perquè no tenia cap condensador al seu lloc, així que anem endavant i afegiu el condensador 47uF 50V als pins VM / GND de la placa de controladors. Assegureu-vos que el "-" pin del condensador es troba al pin GND de la placa de control (hi haurà un "-" al costat corresponent del condensador)
Pas 6: endavant i connecteu aquest GND
Al GND al qual acabeu d'afegir el condensador, continueu i connecteu-lo al mateix carril "-" que l'altre GND.
Pas 7: Connecteu el motor al controlador
Quin passador dependrà del motor que hàgiu comprat, però el que he indicat té el diagrama de cablejat a la llista d'Amazon.
Per al meu motor -
Connecteu verd i negre a M2B i M2A
Connecteu vermell i blau a M1A i M1B Nota: si per qualsevol motiu el vostre motor no té un diagrama, podeu esbrinar fàcilment quins cables formen un circuit si teniu un multímetre. Configureu el multímetre a un paràmetre d'ampli baix i desconnecteu el motor. Toqueu un dels cables del multímetre a un dels cables del motor i, a continuació, proveu cadascun dels altres cables amb l’altre cable. Si obteniu una lectura de resistència, aquests dos cables formen 1 circuit i els altres dos formen l’altre.
Pas 8: connecteu EN, MS1 i MS2 a "-"
No estic del tot segur que sigui necessari, però crec que defineix el motor a un paràmetre de pas més petit al controlador TMC2209. Podeu connectar-los al "-" ferrocarril més proper a ells, ja que el connectarem a l'altre costat més endavant.
Pas 9: soldeu un connector d'alimentació femella a dos cables
No sóc el millor soldador del món, de manera que haureu de buscar-ho en un altre lloc, però he fet el meu així. Vaig doblegar els extrems dels cables de manera que quedessin plans contra els cables del connector i després vaig soldar el cable al cable. No tenia cap material de contracció de calor per cable, així que els vaig embolicar prodigiosament amb cinta elèctrica.
Pas 10: connecteu el connector femení acabat de soldar
Encara no connecteu la font d’alimentació real. Cable vermell a "+", negre a "-"
Pas 11: connecteu-los a VM / GND
Connecteu els rails "+" i "-" a la màquina virtual i al GND que hi ha al costat. Els que tenen el condensador.
Pas 12: admireu els vostres treballs manuals
Molt bé, ara teniu el motor i el controlador completament configurats. A partir d’aquí només farem controls. Per cert, en endavant:
- Si heu desconnectat el controlador per qualsevol motiu, no intenteu connectar-lo mentre estigueu endollat de 36V. Vaig matar la meva tercera placa del controlador així.
- Connecteu l’alimentació de 36V abans de connectar-la a l’Arduino. No vaig fregir personalment un Arduino, però al llarg del camí vaig veure molts avisos sobre això.
Pas 13: opcional: comproveu el vostre VREF
El TMC2209 té un potenciòmetre que controla la intensitat del motor. Si teniu el mateix conductor que jo, podeu llegir-ne aquí. Si voleu ajustar la configuració:
- Desconnecteu tota l'alimentació i desconnecteu els cables del motor del controlador.
- Desconnecteu el cable al pin EN (enable) del controlador. Aquest és el passador de l'extrem superior esquerre.
- Connecteu la font d'alimentació del motor (la de 36 V)
- Amb un multímetre configurat a 20 V, toqueu un cable a una font de GND (he utilitzat un cable connectat al meu carril "-") i toqueu l'altre cable al pin VREF. Si us plau, no toqueu el plom a cap altra cosa; si ho feu, podeu provar el curt conductor.
- Utilitzeu un petit tornavís per ajustar suaument el cargol del potenciòmetre. Per al meu tauler, en sentit antihorari = més potència. El meu VREF llegeix personalment ~ 0,6V.
Pas 14: botons
A continuació, connecteu els botons així. No necessiten poder.
- Connecteu un carril "-" del tauler de control del botó a un dels GND de l'Arduino. També podeu encadenar-lo del "-" rail de l'altra placa si voleu.
- Connecteu un passador de cada botó al carril "-"
- Connecteu un altre pin de cada botó a un pin digital de l'Arduino.
He utilitzat 4 botons: Motor encès / apagat
El motor continua
Micròfon encès
Micròfon desactivat
Més informació sobre això quan arribem al codi, però he utilitzat diferents botons de micròfon simplement perquè no tenia LED per fer-me saber si el micròfon estava encès o apagat, de manera que disposar de botons d’encesa / apagat diferents el feia infal·lible.
Pas 15: afegiu la placa de micròfon
Aquest és senzill i Adafruit té bones instruccions (i bàsics per a soldar!) Aquí.
- Connecteu "-" a un GND
- Connecteu GND a la placa de micròfon a "-" (podeu connectar directament GND a GND i ometre el pas anterior, de debò)
- Connecteu VCC a l’alimentació de 3,3 V de l’Arduino. Això és important, ja que aquesta font d'alimentació és menys "sorollosa" que la de 5 V, cosa que proporciona una millor lectura del micròfon
- Connecteu OUT a un pin ANALOG IN de l'Arduino. He utilitzat A0.
Pas 16: aquest hauria de ser el resultat final
Tot hauria d'estar a punt ara. Aquí teniu una imatge del diagrama final i la meva confusió de cables a la realitat. Vegem algun codi.
Pas 17: Codi
D'acord, mirem el codi. Aquest no és el meu treball més net, però fa la feina. He afegit comentaris per explicar-ho tot aquí, però tingueu en compte que he utilitzat Arduino IDE per tot això (disponible a Windows i Mac de forma gratuïta).
Estableix una sèrie de roques (gronxadors) per fer.
Gireu la distància establerta per a 1 oscil·lació. Gireu un nombre determinat de vegades.
Entre tot això, vigileu si premeu els botons o escolteu el micròfon per veure si s’ha d’encendre el motor. Haureu d’ajustar els valors de velocitat, distància i sensibilitat del micròfon. La velocitat del motor afectarà el volum i el parell. Com més ràpid passa el motor, més fort és i menys parell. Actualment, el meu és gairebé silenciós, de manera que és possible que funcioni sense fer gaire so.
#include // biblioteca de motor pas a pas "estàndard"
// # define DEBUG 1 // descomenteu-ho quan vulgueu ajustar els nivells del micròfon // Configuració de botons: corresponen a on els pins digitals que heu connectat als botons const int motorEnablePin = 10; const int continuePin = 11; const int micDisablePin = 12; const int micEnablePin = 13; // Configuració del micròfon: A0 aquí hi ha l’entrada analògica del micròfon. La finestra de mostra és en millis const int micPin = A0; const int sampleWindow = 1000; mostra int sense signar; bool micEnabled = fals; doble sensibilitat al micròfon = 0,53; // probablement haureu de canviar-ho // Per a mi, al voltant de.5 era prou bo com per no disparar sobre petits arrossegaments // però es dispararà per crits petits int stepsPerRevolution = 3200; // canvieu-ho perquè s'adapti al nombre de passos per revolució del vostre motor // El meu motor té 200 passos / revolució // Però he configurat el controlador a 1/16 microsteps // per tant 200 * 16 = 3200 … sincerament, ni idea si és la manera adequada // de fer això Stepper myStepper (stepsPerRevolution, 2, 3); // 2 i 3 són els pins DIR & STEP int stepCount = 0; int motorSpeed = 95; // l'haureu d'ajustar segons el pes del bressol i del nadó int numSteps = 90; // La distància que es mourà el motor. // Haureu d’ajustar-ho en funció del radi de la roda que fixeu // al vostre motor. És probable que això i la velocitat siguin proves i errors. // Nota: velocitat més alta en motors pas a pas = parell efectiu menor // Si no teniu prou parell, el motor saltarà els passos (no es mourà) int oldmotorButtonValue = HIGH; bool habilitat = fals; // motor activat? int loopStartValue = 0; int maxRocks = 100; // quantes vegades voleu que es balancegi abans d'apagar int rockCount = 0; void setup () {#ifdef DEBUG Serial.begin (9600); // per al registre de depuració #endif pinMode (motorEnablePin, INPUT_PULLUP); // Aquesta és una configuració perquè els botons funcionin sense pinMode d'alimentació (continuePin, INPUT_PULLUP); pinMode (micEnablePin, INPUT_PULLUP); pinMode (micDisablePin, INPUT_PULLUP); myStepper.setSpeed (motorSpeed); // estableix la velocitat del motor a la que heu especificat anteriorment} void loop () {int motorButtonValue = digitalRead (motorEnablePin); // digitalRead només llegeix els valors del botó int continueValor = digitalRead (continuePin); // Això detecta la pressió del botó del motor i impedeix que es dispari més d'una vegada per cada clic si (motorButtonValue == ALTA && oldmotorButtonValue == BAIX) {enabled =! Enabled; } micCheck (); // Si el motor està apagat i el micròfon està encès, escolteu si el bebè plora si (! Enabled && micEnabled) {if (getMicReading ()> = micSensitivity) enabled = true; } if (activat) {stepsPerRevolution = stepsPerRevolution * -1; // direcció inversa // Amb la meva configuració és més efectiu invertir // al primer oscil·lació. Podeu posar-ho després del bucle // si no és el vostre cas // motor de gir la distància especificada anteriorment per a (int i = loopStartValue; i <numSteps; i ++) {// comproveu si desactiva int tempmotorButtonValue = digitalRead (motorEnablePin); if (TempMotorButtonValue! = motorButtonValue) {RockCount = 0; // Aquestes dues línies següents "guarden" la posició del motor, de manera que la propera vegada que l'engegueu // continuarà viatjant com si no l'haguéssiu apagat. Això impedeix llançar // les vostres distàncies de moviment loopStartValue = i; // desa la posició stepsPerRevolution = stepsPerRevolution * -1; // mantenir la direcció oldmotorButtonValue = tempmotorButtonValue; trencar; } checkContinue (continueValue); // comproveu si es va prémer el botó Continua micCheck (); myStepper.step (stepsPerRevolution / 50); // quants passos heu de fer per bucle, // és possible que hàgiu d'ajustar-lo // assegureu-vos que continuem la distància completa del bucle si el bucle ha acabat // això entra en joc si heu apagat el motor vosaltres mateixos i "ha desat" el posició if (i == numSteps - 1) {loopStartValue = 0; }}} retard (100); // Pausa 100 mil·lis abans de fer la següent roca. Haureu d’ajustar-ho. si (activat) checkComplete (); oldmotorButtonValue = motorButtonValue; // s'utilitza per evitar dobles clics} // Aquest codi prové directament d'Adafruit. doble getMicReading () {unsigned long startMillis = millis (); unsigned int peakToPeak = 0; // nivell pic-a-pic sense signe int signalMax = 0; unsigned int signalMin = 1024; while (millis () - startMillis <sampleWindow) {micCheck (); if (digitalRead (motorEnablePin) == BAIX) enabled = true; mostra = analogRead (micPin); if (sample signalMax) {signalMax = sample; // deseu només els nivells màxims} else if (mostra for (int i = loopStartValue; i <numSteps / 2; i ++) { myStepper.step (stepsPerRevolution * -1 / 50); // pas 1/100 d'una revolució: } } } Això segueix sent un WIP per a mi, perquè, com ja he dit, no estic segur de voler posar cargols al bressol. La millor solució per al tercer pas és comprar una roda de politja de diàmetre més gran en primer lloc. El meu fa una mica menys de 3 de diàmetre dins de la ranura i funciona molt bé per al meu bressol particular. La meva primera versió feia servir un braç en lloc d’una roda. No va funcionar gaire bé, ja que la força no s’estava aplicant en una direcció constant, i també era molt susceptible de ser llançada si la posició inicial no era correcta. L’ús d’una roda resol aquests problemes. També em vaig entretenir amb un petit sistema de politges, però vaig acabar sense necessitat perquè la meva roda em donava prou parell. Munteu el micròfon a prop del vostre fill, però en un lloc on no toquin cap cable. Col·loqueu els botons on vulgueu, sempre que tingueu suficients cables per córrer fins a la destinació final. També podeu substituir els botons per una configuració de wifi a l’arduino, però encara no m’he endinsat tant. Bona sort!Pas 18: muntatge i configuració de les rodes
Pas 19: configuració final
Recomanat:
Reproductor d'àudio amb Arduino amb targeta Micro SD: 7 passos (amb imatges)
Reproductor d'àudio que utilitza Arduino amb targeta Micro SD: SUBSCRIU el meu canal per a més projectes ……………………. Molta gent vol connectar la targeta SD amb arduino o voleu una sortida d’àudio mitjançant arduino. Així doncs, aquí teniu la forma més senzilla i barata d’interfocar la targeta SD amb arduino. tu ens pots
Reconeixement d'imatges amb plaques K210 i Arduino IDE / Micropython: 6 passos (amb imatges)
Reconeixement d’imatges amb plaques K210 i Arduino IDE / Micropython: ja vaig escriure un article sobre com executar demostracions d’OpenMV a Sipeed Maix Bit i també vaig fer un vídeo de demostració de detecció d’objectes amb aquesta placa. Una de les moltes preguntes que la gent ha formulat és: com puc reconèixer un objecte que la xarxa neuronal no és tr
Com fer un dron amb Arduino UNO - Feu un Quadcopter amb microcontrolador: 8 passos (amb imatges)
Com fer un dron amb Arduino UNO | Feu un Quadcopter amb microcontrolador: Introducció Visiteu el meu canal de YouTube Un drone és un gadget (producte) molt car de comprar. En aquest post vaig a discutir, com ho faig a bon preu ?? I com pots fer-ho així a un preu barat … Bé, a l'Índia tots els materials (motors, ESC
Comandament a distància sense fils que utilitza el mòdul NRF24L01 de 2,4 Ghz amb Arduino - Nrf24l01 Receptor transmissor de 4 canals / 6 canals per quadcòpter - Helicòpter Rc - Avió Rc amb Arduino: 5 passos (amb imatges)
Comandament sense fils que utilitza un mòdul NRF24L01 de 2,4 Ghz amb Arduino | Nrf24l01 Receptor transmissor de 4 canals / 6 canals per quadcòpter | Helicòpter Rc | Avió Rc amb Arduino: per fer funcionar un cotxe Rc | Quadcopter | Drone | Avió RC | Vaixell RC, sempre necessitem un receptor i un transmissor, suposem que per RC QUADCOPTER necessitem un transmissor i un receptor de 6 canals i aquest tipus de TX i RX és massa costós, així que en farem un al nostre
Com desmuntar un ordinador amb passos i imatges senzills: 13 passos (amb imatges)
Com desmuntar un ordinador amb passos i imatges senzills: és una instrucció sobre com desmuntar un ordinador. La majoria dels components bàsics són modulars i fàcilment eliminables. Tanmateix, és important que us organitzeu al respecte. Això us ajudarà a evitar la pèrdua de peces i també a fer el muntatge