Inhoudsopgave:

Plantagotchi! Slimme plantenbak: 8 stappen (met afbeeldingen)
Plantagotchi! Slimme plantenbak: 8 stappen (met afbeeldingen)

Video: Plantagotchi! Slimme plantenbak: 8 stappen (met afbeeldingen)

Video: Plantagotchi! Slimme plantenbak: 8 stappen (met afbeeldingen)
Video: World Champion Boxer Tony Bellew Tells his story 2024, November
Anonim
Plantagotchi! Slimme plantenbak
Plantagotchi! Slimme plantenbak
Plantagotchi! Slimme plantenbak
Plantagotchi! Slimme plantenbak

Plantagotchi sterft af, zodat uw plant dat niet hoeft te doen.

Sinds kort ben ik de trotse eigenaar van een nieuwe kamerplant (genaamd Chester) en ik wil heel graag dat hij een lang en gezond leven krijgt. Helaas heb ik geen groene vingers. Ik was er meteen van overtuigd dat ik Chester naar een vroeg graf zou sturen als ik geen hulp zou krijgen. Hij zag er al een beetje treurig uit toen ik hem kreeg.

Zo kwam ik op Plantagotchi - een slimme plantenbak die je laat weten wanneer je een nalatige plantenouder bent. Plantagotchi verandert uw plant in een cyborg die feedback geeft wanneer niet aan zijn behoeften wordt voldaan. Als het niet genoeg zonlicht of water krijgt, sterft het (zijn ogen draaien naar Xs). Zo maak je het goed met je plant voordat het te laat is!

Let op: dit is een deelname aan de Planter Challenge en ik heb Tinkercad gebruikt in mijn ontwerp.

Stap 1: Ontwerpinspiratie en functionaliteit

Ontwerpinspiratie en functionaliteit
Ontwerpinspiratie en functionaliteit
Ontwerpinspiratie en functionaliteit
Ontwerpinspiratie en functionaliteit
Ontwerpinspiratie en functionaliteit
Ontwerpinspiratie en functionaliteit

Terwijl ik Plantagotchi droomde, stelde ik me een kruising voor tussen een Tamagotchi (het digitale huisdier uit de jaren 90 dat onmogelijk in leven te houden was), en Anana (een antropomorfe ananas uit de low-budget Canadese Franse educatieve show uit de jaren 80 - Téléfrancais!)

Op het meest basale niveau begreep ik dat mijn plant twee dingen nodig had om te overleven: water en licht. Zo heeft Plantagotchi een watersensor en een lichtsensor. Als de plant langere tijd geen licht krijgt, of als het water opdroogt, gaan de ogen van de Plantagotchi naar Xs.

Overdag kijken Plantagotchi's ogen de kamer rond. Als het donker wordt, worden ze gesloten (zie video in intro). Dit geeft het een beetje persoonlijkheid!

Stap 2: Benodigdheden verzamelen

Benodigdheden verzamelen
Benodigdheden verzamelen
Benodigdheden verzamelen
Benodigdheden verzamelen

Dit is geen moeilijk project; ik raad het echter niet aan voor een absolute beginner om de volgende redenen:

  • U moet de TFT-schermen solderen
  • U moet zich op uw gemak voelen bij het installeren en oplossen van problemen met Arduino-bibliotheken
  • Als u het oogontwerp wilt aanpassen, moet u een Python-programma uitvoeren op de opdrachtregel.

…Als dit allemaal goed klinkt - laten we beginnen!!

De ogen zijn gebaseerd op een geweldige tutorial van Adafruit: Electronic Animated Eyes met Teensy. Ik heb wijzigingen aangebracht om dit project aan te passen, maar de originele tutorial heeft veel uitstekende bronnen en tips voor het oplossen van problemen voor het geval de schermen niet goed werken.

Benodigdheden voor de ogen & sensoren:

  1. 2 kleine TFT-schermen
  2. Teensy 3.1 of 3.2 microcontroller
  3. Draad
  4. Fotoweerstand
  5. 10K Ohm weerstand
  6. 2 kleine gegalvaniseerde nagels
  7. 2 krokodillenklemmen (optioneel)
  8. Een beetje een spons
  9. Breadboard
  10. Draadsnijders
  11. Elektriciens tape
  12. 3D-geprint hoesje voor de ogen

Benodigdheden om te solderen

  1. Soldeerbout
  2. Soldeer
  3. Soldeerlont (voor het geval je een fout maakt)

Benodigdheden voor de plantenbak:

  1. Groot koffieblik
  2. Harde snoepdoos om de microcontroller in te huisvesten (ik gebruikte een pakje Excel-mints)
  3. Acrylverf
  4. Penseel
  5. Schaar
  6. Spijker & hamer voor het ponsen van gaten
  7. Masking tape (optioneel - niet afgebeeld)
  8. Sapdoos (optioneel - niet afgebeeld)
  9. Lijmpistool (optioneel)
  10. Aluminiumfolie voor decoratie (optioneel - niet afgebeeld)

Stap 3: De ogen laten werken

De ogen aan het werk krijgen
De ogen aan het werk krijgen
De ogen aan het werk krijgen
De ogen aan het werk krijgen
De ogen aan het werk krijgen
De ogen aan het werk krijgen

Zoals eerder vermeld, heb ik deze Adafruit-tutorial gevolgd om de ogen in eerste instantie op te zetten.

De Adafruit-tutorial heeft meer diepgaande instructies dan ik hier kan behandelen. Ik zal de algemene instructies samenvatten en de uitdagingen benadrukken die ik heb ervaren.

1. Soldeer draden naar het scherm. U moet draden aansluiten op de volgende pinnen:

  • VIN
  • GND
  • SCK
  • SI
  • TCS
  • RST
  • D/D

Uitdaging - Ik heb meteen headers op mijn scherm gesoldeerd voor breadboarding, maar dan pasten ze niet in de 3D-geprinte behuizing. Dit betekende dat ik ze moest verwijderen en opnieuw op draden moest solderen. Sla deze frustratie over door in de eerste plaats draden te gebruiken in plaats van headers.

2) Installeer de Teensyduino-bibliotheekUitdaging - laat het installatieprogramma geen Adafruit-bibliotheken opnemen wanneer u het installatieproces doorloopt. Deze bibliotheken zijn verouderd en zullen ervoor zorgen dat uw code fouten genereert.

3) Test de TeensyUpload een eenvoudige knipperschets om te zien of je Teensyduino-installatie succesvol was.

4) Installeer de grafische bibliotheken in de Arduino ID. Je hebt de Adafruit_GFX-bibliotheek en de Adafruit_ST7735-bibliotheek nodig

5) Sluit het scherm aan op de Teensy met behulp van een breadboard Sluit uw draden als volgt aan op de Teensy (klik hier voor een kaart van Teensy's pinnen)

  • VIN - USB
  • GND - GND
  • SCK - SPI CLK
  • SI - SPI MOSI
  • TCS - Pin 9 (linkeroog) of 10 (rechteroog)
  • RST - Pin 8
  • Gelijkstroom - Pin 7

6) Upload het "uncanny eyes"-bestand naar de Teensy. Het is het beste om te beginnen met de originele code uit de Adafruit-zelfstudie, in plaats van mijn aangepaste versie, omdat de mijne mogelijk alleen Xs toont in plaats van ogen als er geen sensoren zijn.

Uitdaging -Breadboarden met TFT-schermen kan lastig zijn omdat ze erg gevoelig zijn. Als de ongesoldeerde draden überhaupt zouden schudden, zou ik een wit scherm krijgen totdat ik de schets opnieuw laadde. Het solderen van de verbindingen loste deze uitdaging voor mij op.

Stap 4: Het oogontwerp aanpassen

De standaard ogen die bij deze bibliotheek worden geleverd, zijn zeer realistisch. Ze voelden zich echter te griezelig voor dit project - ik wilde meer iets als een googly eye.

Om uw eigen aangepaste oog te maken, wijzigt u de png-bestanden die zijn opgeslagen in de "convert"-map in de coderepository. U kunt dit vervolgens omzetten in een nieuwe bitmap door het script tablegen.py in de repository uit te voeren.

Dit is het commando dat u moet uitvoeren om de nieuwe bitmap te genereren (merk op dat u Python* en verschillende pakketten, waaronder PImage, nodig hebt om dit correct te laten werken).

python tablegen.py defaultEye/sclera-p.webp

Nadat u het script hebt uitgevoerd, zou een nieuw.h-bestand moeten verschijnen. Sleep dit bestand eenvoudig naar dezelfde map als het bestand uncannyEyes.ino en wijzig vervolgens de sectie #include in de Arduino-code zodat het weet dat het naar uw nieuw gegenereerde.h-bestand moet zoeken. Wanneer u de code uploadt naar de Teensy, moeten uw schermen uw gloednieuwe oogontwerp weergeven.

*Merk op dat het tablegen.py-bestand uit de Adafruit-tutorial alleen werkt op Python 2. De versie die ik hierboven heb geüpload, werkt met Python 3.

Stap 5: 3D printen

3d printen
3d printen
3d printen
3d printen
3d printen
3d printen

Ik had nog nooit 3D geprint, dus dit was erg spannend!

Ik wilde oorspronkelijk een hele pot printen met uitsparingen voor de ogen en de microcontroller, maar ik was niet zeker van de logistiek om iets van dit formaat te printen. Ik besloot in plaats daarvan klein te beginnen door een aangepaste versie van de 3D-geprinte behuizing te gebruiken die wordt aangeboden in de Adafruit-tutorial. Het was goedkoper om af te drukken en zou in de toekomst opnieuw kunnen worden gebruikt in andere projecten.

Ik ging ervan uit dat het aanpassen van de 3D-geprinte behuizing het moeilijkste deel van dit project zou zijn, maar het bleek belachelijk eenvoudig te zijn. Ik gebruikte Tinkercad en het onboardingproces duurde maar een paar minuten.

Na een paar minuten spelen gekke ontwerpen te hebben gemaakt (voor toekomstige projecten). Ik heb het.stl-bestand van Adafruit geüpload en vervolgens een inzet toegevoegd om het te helpen opstaan in het vuil. Ik moest gewoon een rechthoekige vorm naar het ontwerp slepen en neerzetten en het formaat wijzigen. Eenvoudig! Het was in een mum van tijd klaar om te printen.

Dit proces was echter niet geheel zonder menselijke fouten - ik heb per ongeluk het verkeerde bestand naar de drukkerij gestuurd en eindigde met alleen "voor" -stukken (twee met de rechthoekige staak inbegrepen, twee zonder), en geen gesloten achterstuk. Dit werkte echter goed, de extra voorstukken konden ook dienst doen als achterkant, en het extra grote gat maakte het gemakkelijker om de draden door te laten (een toevallige overwinning!)

Het 3D-geprinte ontwerp van Adafruit had ook ruimte om een ronde plastic kraal bovenop te plaatsen om de ogen er realistischer uit te laten zien. Ik besloot na het afdrukken dat ik dit niet wilde opnemen omdat het grensde aan Uncanny Valley, dus ik bedekte de gaten die aan de zijkant van het scherm achterbleven met elektricienstape. De tape helpt ook om mijn componenten te beschermen tegen vocht. Toegegeven, elektricienstape is geen oplossing voor de lange termijn. Als ik dit project opnieuw zou doen, zou ik mijn 3D-componenten aanpassen aan mijn ontwerp.

Ik heb mijn aangepaste versie van de 3D-behuizing hieronder bijgevoegd. De originelen zijn te vinden via deze link.

Stap 6: Sensoren toevoegen en de microcontroller huisvesten

Sensoren toevoegen en de microcontroller onderbrengen
Sensoren toevoegen en de microcontroller onderbrengen
Sensoren toevoegen en de microcontroller onderbrengen
Sensoren toevoegen en de microcontroller onderbrengen
Sensoren toevoegen en de microcontroller onderbrengen
Sensoren toevoegen en de microcontroller onderbrengen

Licht sensor

Ik volgde een diagram van de website van Adafruit om de fotoresistor aan te sluiten op pin A3 op de microcontroller.

In de code, wanneer de waarde van de fotoresistorsensor onder een drempel ligt, gaat de Plantagotchi naar de slaapmodus. Het is ogen dicht, en een timer begint. Als de timer 24 uur doorgaat zonder onderbroken te worden, draaien de ogen van de Plantagotchi naar Xs om aan te geven dat hij wat licht nodig heeft.

Let op: planten hebben natuurlijk licht nodig om te gedijen, maar de Photoresistor is gevoelig voor zowel natuurlijk als kunstlicht. Het is daarom belangrijk om de Plantagotchi zo te plaatsen dat deze sensor niet naar een binnenlichtbron is gericht.

Watersensor

Ik las dat watersensoren gemakkelijk roesten, dus besloot ik om hiervoor super DIY te gaan, zodat het gemakkelijk kon worden vervangen. Ik bevestigde krokodillenklemmen aan twee draden en verbond de ene met aarde en de andere met pin A0. Als A0 niet is verbonden met aarde, neemt het meestal waarden op rond 50-150, zodra ik het op aarde aansluit, dalen de waarden tot 1. Ik gebruikte alligators om twee gegalvaniseerde spijkers vast te houden, die ik dicht bij elkaar plakte met een stuk van spons. De volgorde is als volgt:

(Grond -----Nail1 [vast in spons] Nail2<------ A0)

Bromelia's slaan water op in kopjes die zich vormen in de basis van hun bladeren (zie foto). Wanneer de spons nat is van het water in deze kopjes, houden de twee draden een verbinding en blijft de A0-sensorwaarde laag. Zodra de spons echter is opgedroogd, wordt de verbinding verbroken en neemt de invoerwaarde toe. Dit zorgt ervoor dat de ogen van de Plantagotchi naar Xs gaan.

Behuizingscomponenten

Om mijn componenten te beschermen, gebruikte ik een pakket pepermuntjes dat perfect bij mijn tiener paste, het had zelfs een deksel met een gat met de juiste maat voor de draden. Ik wikkelde het pakket in elektrische tape zodat het op de ogen zou lijken.

Uiteindelijk heb ik de sensordraden ook omwikkeld met zwarte tape omdat het de draden bij elkaar hield en ze gemakkelijker te verplaatsen waren. Als ik dit project opnieuw zou doen, zou ik zeker investeren in wat Heat Shrink en minder op tape vertrouwen.

Stap 7: Versier een pot en voeg een plek toe voor de microcontroller

Versier een pot en voeg een plek toe voor de microcontroller
Versier een pot en voeg een plek toe voor de microcontroller
Versier een pot en voeg een plek toe voor de microcontroller
Versier een pot en voeg een plek toe voor de microcontroller
Versier een pot en voeg een plek toe voor de microcontroller
Versier een pot en voeg een plek toe voor de microcontroller

Omdat ik meer geld had uitgegeven aan componenten en 3D-printen, dat wil ik toegeven, wilde ik de pot zo goedkoop mogelijk maken.

Ik heb een koffieblik gerecycled dat perfect paste bij de grootte van de pot van mijn plant (hoewel ik de lip een beetje moest inslaan zodat het erin kon passen). Voordat ik de pot decoreerde, spijkerde ik enkele gaten in de bodem voor het geval het ooit te veel water zou krijgen.

Omdat ik mijn elektronica enigszins verwijderd wilde houden van de planter (water + elektronica = niet altijd een goed idee), sneed ik een sapdoos uit en plakte deze aan de achterkant van het blik om de componenten vast te houden. Hierdoor blijven ze droog en kan ik ze gemakkelijk verwijderen wanneer dat nodig is.

Ik vond het niet leuk hoe de juicebox aan de achterkant uitstak, dus gebruikte ik plakband om het een beetje vorm te geven. Vervolgens heb ik het geheel geverfd met acrylverf. Ter decoratie heb ik een streep zilver op het blik gelaten, en deze op de sapdoos nagebootst met een klein strookje aluminiumfolie. Ten slotte heb ik een streep toegevoegd met zwarte elektricienstape … want waarom niet!

Stap 8: Samenvoegen en volgende stappen

Eerste prijs in de Planter Challenge

Aanbevolen: