Inhoudsopgave:

Automatische prullenbak: 7 stappen
Automatische prullenbak: 7 stappen

Video: Automatische prullenbak: 7 stappen

Video: Automatische prullenbak: 7 stappen
Video: VERLOOPSTEKKER 13 naar 7 POLIG, hoe monteer je die? Paar trucjes 2024, Juni-
Anonim
Automatische prullenbak
Automatische prullenbak
Automatische prullenbak
Automatische prullenbak

Dit is een bewegingsdetecterende prullenbak die automatisch opent. Het heeft wifi-connectiviteit en stuurt een sms-bericht wanneer het vol is. Deze is gemaakt voor ECE-297DP aan de Universiteit van Massachusetts - Amherst. Het belangrijkste doel van deze cursus was om ervaring op te doen met hands-on elektronica, aangezien ik het gevoel had dat ik achter stond bij mijn leeftijdsgenoten en ik er baat bij zou hebben om de dingen die ik van mijn lezingen heb geleerd te combineren met ervaringsgericht werk.

Benodigde materialen:

- 1x Arduino Uno

- 1x ESP-8266

- 2x Microservo's

- 2x ultrasone HC-SR04 bewegingsdetectoren

- 1x RBG-led

- 3x 330 Ω weerstanden

- 1x 3.3 Spanningsregelaar

- 2x 100 uF elektrolytische condensator

- 1x 0.1 uF keramische condensator

- 1x Corona Extra 12-pack bierfles met lange hals

Stap 1: Originele plannen en voortgang

Originele plannen en voortgang
Originele plannen en voortgang
Originele plannen en voortgang
Originele plannen en voortgang
Originele plannen en voortgang
Originele plannen en voortgang
Originele plannen en voortgang
Originele plannen en voortgang

Aan het begin van het semester had ik geen plannen voor wat ik wilde doen. Ik sprong in deze klas zonder een idee in gedachten. Dus om te beginnen ontwikkelde ik een gemakkelijke manier om mezelf langzaam te doorkruisen in de wereld van hobby-elektronica.

Stappen:

1. Leer de basis van Arduino

- Dit werd gedaan door de SparkFun-uitvindersgids te volgen die bij de starterkit wordt geleverd. Het stelde me in staat om de basisprincipes van weerstanden, LED's, piëzo-elementen (geluid), detectie en algemene codering met Arduino te leren.

2. Bekijk online doe-het-zelf Arduino-projecten

- Dit was om inspiratie op te doen om creatieve en nuttige elektronica te maken

3. Gebruik de inspiratie om te vinden wat ik wilde maken

- Omdat ik een lui persoon ben, en omdat mijn vrienden bij wie ik volgend semester ga logeren niet zo goed opruimen, heb ik besloten om een automatische prullenbak te maken.

Het oorspronkelijke plan hiervoor kwam met een gesprek met een van mijn peer-mentoren, Bryan Tam, een andere student Computer Engineering. Door hardop met hem te discussiëren over mijn ontwerpen, kreeg ik meer inzicht in het ontwerpproces. Het proces van het nemen van een probleem en het bedenken van een oplossing, hoe onhaalbaar ook, en vervolgens discussiëren over hoe dat project moet worden uitgevoerd. Het leerde me dat ambitie en creativiteit voorop staan bij het ontwerpen in de techniek.

Aanvankelijk wilde ik een prullenbak maken die automatisch zou detecteren wanneer de prullenbak vol was en vervolgens de zak zou sluiten of inpakken. Na onderzoek te hebben gedaan naar mogelijke manieren om dit te ontwerpen, realiseerde ik me dat dit ver uit mijn handen lag. Daarom heb ik het doel enigszins gewijzigd - een prullenbak maken die een sms kan sturen als deze vol is.

Tegen het einde van het semester had ik problemen met het integreren van de WiFi-component om de tekst te verzenden en maakte ik me zorgen, dus dacht ik aan andere alternatieven, zoals een alarmsysteem. Ik keek naar piëzo-elementen om misschien een irritant geluid te maken dat niet zou stoppen totdat de prullenbak is buitengezet. Ook heb ik gekeken naar het gebruik van LED's om verschillende kleuren te maken om het afvalniveau aan te geven.

Om dit te creëren, zijn er twee sensoren nodig: een voor de buitenkant om te voelen wanneer een hand erboven is om te openen, en een aan de binnenkant om het niveau van afval te detecteren. Oorspronkelijk zou alleen de WiFi-module de tekst als alarm verzenden, maar tegen het einde van het semester besloot ik een lampje aan de bovenkant van de prullenbak toe te voegen om dit te ondersteunen.

Dit is het projectontwerp waar ik aan vasthield en tot het einde doorging.

Stap 2: Onderzoek

Om me op deze beproeving voor te bereiden, heb ik meerdere dingen onderzocht.

Eerst doe ik onderzoek naar de algemene manier om Arduino te coderen. Oefenen met de SparkFun-uitvinderskit hielp enorm; me eraan wennen dat ik de pinnen op de Arduino moet aansluiten en hoe ik een breadboard moet gebruiken.

Daarna oefende ik vooral het gebruik van servo's, omdat ik wist dat ik zo het deksel moest bedienen om te draaien. Eerst oefenen met het beheersen van hun timing en vervolgens het gebruik combineren met conditionals, zodat ik kan bepalen wanneer ze worden geactiveerd.

Toen heb ik onderzocht welke sensoren ik moest gebruiken. Er waren twee typen: een ultrasone sensor (HC-SR04) en een infraroodsensor (PIR Motion Sensor). De ultrasone sensor zendt een puls uit die vervolgens wordt teruggekaatst en wordt gelezen door de HC-SR04, waarbij de tijd in dit interval wordt berekend om de afstand tussen de sensor en de locatie van de bounce te bepalen. Ik besloot om de ultrasone sensor voor de binnensensor te gebruiken, omdat het detecteren van afstand nuttiger zou zijn, vooral omdat afval niet veel straling afgeeft. Toen besloot ik dat het gemakkelijker zou zijn om gewoon een HC-SR04 te gebruiken voor zowel de binnen- als de buitensensor.

Toen ik onderzoek deed naar de ESP-8266, heb ik veel geleerd over hoe wifi werkt. Ik leerde over toegangspunten en stationspunten. Ik leerde ook over webservers als een mogelijke optie. Uiteindelijk. De ESP is een eigen board dat geheel los van de Arduino te programmeren is. Het is dus zelfs mogelijk om dit hele project er gewoon mee te maken. Om de ESP te programmeren, heb ik hem op de Arduino aangesloten en GND in de Arduino aangesloten op Reset om hem uit te schakelen en te laten fungeren als een communicator tussen de ESP en de USB-kabel.

Ik heb toen geleerd dat ik de ESP kan laten optreden als een klant die toegang wil krijgen tot of gegevens van een website wil opvragen. Dit wetende, gebruikte ik de IFTTT.com-website om een applet te maken om webhooks te verbinden met sms-berichten in het algemeen, zodat wanneer een gebeurtenis wordt geactiveerd (wanneer een klant gegevens opvraagt van een bepaalde URL, deze een sms zou verzenden).

Een ander ding dat ik onderzocht waren spanningsregelaars, diodes en weerstanden. Er waren weerstanden nodig voor de LED om de LED met de Arduino te verbinden. De diodes en de spanningsregelaars waren mogelijke oplossingen om de ESP-8266 van stroom te voorzien, aangezien er strikt 3,3 V nodig is voor Vcc. De spanningsregelaar was de gemakkelijkste oplossing. Hoewel er een 3.3V-optie op de Arduino is, greep ik het als een kans om meer te leren.

Hierna leerde ik over condensatoren omdat ze nodig zijn voor een functionerende spanningsregelaar. De condensatoren helpen de spanning te egaliseren voor het geval deze te veel "stuitert" of "hik". 2 elektrolytische en 1 keramische condensator is de gebruikelijke opstelling voor spanningsregelaars.

Het grootste deel van het onderzoek probeerde mijn code te debuggen, omdat er veel fouten waren tijdens het maken ervan.

Stap 3: ondervonden moeilijkheden en hoe ik ze heb overwonnen

Een groot deel van de moeilijkheid aan het begin van het semester was gewoon het feit dat ik onervaren was. Ik had er nog nooit over nagedacht om iets te bouwen, dus ik was bang om ofwel te ambitieus ofwel te simpel te zijn. Daarom heb ik het kiezen van een idee zo lang uitgesteld.

Om dit te overwinnen, hielp het zeker om te praten met een senior die ervaring had. Bryan was in staat om mijn ideeën te bekritiseren en me te vertellen welke in de goede richting gingen en welke in de verkeerde richting gingen. Hij hielp me beseffen dat ik rekening moest houden met mijn vaardigheidsniveau, de middelen waartoe ik toegang had en tijdbeheer.

Timemanagement vond ik ook erg moeilijk. Ik weet al dat ik een zwak heb als het gaat om tijdbeheer, vooral omdat dit semester ongelooflijk vol was omdat ik overladen was met 21 studiepunten.

Er waren tijden dat ik mijn werk aan mijn project moest opofferen, maar om dit te boven te komen, besteedde ik in de weekenden minstens een uur aan onderzoek om aan het project te werken, en om de week in de weekenden om naar M5 te gaan om eraan te werken.

Een ander probleem dat ik had, was mijn gebrek aan kennis van veel van de onderdelen. Ik wist niet hoe ze werkten of welke draden waar aangesloten waren. Om dit te verhelpen, leerde ik de waardevolle troef van het online opzoeken van de datasheets, waardoor ik begreep wat de benodigde spanningsingang was en waar VCC, GND en ingangen moesten worden aangesloten. Ik herinner me dat ik specifiek bezig was met het proberen om de servo's aan te sluiten op de bewegingsdetectoren en gefrustreerd was omdat de servo's helemaal niet werkten.

Dit bracht me ertoe om verschillende servo's te proberen, in de hoop dat er iets mis mee was. Ze werkten echter nog steeds niet, wat betekende dat het mijn bedrading of mijn code moest zijn. Ik probeerde toen een externe stroombron te gebruiken door de servo's aan te sluiten op 4 AA-batterijen, omdat ik had gelezen dat de USB op een pc soms niet genoeg spanning geeft om ze van stroom te voorzien. Ten slotte besloot ik gewoon naar de datasheet te kijken en realiseerde ik me dat dit kwam omdat mijn bedrading de hele tijd niet klopte.

Mijn moeilijkste obstakel hierbij was het proberen om de WiFi-component te integreren in de Arduino. Ik zocht veel tutorials online op en het was moeilijk voor mij om de programmering te begrijpen. Een bepaalde website heeft me echter geholpen en me kennis laten maken met IFTTT. Ik geloofde dat ik een overwinning had behaald, maar ik realiseerde me niet dat de borden gescheiden waren en ik had de borden uiteindelijk met een andere code geprogrammeerd. Ik zat een week vast om erachter te komen hoe ik ze moest verbinden, maar internet hielp niet. Om dit obstakel te overwinnen, heb ik uiteindelijk gewoon de hulp van Dr. Malloch gevraagd. Ik ben een erg trots persoon en heb de neiging om dingen alleen te willen doen. Hij had me eerder geholpen, maar het was niet echt een probleem dat ik had, maar eerder een discussie over mogelijke manieren om mijn project te benaderen. Gewoon Dr. Malloch vragen loste meteen de integratie van mijn ESP-8266 op.

Dit project heeft me op mijn plaats gezet en me geholpen te beseffen dat ik meer zou moeten werken en mensen om hulp zou moeten vragen, aangezien engineering geen soloproject is maar een teamdynamiek.

Stap 4: Wijzigingen in M5 om het leerproces te stroomlijnen

Wijzigingen in M5 om het leerproces te stroomlijnen
Wijzigingen in M5 om het leerproces te stroomlijnen

M5 was dit semester een fantastisch hulpmiddel voor mij. Het komt al met veel middelen voor nieuwe ontdekkingsreizigers en doorgewinterde veteranen.

Ik denk dat M5 zou kunnen helpen het leerproces te stroomlijnen door meer workshops te houden over een grotere verscheidenheid aan onderwerpen en door ze meer aangekondigd te maken. Ik had nauwelijks gehoord van de workshops die bij M5 plaatsvonden, en de enige die ik kende waren de soldeerworkshops.

Andere workshops zoals "Hoe te ontwerpen" of "Hoe de 3D-printer te gebruiken" zouden ook nuttig zijn. Misschien hebben ze deze workshops, maar ik heb er nooit over kunnen horen.

Stap 5: Wat ik uiteindelijk heb bereikt

Ik heb een automatische prullenbak kunnen maken

Maar nog belangrijker, ik leerde het belang van timemanagement, het bouwen van circuits en het gebruik van elektronische onderdelen. Ik leerde over Arduino, golven en sensing, weerstanden, breadboards, WiFi, de ESP-8266, webservers, spanningsregelaars, diodes, enz. Ik kon precies bereiken wat ik in gedachten had. Inzicht verwerven in een hands-on niveau over elektronica en circuits.

Het wakkerde ook een creatief vuur in mij aan omdat het maken van dit project, hoewel soms erg frustrerend, erg leuk en lonend was om te doen. Eindelijk begrijpen hoe een onderdeel werkt of de code laten werken zoals ik wilde, was de uren van aanpassingen en wijzigingen die ik moest doen waard. Het heeft me geholpen te begrijpen dat dit is wat ik wilde doen. Aan het begin van het semester aarzelde ik over elektrotechniek en computertechniek, omdat ik er geen ervaring mee had om te weten of ik het leuk vond of niet. Zoals hoe iemand niet weet of hij een sport, videogame of hobby leuk vindt, tenzij hij het probeert.

Mijn grootste prestatie hiervan was dat ik vol vertrouwen kon zeggen dat ik door wilde gaan met Electrical and Computer Engineering.

Stap 6: Hoe iemand anders in mijn voetsporen kan treden

Als iemand zich in dezelfde situatie bevindt waarin ik me aan het begin van het semester bevond, raad ik aan dezelfde stappen te volgen die ik heb beschreven in "Originele plannen en voortgang". Dat heeft me echt geholpen om langzaam uit te zoeken waar ik in geïnteresseerd was en wat ik kon doen.

Specifiek, voor dit project, zal ik hieronder beschrijven hoe je er een kunt maken.

Stap 1: Ga naar IFTTT.com, registreer uw telefoonnummer en maak vervolgens een applet. Kies de "als" om webhooks te zijn en de "dat" om sms te zijn. Zodra het is gemaakt, zoekt u naar Maker Webhooks in het zoekvak en klikt u op documentatie. Vul de informatie in met uw eigen evenementnaam en kopieer de URL. Dit is de URL die u gebruikt voor de ESP-8266-code die u onderaan vindt.

Stap 1: Sluit de ESP-8266 als zodanig aan:

RXD -> RX

TXD -> TX

VCC -> VCC

CH_PD VCC

GPIO0 -> GND

GND -> GND

Verbind vervolgens de GND op de Arduino met de Reset erop om deze uit te schakelen.

Stap 2: Voer de code onderaan in en upload deze naar de ESP-8266 (download eerst het esp-8266-bord op de IDE). Koppel vervolgens de ESP-8266 los.

Stap 3: Sluit servo's aan op pin 8 en pin 9 op de Arduino

Stap 4: Sluit de eerste HC-SR04-sensor aan op pinnen 10 en 13 (respectievelijk voor trig en echo). Sluit vervolgens de tweede aan op pinnen 11 en 12 (opnieuw voor respectievelijk trig en echo).

Stap 5: Sluit de RGB-led aan op pinnen 4 (rood), 5 (groen) en 6 (blauw).

Stap 6: Verbind GPIO2 met pin 2

Stap 7: Voer de code onderaan in (ECE_297_DP) en upload deze naar de Arduino.

Stap 8: Zoek een oude gerecyclede bierdoos en een stuk karton voor het deksel. Heet lijm de ijslollystokjes aan de servo's en lijm vervolgens de servo's aan elke kant aan de binnenkant van de bot. Plak het deksel op de ijslollystokjes. Plak de twee sensoren op het deksel (de binnenkant detecteert het afval (pinnen 11 en 12) en de buitenkant detecteert beweging (pinnen 10 en 13). Plak vervolgens de LED op de bovenkant van het deksel. En plak de bedrading achter de doos vast om de lelijke bedrading te verbergen.

Stap 7: Wat ik hierna zou doen?

Vooruitlopend op het project had ik enkele ideeën om naast de LED een geluidsalarm te implementeren. Omdat ik de ESP-8266 aan het werk kreeg, besloot ik dat niet te doen. Als ik echter verder zou gaan, zou het interessant zijn om er een toe te voegen en de mensen te irriteren om de vuilnis buiten te zetten.

Ik had ook graag aan een meer definitief project willen werken, omdat dit meestal een proof of concept-project is. Als ik vooruit zou gaan, zou ik een echte vuilnisbak of een zwaardere plastic container hebben gebruikt. Bovendien had ik graag efficiënter willen zijn met de bedrading, omdat het erg rommelig is.

Een alternatief voor de ESP-8266 waar ik naar aan het kijken was, terwijl ik me zorgen maakte over het niet kunnen integreren ervan, was het gebruik van een Bluetooth-module. Mijn vriend Sean had me verteld dat hij in het verleden een project had gemaakt waarbij hij gegevens van zijn project naar zijn telefoon moest sturen en een Bluetooth-module moest gebruiken. Hij zei dat het relatief eenvoudig was. Ik kreeg de wifi-module echter aan het werk voordat ik er serieus speurwerk in deed. Ik denk dat het interessant zou zijn om te zien waar dat pad mij zou hebben geleid.

Anders dan dat, had ik graag het onderdeel "automatische vuilniszakverpakking" geïmplementeerd, maar dat is op dit moment nog steeds buiten mijn bereik. Misschien zal ik in de toekomst dit project opnieuw bekijken en proberen het efficiënter te maken.

Aanbevolen: