Indholdsfortegnelse:
- Trin 1: Potentielle ideer eller løsninger
- Trin 2: Fremstilling af forsamlingen
- Trin 3: Design af blinde gear
- Trin 4: Kodning af blinde
- Trin 5: Efterbehandling
- Trin 6: Evaluering af projektet
Video: Automatisk blindåbner ved hjælp af EV3: 6 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
Jeg har et sæt rullegardiner i mit soveværelse, som jeg ofte glemmer at åbne eller lukke om morgenen eller aftenen. Jeg vil automatisere åbning og lukning, men med en tilsidesættelse, når til når jeg bliver ændret.
Trin 1: Potentielle ideer eller løsninger
Efter at have kigget på forskellige steder som YouTube, Instructables og Thingiverse fandt jeg ud af, at den mest almindelige løsning var at motorisere spolen, der viklede og rullede persiennerne op ved hjælp af en trinmotor eller en servo. Jeg fandt 2 hovedmuligheder med forskellige fordele og ulemper.
Idé 1: Spolemetode, hvor motoren og gearet er anbragt inde i spolen. Dette har fordelene ved, at det er en pæn og elegant metode, men har ulemperne ved, at det kræver større ændringer af blinde, ledningen er ikke længere brugbar, og samlingen ville være meget vanskelig at få adgang til vedligeholdelse, når den implementeres.
Idé 2: ledningsmetode, hvor motoren og gearet er anbragt på ledningen. Dette har den fordel, at det er enklere, og samlingen kan være let tilgængelig. Det har imidlertid den ulempe, at det kan være grimt og omfangsrigt, samt det faktum, at det skal fastgøres til vindueskarmen, når det implementeres.
Jeg foretrækker ledningsmetoden, ligesom det er en meget enklere løsning, der ikke hæmmer den manuelle brug af ledningen, og blinde vil ikke kræve nogen større ændringer. Jeg planlægger at gøre det så skjult og kompakt som muligt, når jeg laver den sidste version med en ESP8266.
Trin 2: Fremstilling af forsamlingen
Jeg lavede dette projekt ved hjælp af min Lego minstorms EV3, som har funktionalitet, jeg har brug for for at vise, at projektet kunne fungere, og jeg er bekendt med softwaren, som helt sikkert hjalp meget. Da persiennen bruger en kuglekæde til at drive spolen, som Lego-gear er uforenelige med, besluttede jeg, at den bedste løsning var at designe et gear med den korrekte kugleafstand på ydersiden- med standard "krydsformet" hul i center, hvor jeg derefter ville 3D -udskrive designet. På dette tidspunkt lavede jeg også en kalibreringsknap og vedhæftede en lyssensor til mit vindue samt en knap for at fungere som tilsidesættelsen.
Trin 3: Design af blinde gear
Jeg adskilte persiennen for at se, hvordan håndsvinget så mere detaljeret ud. Under demonteringen fandt jeg et lille 16-tanders gear, som blev holdt på plads af en spændt spole, det var den del, jeg ledte efter. Efter at have designet en kopi af gearet tilføjede jeg de nødvendige Lego-kompatible huller, printede de 3 separate dele og slutteligt limede dem sammen med superlim. Jeg havde oprindeligt problemer med at gøre delen Lego kompatibel, i den forstand at min 3D -printer ikke havde tilstrækkelig opløsning til at lave “x” -hullet, men den havde ingen problemer med de cirkulære huller på hver side af den. Så jeg erstattede “x” med et cirkulært hul, og det blev trykt fint. Efter en lille mængde test kunne jeg se, at det kunne klare momentet og vægten fra blinde. Jeg vil linke mine designs til gearet herunder, eller du kan finde det på Thingiverse på:
Trin 4: Kodning af blinde
Jeg ville have kode, der automatisk ville åbne og lukke persiennen, når den nåede et bestemt lysniveau, men som også havde en overstyringsknap, så man stadig kunne åbne eller lukke persiennen, når de ville. Jeg har knyttet min GitHub til den sidste version af koden her:
Koden til projektet tog mig flere dage at fuldføre, jeg havde programmets grundlæggende logik, der fungerede korrekt med lyssensoren, men den midlertidige overstyringsknap fungerede ikke korrekt. Det ændrede blindtilstanden, når den blev presset, men den manglede "lås" -funktionen, der ville betyde, at persiennen ville blive i positionen- hvilket betyder, at persiennen straks ville rulle den tilbage til, hvad den var før. Jeg rettede dette ved hjælp af en "vent til" blok, knyttet til en logisk ELLER gate, der læste værdierne for lyssensoren og berøringssensoren, som jeg vil forklare nedenfor.
Koden starter med at kalibrere motorer og persienner, starter med persiennen helt åben og sænker den, indtil den rammer berøringsføleren i bunden, og tæller hvor mange kvart omdrejninger det tager at komme til bunden, hvilket gemmes som "RotationsNeeded" variabel. Derefter skriver den "falsk" til variablen "BlindOpen", som bruges til at spore blindens position. På dette tidspunkt deler koden sig i 4 sløjfer.
En af disse sløjfer er "Buttonstate" -sløjfen, der løbende publicerer tastens tilstand til en variabel kaldet "ButtonPressed". Dette eliminerer behovet for, at flere knapblokke placeres på scriptet.
Den anden sløjfe er "Lys eller mørk", der løbende sammenligner lysniveauet uden for mit vindue med en konstant defineret tidligere i koden. Hvis resultatet er under denne konstant, vil sløjfen skrive "falsk" til variablen "ItIsLight", hvorimod hvis den er over værdien, vil den skrive "sand".
Den tredje sløjfe indeholder en numerisk liste over 3 muligheder, som dybest set fortæller blinde, hvad de skal gøre, 0 = blinde ned, 1 = blinde op, 2 = ikke gøre noget, fordi blinde er på det rigtige sted. Sløjfen starter med at læse variablen "BlindShould", som angiver den korrekte opgave, som blinden skal udføre, derefter udfører den opgave, ændrer variablen "BlindOpen" til den korrekte mulighed og bliver derefter inaktiv, indtil varianten "BlindShould" ændres, hvor det gentages. Den bruger værdien "RotationsNeeded" samt en +/- 100% effekt til at flytte persiennen helt åben eller lukket.
Den fjerde og sidste sløjfe er den mest komplekse, det er "Decider" -sløjfen, der håndterer alle data og beslutter, hvad de skal gøre med hver permutation. Det gør det ved at bruge logikbaserede "gafler i vejen", hvor "knappen trykkes", "Lysniveau", "Blind åben" er de sande eller falske spørgsmål. Alle permutationerne har et hårdt kodet svar, som enten er 0 = blind down, 1 = blind up eller 2 = gør ingenting - denne værdi skrives til varianten "BlindShould", som derefter håndteres af en tidligere loop. Nogle svar venter derefter på, at enten "ItIsLight" og/eller "ButtonPressed" -variablen ændres, før man afslutter scriptet. Dette er kun tilfældet for de knapaktiverede permutationer, da det umiddelbart ville forsøge at rette sin position, hvilket betyder, at blinde ville vende tilbage til sin oprindelige tilstand. Denne proces sløjfes derefter for at lave et robust og relativt enkelt automatisk system, som let kan tilføjes til og debugges. Puha.
Trin 5: Efterbehandling
Jeg besluttede bagefter at tilslutte en 9V strømforsyning til min EV3 ved hjælp af nogle træpinde og skruer som "batterier", dette gjorde produktet upålideligt på batterier og forhindrede mig i at skulle skifte batterier hvert par dage.
Trin 6: Evaluering af projektet
Jeg synes, at projektet generelt gik godt, jeg endte med en fungerende prototype til automatisk persienne, som jeg kan tage alle de relevante oplysninger, jeg fandt under projektet og implementere i den endelige version. Jeg har succesfuldt kodet enheden og har senere ikke fundet nogen større problemer med koden. Jeg ville gerne have gjort enheden mere visuelt tiltalende, men igen er det et bevis på konceptet, og jeg vil gøre en indsats for at få det til at se godt ud, når jeg laver den sidste version med en ESP8266. Når jeg laver projektet igen, vil jeg designe motoren til at sidde inde i persiennen, da det ville være lettere at skjule. Den største lektion, jeg har lært, er at debug logisk og tænke igennem, dokumentere og teste min kode, før jeg implementerer den.
Anbefalede:
DIY -- Sådan laver du en edderkoprobot, der kan kontrolleres ved hjælp af smartphone ved hjælp af Arduino Uno: 6 trin
DIY || Sådan laver du en edderkoprobot, der kan styres ved hjælp af smartphone Brug af Arduino Uno: Mens du laver en edderkoprobot, kan man lære så mange ting om robotik. Ligesom at lave robotter er underholdende såvel som udfordrende. I denne video vil vi vise dig, hvordan du laver en Spider -robot, som vi kan betjene ved hjælp af vores smartphone (Androi
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: 4 trin
Kontrol ledt over hele verden ved hjælp af internet ved hjælp af Arduino: Hej, jeg er Rithik. Vi kommer til at lave en internetstyret LED ved hjælp af din telefon. Vi kommer til at bruge software som Arduino IDE og Blynk.Det er enkelt, og hvis det lykkedes dig, kan du styre så mange elektroniske komponenter, du ønskerTing We Need: Hardware:
Sådan laver du en drone ved hjælp af Arduino UNO - Lav en quadcopter ved hjælp af mikrokontroller: 8 trin (med billeder)
Sådan laver du en drone ved hjælp af Arduino UNO | Lav en Quadcopter ved hjælp af mikrokontroller: Introduktion Besøg min Youtube -kanal En Drone er en meget dyr gadget (produkt) at købe. I dette indlæg vil jeg diskutere, hvordan jeg gør det billigt ?? Og hvordan kan du lave din egen sådan til en billig pris … Nå i Indien alle materialer (motorer, ESC'er
RF 433MHZ radiostyring ved hjælp af HT12D HT12E - Lav en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: 5 trin
RF 433MHZ radiostyring ved hjælp af HT12D HT12E | Oprettelse af en RF -fjernbetjening ved hjælp af HT12E & HT12D med 433mhz: I denne instruktør vil jeg vise dig, hvordan du laver en RADIO -fjernbetjening ved hjælp af 433mhz sendermodtagermodul med HT12E -kode & HT12D -dekoder IC.I denne instruktive kan du sende og modtage data ved hjælp af meget meget billige KOMPONENTER SOM: HT
Automatisk blindåbner: 11 trin
Automatisk blindåbner: http: //contraptionmaker.infoVi bor i et 150 år gammelt gårdshus med de originale vinduer. På trods af isolering og nyt sidespor er det som at leve i en sigte, om vinteren. For at bekæmpe dette problem installerer vi plastik over vinduerne for at prøve og