Inhoudsopgave:
- Stap 1: Potentiële ideeën of oplossingen
- Stap 2: De montage maken
- Stap 3: Het ontwerpen van de blinde versnelling
- Stap 4: Blinden coderen
- Stap 5: Afwerking
- Stap 6: Evaluatie van het project
Video: Automatische jaloezieopener met EV3 - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
Ik heb een set verduisterende rolgordijnen in mijn slaapkamer die ik 's ochtends of' s avonds vaak vergeet te openen of te sluiten. Ik wil het openen en sluiten automatiseren, maar met een override wanneer ik me omkleed.
Stap 1: Potentiële ideeën of oplossingen
Na verschillende sites zoals YouTube, Instructables en Thingiverse te hebben bekeken, ontdekte ik dat de meest gebruikelijke oplossing was om de spoel die de jaloezieën op- en afrolde te motoriseren met behulp van een stappenmotor of een servo. Ik vond 2 hoofdopties met verschillende voor- en nadelen.
Idee 1: spoelmethode waarbij de motor en tandwieloverbrenging in de spoel zijn ondergebracht. Dit heeft als voordelen dat het een nette en elegante methode is, maar heeft als nadelen dat het een grote aanpassing aan de jaloezie vereist, het koord niet langer bruikbaar is en de montage zeer moeilijk toegankelijk zou zijn voor onderhoud wanneer geïmplementeerd.
Idee 2: snoermethode waarbij de motor en tandwieloverbrenging op het snoer zijn ondergebracht. Dit heeft als voordeel dat het eenvoudiger is en de montage gemakkelijk toegankelijk zou kunnen zijn. Het heeft echter het nadeel dat het lelijk en omvangrijk kan zijn, evenals het feit dat het aan de dorpel moet worden bevestigd wanneer het wordt geïmplementeerd.
Ik geef de voorkeur aan de koordmethode, omdat dit een veel eenvoudigere oplossing is die het handmatige gebruik van het koord niet belemmert, en de jaloezie vereist geen grote wijziging. Ik ben van plan om het zo verborgen en compact mogelijk te maken als ik de definitieve versie maak met een ESP8266.
Stap 2: De montage maken
Ik deed dit project met behulp van mijn Lego mindstorms EV3 die functionaliteit heeft die ik nodig heb om te laten zien dat het project zou kunnen werken, en ik ben bekend met de software die zeker veel heeft geholpen. Omdat het rolgordijn een kogelketting gebruikt om de spoel aan te drijven, waar Lego-tandwielen niet compatibel mee zijn, besloot ik dat de beste oplossing was om een tandwiel te ontwerpen met de juiste balafstand aan de buitenkant - met het standaard "kruisvormige" gat in de centrum, waar ik het ontwerp dan 3D zou printen. Op dit punt heb ik ook een kalibratieknop gemaakt en een lichtsensor aan mijn raam bevestigd, evenals een knop om als opheffing te fungeren.
Stap 3: Het ontwerpen van de blinde versnelling
Ik heb het rolgordijn gedemonteerd om te zien hoe de slinger er in meer detail uitzag. Tijdens de demontage vond ik een klein tandwiel met 16 tanden dat op zijn plaats werd gehouden door een gespannen spoel, dit was het onderdeel dat ik zocht. Na het ontwerpen van een replica van de uitrusting, heb ik de benodigde Lego-compatibele gaten toegevoegd, de 3 afzonderlijke delen geprint en ze uiteindelijk met secondelijm aan elkaar geplakt. Ik had aanvankelijk problemen om het onderdeel Lego-compatibel te maken, in die zin dat mijn 3D-printer niet de resolutie had om het "x" -gat voldoende te maken, maar het had geen problemen met de ronde gaten aan weerszijden ervan. Dus ik verving de "x" door een rond gat en het drukte prima af. Toen, na een kleine hoeveelheid testen, kon ik zien dat het het koppel en het gewicht van de jaloezie aankon. Ik zal mijn ontwerpen voor de uitrusting hieronder linken of je kunt het vinden op Thingiverse op:
Stap 4: Blinden coderen
Ik wilde een code die de jaloezie automatisch zou openen en sluiten wanneer het een bepaald lichtniveau bereikte, maar die ook een overschrijfknop had zodat men de jaloezie nog steeds kon openen of sluiten wanneer ze dat wilden. Ik heb mijn GitHub hier gekoppeld aan de definitieve versie van de code:
De code voor het project kostte me enkele dagen om te voltooien, ik had de basislogica van het programma correct laten werken met de lichtsensor, maar de tijdelijke opheffingsknop werkte niet correct. Het veranderde wel de toestand van het rolgordijn nadat het werd ingedrukt, maar het miste de "vergrendelende" functie die zou betekenen dat het rolgordijn in de positie zou blijven - wat betekent dat het rolgordijn het onmiddellijk zou terugrollen naar wat het was. Ik heb dit opgelost met behulp van een "wacht tot" -blok, gekoppeld aan een logische OF-poort die de waarden van de lichtsensor en aanraaksensor leest, die ik hieronder zal uitleggen.
De code begint met het kalibreren van de motoren en de jaloezie, te beginnen met de jaloezie volledig open en deze omlaag te brengen totdat deze de aanraaksensor aan de onderkant raakt, waarbij wordt geteld hoeveel kwartslagen nodig zijn om de bodem te bereiken, wat wordt opgeslagen als de "RotationsNeeded" variabel. Vervolgens schrijft het "false" naar de variabele "BlindOpen", die wordt gebruikt om de positie van de jaloezie te volgen. Op dit punt splitst de code zich op in 4 lussen.
Een van deze lussen is de "Buttonstate"-lus die continu de status van de knop publiceert naar een variabele genaamd "ButtonPressed". Dit elimineert de noodzaak om meerdere knopblokken op het script te plaatsen.
De tweede lus is de "Licht of donker" die voortdurend het lichtniveau buiten mijn raam vergelijkt met een constante die eerder in de code is gedefinieerd. Als het resultaat onder die constante ligt, schrijft de lus "false" naar de variabele "ItIsLight", terwijl als het boven de waarde ligt, het "true" zal schrijven.
De derde lus bevat een numerieke lijst van 3 opties die de blinde in feite vertelt wat hij moet doen, 0=blind omlaag, 1=blind omhoog, 2=niets doen omdat blind op de juiste plaats zit. De lus begint met het lezen van de variabele "BlindShould" die de juiste taak specificeert die de blinde moet doen, voert vervolgens die taak uit, wijzigt de variabele "BlindOpen" in de juiste optie en wordt dan inactief totdat de variabele "BlindShould" wordt gewijzigd waar het herhaalt zich. Het gebruikt de waarde "RotationsNeeded" en een vermogen van +/- 100% om de jaloezie volledig open of gesloten te bewegen.
De vierde en laatste lus is de meest complexe, het is de "Decider"-lus die alle gegevens verwerkt en beslist wat er met elke permutatie moet worden gedaan. Het doet dit door gebruik te maken van op logica gebaseerde "vorken in de weg" waarbij "knop wordt ingedrukt", "Lichtniveau", "Blind open" de waar of onwaar vragen zijn. Alle permutaties hebben een hard gecodeerde reactie, die ofwel 0=blind omlaag, 1=blind omhoog of 2=niets is - deze waarde wordt geschreven naar de "BlindShould"-variabele die vervolgens wordt afgehandeld door een eerdere lus. Sommige reacties wachten dan tot de variabele "ItIsLight" en/of "ButtonPressed" verandert voordat het script wordt voltooid. naar zijn oorspronkelijke staat. Dit proces wordt vervolgens in een lus omgezet om een robuust en relatief eenvoudig automatisch systeem te maken, dat gemakkelijk kan worden toegevoegd aan en kan worden opgespoord. Opluchting.
Stap 5: Afwerking
Ik besloot achteraf om een 9V-voeding op mijn EV3 aan te sluiten met behulp van enkele houten pluggen en schroeven als "batterijen", dit maakte het product niet afhankelijk van batterijen en voorkwam dat ik de batterijen om de paar dagen moest vervangen.
Stap 6: Evaluatie van het project
Ik denk dat het project over het algemeen goed is verlopen, ik heb uiteindelijk een werkend prototype voor de automatische jaloezie-assemblage gekregen, die ik alle relevante informatie die ik tijdens het project heb gevonden, kan meenemen in de definitieve versie. Ik heb het apparaat met succes gecodeerd en heb later tot nu toe geen grote problemen met de code gevonden. Ik had het apparaat graag visueel aantrekkelijker willen maken, maar nogmaals, het is een proof of concept en ik zal wat moeite doen om het er goed uit te laten zien wanneer ik de definitieve versie maak met een ESP8266. Als ik het project opnieuw doe, zal ik de motor zo ontwerpen dat hij in de jaloezie zit, omdat dat gemakkelijker te verbergen is. De grootste les die ik heb geleerd, is om logisch te debuggen en na te denken, te documenteren en mijn code te testen voordat ik deze implementeer.
Aanbevolen:
Automatische bedverlichting: 5 stappen (met afbeeldingen)
Automatische bedverlichting: slaap jij ook 's nachts? Zie je ook niets in het donker? Heb je 's nachts ook donker op de kamer? Dan is dit apparaat iets voor jou! Ik denk dat de meesten van ons graag een beetje blijven 's avonds langer. De redenen kunnen verschillend zijn - Netflix, YouTube
AUTOMATISCHE AFVALBAK OF BIN. DE PLANEET REDDEN: 19 stappen (met afbeeldingen)
AUTOMATISCHE AFVALBAK OF BIN. OM DE PLANEET TE REDDEN: Voordat we beginnen, raad ik je aan de eerste video te bekijken voordat je deze leest, omdat deze erg handig is. Hallo, mijn naam is Jacob en ik woon in het VK. Recycling is een groot probleem waar ik woon. Ik zie veel zwerfvuil op de velden en het kan schadelijk zijn. NS
Automatische infraroodwaterkraan voor $ 5: 12 stappen (met afbeeldingen)
Automatische infraroodwaterkraan voor $ 5: in dit project maken we een automatische aan-uit-waterkraan voor slechts $ 5. We zullen een IR-sensor en een waterschakelaar gebruiken om deze automatische infraroodwaterkraan te maken. Er wordt geen microcontroller gebruikt om deze automatische infrarood waterkraan te maken. Plaats eenvoudig uw
Automatische Snow Wake-up Call: 6 stappen (met afbeeldingen)
Automatische sneeuwwekker: 's ochtends het huis uit gaan kan een vlaag van activiteit zijn nadat een paar centimeter van het witte spul 's nachts is neergedaald. Zou het niet fijn zijn om op die dagen wat eerder wakker te worden om de stress uit de ochtend te halen? Dit project doet
Automatische tuinbesproeier - 3D afgedrukt - Arduino: 10 stappen (met afbeeldingen)
Automatische tuinbesproeier | 3D afgedrukt | Arduino: Ik ben een fervent tuinier, maar je planten met de hand water geven tijdens droge perioden kost wat tijd. Dit project verlost me van water geven, zodat ik aan mijn andere projecten kan werken. Het is ook geweldig om voor de tuin te zorgen terwijl u niet thuis bent, en de plant