A Birdhouse With Defense-Mechanisms

by reinderstwan in Outside > Backyard

166 Views, 0 Favorites, 0 Comments

A Birdhouse With Defense-Mechanisms

20230213_104013.jpg
20230213_105024.jpg

Welkom!

In deze Instructable neem ik jullie mee door het proces van het maken van een vogelhuis dat z'n bewoners beschermt tegen nieuwsgierige katten of mensen die een kijkje willen nemen naar de binnenkant.

Toen ik begon aan dit project probeerde ik inspiratie te halen uit maatschappelijke issues die in m'n hoofd spelen. Zo wilde ik een tool maken voor dove mensen die ze leert zingen (afbeelding 1), maar ben ik uiteindelijk geland op een verdedigd vogelhuis (afbeelding 2).

Rondlopende katten zijn namelijk een groeiend probleem voor de vogelbevolking. Steden zijn namelijk de perfecte plek voor vogels om uit te rusten tijdens hun migratie, maar omdat dusdanig veel roekeloze eigenaren van katten hun huisdieren los rond laten lopen zijn deze plekken helemaal niet meer zo veilig. Daarom dat ik een product wilde ontwikkelen dat vogels ook tegen dit soort bedreigingen beschermt.

Ik had bepaald dat het vogelhuis op de volgende manier werkt:

Er zijn 2 delen aan het vogelhuis. Één deel waarin de vogels werkelijk nestelen, en een ander deel waar de electronica zit. Het vogelhuis beschermt zichzelf door een verandering in lichtintensiteit te meten. Deze verandering is heel hoog wanneer iemand bijvoorbeeld het dak van het vogelhuis probeert te tillen. Deze lichtverandering triggert een servomotor om een deoflesje in te drukken en te spuiten op een te nieuwschierig slachtoffer.

Supplies

Knipsel.PNG
6221_1_high_7_.jpg
2831-00.jpg
  • 1 Arduino Uno + USB kabel
  • 1 Printplaatje
  • 2 9V batterij clips, waarvan 1 met een 5,5mm jack
  • 2 9V batterijen
  • 1 Servomotor 996R (! Haal specifiek dit model)
  • 1 phototransistor
  • 1 100μF condensator
  • 1 1kOhm resistor
  • elektrische draad
  • rood voor de +/anodes
  • zwart voor de -/kathodes
  • groen voor signaal voor sensoren en actuatoren
  • 1 lijmpistool met lijmpatronen
  • 1 mini deobusje, ik gebruik de niveau mini busjes (zie de afbeelding)


  • Soldeermateriaal
  • Soldeerbout
  • Soldeer
  • Afzuiging
  • Kniptang
  • Striptang

Voor het samenstellen van het vogelhuis heb ik gebruik gemaakt van 4mm MDF-hout en een lasercutter. De lasercutter die heb je denk ik zo niet thuis liggen, maar later in deze instructie zal duidelijk worden dat het geen lastige template is, dit valt dus ook met een (figuur)zaag te doen.

*De verschillende kleuren draad zijn alleen nodig om de draden beter van elkaar te kunnen onderscheiden.

Proces: Bekend Raken Met De Apparatuur

20230222_155538.jpg

Voordat ik aan de slag ging met dit project wilde ik oefenen met de electronica die ik wilde gebruiken. Ik had namelijk nog niet eerder gewerkt met phototransistors of servomotors. Daarom raad ik jullie aan eerst de onderstaande tutorials te volgen. In het filmpje zien jullie hoe verrast ik zelf was toen ik de elctronica onder de knie had.


De Arduino Mood Cue, voor de servo motor

https://www.youtube.com/watch?v=ybG6TLamn_I


De Arduino Light Theremin, voor de phototransistor

https://www.youtube.com/watch?v=DnD92Q_Kpac

Proces: Het Eerste Prototype

20230419_103037.jpg
20230421_090514.jpg

Na geoefend hebben met de electronica heb ik het eerste prototype gemaakt. Ik maakte hier al gebruik van een stuk code waarmee de servo op hoge lichtintensiteit de ene kant op stond, en op lage intensiteit een andere kant op stond. De code die ik hier gebruikte was nog heel anders dan in het eindproduct, dus om verwarring te voorkomen laat ik die even achterwege.

Mijn voornaamste struikelpunt was de mechaniek. Ik moest namelijk iets hebben dat sterk genoeg was om een deobus in te drukken (want dit is lastiger dan dat het lijkt), en mijn servo die ik toentertijd had was niet sterk genoeg.

Door gebruik te maken van tandwielen probeerde ik verschillende manieren uit om de juiste beweging te krijgen. Ik besloot, na advies van mijn docent, echter om een nieuwe servo te kopen. Een met metalen tandwielen (degene die ik heb aanbevolen in de benodigdheden) die in staat is om meer kracht te leveren.

In het filmpje zien jullie de echte eerste voorstelling van het product.

De Electronica

20230508_154304.jpg
Schema_schema.jpg

Oke, en nu het echte werk! Wil jij ook aan de slag gaan met een kat-proof vogelhuisje maken? Dan ga ik hier uitleggen hoe je dat precies moet doen.

In dit deel ga ik het hebben over de electronica. Naast het overduidelijke: De plusjes met de minnetjes verbinden, zijn er nog een aantal dingen waarmee je rekening moet houden. Daarbij ga ik ook nog uitleggen welke functie sommige onderdelen hebben. Kijk in ieder geval ten alle tijden naar het schema dat ik heb bijgevoegd.

Phototransistor

  • Phototransistor
  • 1 kOhm resistor
  • rode, zwarte, en groene elektrische draad

We beginnen met de phototransistor. De phototransistor is simpelweg het onderdeel dat de lichtintensiteit meet. Het is een onderdeel dat stroom en een elektrisch signaal opwekt onder invloed van licht.

Het circuit zelf is vrij simpel. Je verbindt de 5V van het Arduino bord met de anode (+ kant), vervolgens soldeer je de kathode (- kant) op het printplaatje. Vanuit de verbinding met de kathode soldeer je een draadje dat je aansluit op de A0 pin van het Arduino bord, dit is waar het signaal naar toe gaat. Aan deze verbinding naar de A0 soldeer je een nieuw draadje dat vervolgens naar de Ground van het Arduino bord gaat. Het is erg van belang dat je de verbinding naar de A0 vóór de resistor zet, ander krijgt de Arduino geen signaal (deze fout heb ik namelijk eerst gemaakt, dus ik waarschuw je).Ik weet niet precies wat de resistor doet, want ik ben geen meester in electronica, maar de Arduino tutorial deed het dus ik ook.

Servo

  • Servo 996R
  • 9V batterij clip
  • 1 100μF condensator
  • rode, zwarte, en groene elektrische draad

Een servomotor is een motor die in staat is om op basis van een signaal tussen een bereik van 180 graden te bewegen. De servo die wij gebruiken kan ook behoorlijk wat kracht leveren. Het werkt in principe vrij simpel, maar er zijn een aantal dingen waar je rekening mee moet houden.

Ten eerste is het van belang dat je de servo op een externe spanningsbron aansluit, dit zal een 9V batterij zijn. De servo heeft namelijk een eigenschap dat als hij mechanische weerstand ervaart, hij veel stroom gaat trekken uit het circuit. Dit is veilig bij een batterij, maar dit kan erg gevaarlijk zijn voor je Arduino bord.

Ten tweede maken we gebruik van een condensator. Een condensator werkt als een soort van batterij die tijdelijk een lading opslaat. Waar een batterij erg langzaam is met spanning vrijgeven is een condensator erg snel. De condensator zorgt ervoor dat de elektrische energie in een circuit gelijk blijft. Omdat een servo veel energie gebruikt is een condensator een handig component om te gebruiken om het gebruik van de servo consistent te houden.

Tenslotte verbind je de kathode van de servo niet alleen aan de - kant van de batterij, maar ook aan de ground van het bord. Om een signaal te gebruiken vanuit de Arduino moet je actuator (de servo) ook aan het bord verbonden zijn met de Ground.

De verbindingen zien er als volgt uit: Soldeer zowel de + als de - kant van de servo aan het printplaatje. Zorg er hierbij voor dat niets verbinding maakt met het andere circuit. De + en - kant mogen elkaar ook niet raken. Soldeer aan de - kant ook een draad die naar de Ground van de Arduino. Vervolgens soldeer je de batterij clip aan het printplaatje vast. Opnieuw, + aan +, - aan -. Zorg ervoor dat de verbinding tussen de - kant de Ground tussen de verbindingen aan de servo en de batterijclip zit. Tenslotte komt de condensator. Soldeer de + kant van de condensator naast de verbinding met de + kant van de batterijclip, doe hetzelfde voor de - kant. Je kan de - kant herkennen aan de grijze strip. Pas op! Zorg ervoor dat je zeker de - aan de - hebt zitten! Voor andere componenten maakt dit minder uit, maar een condensator kan anders ontploffen :).

Dan heeft de servo zelf nog een leuk 3e draadje, en deze is gelukkig erg simpel. Deze kan je namelijk direct in pin 9 stoppen. We gebruiken pin 9 omdat deze in staat is om PWM (Pulse Width Modulation) te gebruiken, hiermee kan je een grotere schaal aan waardes geven naast alleen 0 en 1.


Dat is alles! Je electronica is klaar om aangestuurd te worden met code.

De Code

Het principe van deze code is dat de phototransistor de verandering in lichtintensiteit meet. Oftewel, als het dak open gaat. Ik heb de code uitgebreider uitgelegd in comments in de code zelf. Je kan daarom de code hier lezen, maar het wordt wellicht meer leesbaar als je het meteen in de Arduino IDE gooit.

//Met dit deel importeer je als het ware de bibliotheek aan functies die Arduino heeft voor het gebruik van servos
#include <Servo.h>

//hieronder initieer je de servo voor gebruik
//de timer gebruiken we voor het indrukken van de servo
//de bool zien we ook later terug voor het indrukken

Servo myServo;
int servoTimer = 0;
bool isPressing = false;

//in de onderstaande int sla je de lichtintensiteit op
int brightness;

//in deze int wordt de verandering van de lichtintensiteit opgeslagen
//bright 1 en 2 zijn de lichtintensiteit op bepaalde tijdsintervallen. Dezen gebruiken we om deltaBrightness uit te rekenen
int deltaBrightness;
int bright1;
int bright2;

//deze timer gebruiken we als tijdafstand om de verandering in lichtintensiteit te meten
int timer = 0;


void setup(){
 
 //met attach() vertel je de Arduino in welke pin je Arduino zit
 myServo.attach(9);
 //we gebruiken write() om de servo te zeggen op hoeveel graden die moet staan, we zetten hem nu op 80.
 myServo.write(80);  
}

void loop(){

 //calcbrightness is de functie die we gebruiken om de verandering in lichtintensiteit te meten
 //voor meer uitleg kan je de functie zelf onderaan de code vinden
 calcBrightness();
 
 //hier meet je de phototransistor af
 brightness = analogRead(A0);

//als de verandering hoog is en de intensiteit dus omhoog gaat gebeurt er het volgende:
//de bool gaat op true staan, dit activeert te timer van de servo
//de timer zelf wordt op 0 gezet
//de servo drukt de deo in
 if(deltaBrightness >= 50){
  isPressing = true;
  servoTimer = 0;
  myServo.write(0);
 }

 //als de bool op true staat wordt de timer geactiveert
 if(isPressing = true){
  servoTimer++;
 }
 
 //als de timer op 100 staat zetten we de timer stop en zetten we de servo terug op de gewone stand
 if(servoTimer >= 100){
  isPressing = false;
  myServo.write(80);
 }

}

//in de functie is er een timer die constant loopt en zichzelf herhaalt.
//als de timer op 1 staat slaat hij bright1 op, en als hij op 100 staat bright 2, daarna begint de timer opnieuw.
//vervolgens wordt de verandering in lichtintensiteit uitgerekend.
void calcBrightness(){
 if(timer == 1){
  bright1 = brightness;
 }
 if(timer == 100){
  bright2 = brightness;
  deltaBrightness = bright2 - bright1;
  
  timer = 0;
 }
 timer++;
}


Als je deze code upload naar je Arduino kan je het al testen! Sluit de servo aan op een 9V batterij. De Arduino zelf kan je ook op een 9V batterij aansluiten, maar je kan hem ook nog aan de laptop overlaten.

Als je nu je hand boven de lichtsensor haalt en hem weghaalt zal de servo 80 graden draaien!

De Behuizing

Vogelhuis.jpg
20230508_160918.jpg
20230519_184324.jpg

De behuizing is iets waar ik je uiteindelijk veel vrijheid aan wil geven. Ik heb er zelf een vrij simpel vogelhuis van gemaakt, maar mocht je er zelf andere decoratieve elementen of vormen aan toe willen voegen dan heb je die vrijheid.

Er zijn 3 harde regels waar je je echter aan moet houden.

  1. Tussen het deel waar de electronica in zit en waar de vogels in komen moet een 4mm gat zitten, hier past de phototransistor perfect in.
  2. Het deel waar de deo uit komt moet een gat groot genoeg hebben voor de deo, maar er mogen absoluut geen vogels in kunnen.
  3. De daken moeten verwijderbaar zijn. Je moet namelijk bij de electronica kunnen, maar mocht je vogelhuis leeg zijn moet je het ook kunnen schoonmaken.

Het voordeel van deze behuizing is dat je alle electronica simpelweg in het zijhuisje kan leggen, zonder na te hoeven denken over het wegwerken of monteren. In de bijlage vind je een DXF bestand van het vogelhuisje dat ik heb gemaakt. Dit soort bestand is makkelijk te importeren naar een lasercutter.

Je zou kunnen zeggen "Maar waarom schroef je het dak niet gewoon vast, dan kan er toch geen kat in?" Nou, beste lezer, dat zou erg saai zijn! En zouden de katten een lesje leren als er géén deo op ze wordt gespoten?

Ook kan ik diep inhoudelijk ingaan op hoe je het vogelhuis in elkaar moet zetten, maar... het zijn 6 wanden. De voor en achterkanten die spreken voor zich. Dan is er 1 plank die groter is dan alle andere planken en dat dient als de onderkant. De heb je een plank met een gaatje erin. Dit is de tussenwand, in het gaatje komt de phototransistor. Vervolgens heb je 2 planken die kleiner zijn dan de rest, en 2 lange, dunne latjes. Dit zijn de daken en de latjes die de daken erop houden. Het is de bedoeling dat je zo'n latje ongeveer een centimeter van de lange kant haaks op het dak plaatst. Zo heb je een dak dat je er schuin op kan leggen zonder dat het er van af schuift.

Ik heb zelf simpelweg een lijmpistool gebruikt om de delen samen te lijmen, maar mocht je kerven toe willen voegen aan jouw ontwerp houd er dan rekening mee dat je 4mm aan elke kant behalve de bovenkant toevoegd. Bovenaan vinden jullie een schets van de componenten van het vogelhuis, en zien jullie waar de wanden moeten komen te zitten.

Tenslotte moet je de servo vastlijmen aan de binnenwand. Ik raad je aan dit te doen vóór je de linker zijwand toevoegt. Waar de servo moet komen te hangen staat niet vast. Mocht je namelijk een andere deo bus willen gebruiken dan kan het zijn dat die op een andere plek ingedrukt moet worden. In mijn geval heb ik een Nivea mini busje gebruikt. Daarvan zit het spuitgat ongeveer 8cm hoog, en daar is het vogelhuis ook op afgestemd. Houd de servo met één hand vast en test met je andere hand de Arduino. Als het goed is gaat je servo nu bewegen, en kan je testen wat de beste plek is om hem op te hangen. De servo kan je gelukkig gewoon vastlijmen met het lijmpistool, dat is niet schadelijk.

Verder heb ik niet veel te zeggen over de behuizing. Je kan mijn template overnemen, maar ik moedig je vooral aan om plezier te hebben en er iets moois van te maken!

Downloads

Het Eindproduct

20230522_084618.jpg
20230522_084623.jpg
20230522_084615.jpg

Dat was het al bijna! Je hebt de electronica om de mechanische beweging voor elkaar te krijgen. Je hebt de code die je informatie opvangt en de electronica stuurt, en je hebt de behuizing die alles een mooi plekje geeft!

In de bijlage zie je een korte demonstratie van mijn eindproduct.

Zet je vogelhuis neer op een gezellig plekje voor de vogels, en laat die katten een poepie ruiken!

Reflectie

Context: Ik ben een student in zijn eerste jaar aan de HKU waar ik Game Art studeer. Voor dit project kregen wij de opdracht om een interactief product te ontwikkelen dat een reactie geeft op basis van een input.

In dit project ben ik tegen veel nieuwe muren aangelopen, maar geen met tegenzin. Ik heb namelijk wel eens gecodeerd, maar niet op een manier die gepaard gaat met electronica. Ik heb wel eens gesoldeerd, maar nog nooit heb ik echt zelf een circuit ontworpen en een, naar mijn gevoel, intelligent product gesoldeerd (Keep in mind, dit is mijn baby. Ik heb dit project vanaf nul opgebouwd. Jullie zien misschien een vogelhuis dat A ziet en B doet, maar ik zie een superslim menneke). En verder teken ik wel veel, maar ik heb nog nooit een technische tekening moeten maken naar mijn eigen wensen. Ik ben gewend om heel organisch te tekenen, en nu moest alles strak en op de millimeter kloppen.

Er was erg veel dat intens nieuw voelde, en het was soms ook best een uitdaging. Toen ik moest uitvogelen hoe ik tandwielen moest monteren, of toen ik moest bedenken hoe het circuit er uit moest zien voelde ik werkelijk de uitdaging van iets nieuws moeten leren. Ik zit kwa tekenen of ontwerpen op een heel ander niveau, dus het was erg verfrissend om op een heel ander vlak nieuwe dingen te proberen en vaardigheden te ontwikkelen.

Daarbij ben ik erg blij dat ik een maatschappelijk probleem heb gepakt dat mij raakt, en dat ik dat concept nooit verloren ben. Vanaf begin tot eind heb ik na zitten denken over manieren om de vogels een veiligere plek te geven.

Tenslotte ben ik blij dat ik dit project heb gehad. Hoe je een interactieve laag kan toevoegen aan een product is een kwestie die me al langer heeft geprikkeld, en met dit project kon ik daar eindelijk mee aan de slag gaan. De volgende stap is door te kijken hoe ik dit kan toepassen om m'n kunst. Hoe kan ik mijn kunst meer maken dan een plaatje?

Hopelijk hebben jullie genoten van het maken, of simpelweg lezen, van deze Instructable. Laat die katten zien wie het baasje is! En vergeet niet dat vogels een belangrijke rol spelen in ons ecosysteem. Ze spelen een elementaire rol in het verspreiden van plantenzaden, houden insectenbevolkingen onder bedwang, en hun poep is erg belangrijk voor de koraalriffen. Daarbij vind ik vogels een van de meeste magische dieren in de natuur. Al sinds het begin van de mens kijken we naar vogels met een wens om te vliegen.

Dus! Bescherm de vogels!

Liefs,

Twan