Inhoudsopgave:

Vogelvoedermonitor - Ajarnpa
Vogelvoedermonitor - Ajarnpa

Video: Vogelvoedermonitor - Ajarnpa

Video: Vogelvoedermonitor - Ajarnpa
Video: Голубая стрела (1958) фильм 2024, Juli-
Anonim
Vogelvoedermonitor
Vogelvoedermonitor

Dit is een project om het aantal vogels dat mijn voederhuisje bezoekt te monitoren, evenals de hoeveelheid tijd die besteed wordt aan het voeren vast te leggen. Ik gebruikte een Arduino Yún en een capacitieve aanraaksensor, Adafruit CAP1188, om de vogels te detecteren en te registreren. Op routinebasis worden de verzamelde gegevens naar een Google Docs-spreadsheet gestuurd om het aantal en de tijd te registreren die door de vogels worden besteed aan het bezoeken van de feeder.

Gegevens worden alleen verzonden gedurende een bepaalde periode vóór zonsopgang en na zonsondergang.

Stap 1: Onderdelen

Onderdelen
Onderdelen

Dit is een lijst van de onderdelen die ik heb gebruikt om mijn project in elkaar te zetten. U kunt verschillende projectboxen gebruiken om uw project te maken, maar dit zijn de items die ik op dat moment bij de hand had.

1 6x3x2" projectbehuizing1 3x2x1" projectbehuizing1 rol 1/4" koperfolietape1 CAP1188 Capacitieve aanraaksensor met 8 toetsen1 Arduino Yun1 micro-SD-kaart2 DB-9 mannelijke connectoren2 DB-9 vrouwelijke connectoren1 Vogelvoeder (CedarWorks Plastic Hopper Bird Feeder)1 Achterlichtconnector van auto-winkel:

Stap 2: Bedrading

Bedrading
Bedrading

De Arduino Yun en de CAP1188 zijn bedraad om een harde reset van de sensor te bieden bij het opstarten. Er zijn andere capacitieve aanraaksensoren beschikbaar met één, vijf of acht sensoren. Ik koos acht omdat mijn vogelvoeder zes kanten heeft.

bedrading:

CAP1188 SDA == Yún Digital 2 CAP1188 SCK == Yún Digital 3 CAP1188 RST == Yún Digital 9 CAP1188 VIN == Yún 3,3V of 5V CAP1188 GND == Yún GND CAP1188 C1-C8 == Aansluiten op draden op elke zitstok

De Arduino werd extern van stroom voorzien, door een draad onder de grond te laten lopen vanuit mijn garage en omhoog door de pijp die als vogelvoederstandaard werd gebruikt. De draad was aangesloten op een 5-VDC voeding in de garage. Dit project zou met batterijen moeten werken, maar ik wilde niet het gedoe van het routinematig vervangen van batterijen.

Ik heb een 16 lange kabel met DB-9-connectoren aan beide uiteinden geconstrueerd om de Project Box te verbinden met de Arduino Yun en de doos met de CAP1188. De capacitieve sensor moet zo dicht mogelijk bij de zitstokken worden geplaatst.

Stap 3: Python-pakketten en -scripts installeren

De CAP1188 vereist dat u de bibliotheken voor deze sensor downloadt en installeert. De bibliotheek is te vinden op de volgende site:

github.com/adafruit/Adafruit_CAP1188_Library/archive/master.zip

Instructies voor het installeren van de bibliotheek en voorbeelden bevinden zich in een README.txt-bestand in de zip-container.

Dit programma bewaakt de zonsopgang en zonsondergang voor uw specifieke locatie en begint te tellen en te timen op een bepaald tijdstip vóór zonsopgang en gedurende een gelijke hoeveelheid tijd na zonsondergang. Voor en na die tijd worden er geen gegevens naar uw spreadsheet verzonden. Dit project gebruikt een pythonscript om de zonsopgang- en zonsonderganginformatie van Yahoo! weer elke avond of bij het opstarten krijg deze tijden.

De volgende python-bibliotheek moet worden gedownload en geïnstalleerd op de Arduino Yún.

python-weather-apipywapi -

Instructies voor het installeren van deze bibliotheek vindt u op de bovenstaande website.

Python-scriptsDe locatie-ID in het 'getastonomy.py'-pythonscript moet worden gewijzigd om uw locatie op te nemen. Het is momenteel geconfigureerd voor Sugar Land, Texas. Een manier om uw ID te vinden, is door naar de volgende website te gaan:

Weer locatiecodes

Voer uw locatie in en uw locatie-ID verschijnt. Vervang de USTX1312 in de regel van het script door uw locatie-ID.

resultaat = pywapi. get_weather_from_weather_com (' USTX1312 ')

Hierdoor kan het script de zonsopgang en zonsondergang voor uw locatie ophalen. Instructies voor het wijzigen van 'sendgdocs.py' vindt u in stap 6.

Nadat beide scripts zijn gewijzigd, moet u ze naar de micro-SD-kaartmap '/mnt/sda1/' van de Arduino Yun verplaatsen.

Stap 4: Bedrading van de vogelvoeder

Bedrading van de vogelvoeder
Bedrading van de vogelvoeder
Bedrading van de vogelvoeder
Bedrading van de vogelvoeder

Elk van de zitstokken op de feeder was bedekt met 1/4 brede zelfklevende koperfolietape. Een klein gaatje werd door de tape en de baars geboord en een draad werd aan de folietape gesoldeerd en onder de feeder geleid.

Opmerking: bij de hierboven getoonde vogelvoeder raad ik een opening aan tussen de uiteinden van elke foliestrook van 1 1/4" - 1 1/2". Ik ontdekte dat de grotere vogels, zoals grackles en duiven, in staat zijn om twee foliestroken tegelijk aan te raken als ze te dicht bij elkaar worden geplaatst.

Een blok hout werd gevormd en aan de onderkant van de feeder gelijmd om een vlak gebied te creëren om de Project Box met de CAP1188 te monteren. Klittenband werd zowel op de Project Box als op het houten blok aangebracht als bevestigingsmiddel.

Om de vogelvoederbak bij te vullen, haal ik de stekker uit het stopcontact in de garage. Vervolgens koppel ik de DB-9-connector los van de Project Box die aan de onderkant van de feeder is bevestigd, waardoor ik de feeder van de pijp kan tillen terwijl de Project Box nog steeds aan de onderkant is bevestigd. Nadat de feeder is bijgevuld, plaats ik hem terug op de pijpstandaard; sluit de DB-9-kabel aan; en steek de stekker in het stopcontact.

Stap 5: Een Google Doc-formulier maken

Een Google Doc-formulier maken
Een Google Doc-formulier maken

Om gegevens naar een Google Docs-spreadsheet te sturen, moet u eerst een formulier maken met alle vereiste velden. In mijn voorbeeld heb ik zes 'cnt'-velden en zes 'time'-velden die integer-invoer zijn. De velden hebben bijvoorbeeld de naam 'cnt1', 'time1', 'cnt2', 'time2', enz. Als u klaar bent met het formulier, klikt u op "Live formulier bekijken" om het voltooide formulier te zien. Terwijl u het formulier bekijkt, klikt u met de rechtermuisknop op de pagina en selecteert u "Paginabron weergeven". Zoek en vind alle HTML-invoervelden in de broncode. Noteer de naam voor elk van de velden die u op het formulier hebt ingevoerd. Deze informatie is nodig om uw scenario in PushingBox te maken.

Stap 6: PushingBox configureren

PushingBox configureren
PushingBox configureren
PushingBox configureren
PushingBox configureren

Noteer het url-adres van het formulier dat u eerder hebt gemaakt (terwijl u het ingevulde formulier bekijkt) en kopieer dat adres. Het zou er ongeveer zo uit moeten zien als dit adres:

"https://docs.google.com/forms/d/42QRHPzZzI4fdMZdC4…EbF8juE/viewform"

Dit adres wordt gebruikt om uw PushingBox-service te maken, behalve dat deze moet eindigen op ' /formResponse ' in plaats van '/viewform '. Zorg er ten slotte voor dat u de door de service gebruikte methode wijzigt in POST.

Voor het maken van een scenario in PushingBox zijn de gegevens vereist die eerder uit het formulier zijn verzameld voor elk van de invoervelden. Maak een CustomURL-type Scenario zoals te zien in de bovenstaande foto. Het zou er ongeveer zo uit moeten zien:

entry.184762354=$cnt1$&entry.1970438117=$ti…6352124=$cnt6$&entry.54370319=$time6$&&submit=Verzenden

Elke invoer moet overeenkomen met de velden 'cnt' en 'time' van uw formulier. Beëindig de string op velden met '&&submit=Submit' zoals hierboven te zien is.

De apparaat-ID die met uw scenario is gemaakt, is nodig in het python-script 'sendgdocs.py' om gegevens via PushingBox naar Google Docs te verzenden.

Stap 7: De gegevens

De gegevens
De gegevens
De gegevens
De gegevens

Dit programma is momenteel geconfigureerd om elke 20 minuten gegevens te verzamelen en naar Google Documenten te verzenden. Dat interval kan eenvoudig worden gewijzigd in de schets

De verzonden gegevens zijn de "telling" van het aantal keren dat een vogel (of een ander object) de koperfolie op de baars aanraakt. Het stuurt ook de totale tijd (seconden) dat een vogel de sensor heeft aangeraakt tijdens het voeren.

Ik heb wisselende resultaten ervaren. Het hangt allemaal af van het voer dat ik geef en de vogels die in de buurt zijn. Als de grackles in de buurt zijn, kunnen ze de vogelvoederbak op volgorde leegmaken. Ze kunnen het voer met hun snavel heel snel overal uitstrooien.

Ik heb twee vogelvoeders, maar op slechts één is de monitor bevestigd. Daarom geven mijn gegevens aan dat ik tussen de 1.000 en 1.400 tellingen ontvang tussen de vullingen, en de capaciteit van de feeder is 6 lbs. Sommige van die tellingen zijn echter dubbeltellingen als gevolg van vogels die op meer dan één baars zitten. Het was in ieder geval leuk om naar de feeder te kijken en de data te bekijken.