Inhaltsverzeichnis:
- Schritt 1: Manifest
- Schritt 2: Schaltung
- Schritt 3: Programmierung - Einfach
- Schritt 4: Datenprotokollierung in Google Docs
Video: Honigbienenzähler - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:18
Wo die Arbeitsteilung der Honigbiene seit 25 Millionen Jahren stetig voranschreitet… unser menschlicher Superorganismus ist komplexer und in alle Richtungen gewachsen… daher der Bienenzähler… Von: thomasudson.org
Sehen Sie hier das verbesserte Design: Honey Bee Counter II
28.04.19 - Ich beschäftige mich wieder mit diesem Projekt. Es war so lange sinnvoll, das letzte Design, das ich plane, einige Verbesserungen vorzunehmen. Der Preis für gedruckte Leiterplatten (PCBs) ist ziemlich gesunken, also mache ich eine große Sensorplatine, 24 Gates und etwa 14,5 "lang, um den ganzen Bienenstockkörper zu durchqueren. Auch etwa 1,5" breit, um zu blockieren alle IR von der Sonne aus. Lassen Sie es mich wissen, wenn Sie Fragen/Ideen haben.
Live-Daten vom 25. Juni 2012 Ich habe mich von Live-Daten entfernt… meine Version 2 hat eine SD-Karte und ich arbeite mit einer Universität zusammen, um etwas zu recherchieren… Ich würde gerne mit jemandem zusammenarbeiten, der sie an die Massen verkaufen möchte.
Schritt 1: Manifest
Bienenzähler - Version 2, 14. Oktober 2012 - Micro-SD-Datenprotokollierung - Echtzeituhr schaltet den Zähler nachts aus, um die Leistung zu reduzieren - Entkopplung der LEDs vom Mikrocontroller, um die durchschnittliche Leistung bei Nichtgebrauch auf 6,6 mA zu reduzieren - kleine Batterie hält monatelang - Solarzellenleistung bereit - unbegrenzte Temperatursensoren - kann Schätzungen der Größe der Biene durchführen (Arbeiter vs. Drohnen) und somit die Aktivität von Drohnen / Arbeitern überwachen - 3D-gedruckte Wendestile oder Tore - zum Verkauf komplett ohne Batterie $400 oder machen Sie Ihre besitzen (siehe unten) Hier sind die Spezifikationen für Version 1. Diese anweisbaren Details aus Version 1, die leicht auf Version 2 aufrüstbar ist, obwohl ich keine vollständigen Pläne bereitgestellt habe. - 95% Genauigkeit - Läuft ohne USB-Strom - sollte mit einer oberen Abdeckung regenfest sein - Bienen passen sich in wenigen Minuten an neue Öffnungen an - Echtzeit-Überwachung in Google Docs - USB-Verbindung speichert Daten in Ihre Laptop-Textdatei Hier sind die Pläne für den Bau dein eigenes. Es gibt allgemeine Anweisungen für das Prototyping oder Sie können auf die Schaltungsseite gehen und meine genaue Platine und Schaltung kopieren. 1. Kaufen Sie ein paar Infrarotsensoren (IR) - Sparkfun: https://www.sparkfun.com/products/9542 - Besorgen Sie sich einige 30K 50K und 100K Widerstände zum Testen der digitalen Eingangsempfindlichkeit. - Besorgen Sie sich 10, 20, und 50-Ohm-Widerstände für die Stromversorgung der IR-LED 2. Prototypen Ihrer Teile mit einem Arduino - Ich habe eine tote Biene auf einem Draht verwendet - es ist eine einfache Schaltung 3. Wählen Sie einen Mikrocontroller … Ich habe den Teensy ++ verwendet - dieselbe Benutzeroberfläche wie Arduino. - hat 46 Ein-/Ausgänge, - ist billig und - lokal hier in Portland entwickelt. die software ist kostenlos. - lassen Sie es durch Dorkbot in Portland drucken $ 45 für 3 Platinen 5. alles zusammenbauen - Ihre Komponenten auf die Platine löten - Ihre Sensoren kalibrieren - Ihre Programmierung verfeinern Rohkosten und Komponenten für meine Platine ~ $ 110 - Leiterplatte $ 45 - Menge (44) QRE1113 IR-Sensoren $33 - Teensy ++ $24 - Widerstände und Pins $10 - meine Zeit $autsch! Senden Sie mir eine Nachricht, wenn Sie daran interessiert sind, dass ich ein Kit zusammenstelle, da es wahrscheinlich 130 US-Dollar kosten würde, wenn Sie das Löten und Heißkleberspritzen selbst durchführen möchten!
Schritt 2: Schaltung
weitere Details folgen, aber es ist super einfach… Sparkfun verkauft den Infrarotsensor oder IR-Sensor. Es ist eine LED UND ein Sensor! verrückt nützlich!. Wenn die Biene unter der LED kreuzt, wird das Licht zurück zum Sensor reflektiert. (es ist ein Fototransistor) und löst einen digitalen Eingang zum Arduino aus.. (oder in meinem Fall winzig). Ich habe zwei Chips direkt nebeneinander aufgereiht… während die Biene durch das Tor geht, wenn sie zuerst den Innensensor trifft… geht sie aus… wenn sie zuerst den Außensensor trifft, kommt sie herein. Mehr zur Programmierung… Schaltplan und GERBER-Dateien angehängt. - Ich habe 4 LEDs in Reihe mit einem 10-Ohm-Widerstand am Ende verwendet. Das entspricht einem Abfall von 1,2 Volt pro LED. - Sie können Ihren LED-Spannungsabfall mit einem Online-Webtool wie diesem überprüfen. - Pololu verkauft auch die gleichen IR-Sensoren auf einer Platine (Array) und sie haben hier Code und Beispiele. - Gemäß dem großen Schaltplan unten habe ich 100k Ohm-Widerstände zur Masse verwendet. dies erhöht die empfindlichkeit. Wenn Sie einen kleineren Widerstand verwenden, wird dieser weniger empfindlich. Es ist ein NPN-Fototransistor. Grobe Kosten und Komponenten für mein Board ~ 110 $ - Leiterplatte 45 $ - Menge (44) QRE1113 IR-Sensoren 33 $ - Teensy ++ 24 $ - Menge (11) 10 Ohm 0805-Widerstände - Menge (44) 100k 0805-Widerstände - 26 Header und 26 Pins zum Befestigen des Teensy am Board $3 - meine Zeit $autsch! Senden Sie mir eine Nachricht, wenn Sie daran interessiert sind, dass ich ein Kit zusammenstelle, da es wahrscheinlich 150 US-Dollar kosten würde, wenn Sie das Löten und Heißkleberspritzen selbst durchführen möchten!
Schritt 3: Programmierung - Einfach
Der Teensy ist in Arduino programmiert… oder C++, aber ich bin mit Arduino ein wenig vertraut… Der Code ist unten angehängt. /* Dies ist für die ersten beiden Gateways: A und B. */ // diese Konstante ändert sich nicht: const int ain = 44; // Pin 44 ist der erste digitale Eingang für Gate A const int aout = 45; // Pin 45 ist der zweite digitale Eingang für Gate A const int bin = 42; // dasselbe für Gate B const int bout = 43; // dasselbe für Gate B // Variablen ändern sich: int ins = 0; // zählt ins und outs int outs = 0; int ai = 0; // Gate A 1. Pin-Status Int lai = 0; // Gate A letzter Status des 1. Pins Int ao = 0; // Gate A 2. Pin-Status Int lao = 0; // Gate A letzter Status des 2. Pins Int bi = 0; intlbi = 0; intbo = 0; int lbo = 0; int-Zählung = 0; // dies testet nur, ob sich unsere Bienenzählung geändert hat int lcount = 0; Void setup () {// Initialisieren Sie den Button-Pin als Eingang: pinMode (ain, INPUT); pinMode (aout, INPUT); pinMode (bin, EINGANG); pinMode (bout, INPUT); // serielle Kommunikation initialisieren: Serial.begin (38400); // ein bisschen anders als das Arduino hier…. 38400} Void Schleife () {// Lesen Sie den Drucktasten-Eingangspin: ai = digitalRead (ain); ao = digitalRead (aout); bi = digitalRead(bin); bo = digitalRead (bout); if (lai != ai) {// hat den Status, wenn sich der 1. Pin geändert hat? if (ai > ao) { // Wenn ja, geht die Biene rein oder raus? ins++; // wenn es reingeht, füge eine Biene zu ins hinzu }} if (lao != ao){ if (ao > ai) { outs++; }} if (lbi != bi){ if (bi > bo) { ins++; }} if (lbo != bo){ if (bo > bi) { outs++; }} lai = ai; // aktualisiert den letzten Status lao = ao; lbi = bi; lbo = bo; zählen = ins + outs; if (lcount != count) {// Wenn sich die Anzahl geändert hat, drucken wir die neue Anzahl Serial.print ("number In: "); Serial.println (ins); Serial.print ("Nummer aus: "); Serial.println (Ausgänge); lcount = zählen; } } Ich habe eine Debeebouce-Sequenz hinzugefügt. Hier ist das neueste Kalibrierungsvideo vom heutigen 26.06.12. Es ist zu 91% genau, aber es gibt noch ein wenig Raum für Verbesserungen:
Schritt 4: Datenprotokollierung in Google Docs
Ich habe Processing verwendet, um die Daten in Echtzeit über einen Laptop hochzuladen…… Hier sind die ersten Daten, die ich erhalten habe… - Live-Datum von heute 25. Juni 2012 Die Werte werden über den beigefügten Code hochgeladen. Die allgemeine Idee besteht darin, einen "Formkey"-Link zu verwenden, auf den beim Ausfüllen eines Formulars für Google Docs zugegriffen wird. 1) Melden Sie sich bei Google Docs an 2) Erstellen Sie ein neues FORM mit so vielen Eingaben, wie Sie Datenpunkte haben 3) Gehen Sie zum 'Live-Formular' und überprüfen Sie den Quellcode … suchen Sie nach dem 'Formkey' und den Eingabekennungen … hier ist was Ich fand: 4) Es ist einfach herauszufinden, sobald Sie den Quellcode erhalten und Werte direkt in Ihren Browser ausschneiden und einfügen, um Ihre Behauptungen zu testen … versuchen Sie es mit seiner ziemlich mächtigen.. In Verarbeitung (Sie können es wahrscheinlich direkt vom Arduino posten, aber Ich dachte, ich würde es in Processing versuchen..) String docs = new String[8]; //Dieser 'String' setzt einfach alle Teile der URL zusammen 0 bis 7 oder 8 insgesamt…. docs[0] = "https://docs.google.com/spreadsheet/formResponse?formkey=dHNHNWtZQ3lJSzFCZ1kyX0VVVmU0LUE6MQ&ifq&entry.0.single="; //Dies ist der Formkey aus dem FORM-Quellcode docs[1] = pairs[1]; // dies ist mein erster Datenpunkt # von Bienen IN. docs[2] = "&entry.1.single="; // dies sagt google doc, dass meine erste meine zweite Variable als nächstes kommt … den Quellcode durchsuchen, um es herauszufinden, aber es wird ähnlich aussehen … docs[3] = pairs[3]; //Dies ist die zweite Variable # von Bienen OUT. docs[4] = "&entry.2.single="; //dies sagt Google doc, dass meine dritte Variable als nächstes kommt. docs[5] = Delta_in; // # Bienen in minus letzte Anzahl Bienen in docs[6] = "&entry.4.single="; docs[7] = Delta_out; String docs2 = join(docs, ""); loadStrings(docs2); // sobald Sie all diese Bits zusammengefügt haben, wird Ihre Kalkulationstabelle veröffentlicht!!… Testen Sie Ihre eigenen Bits in Ihrem Browser… Ich habe es alle 5-10 Minuten gepostet… Ich habe den Verarbeitungscode angehängt… Ich muss noch die INT-Variablen auf FLOAT ändern denn nach wenigen Stunden überschreiten die Werte 32.000 Bienen!!! hoppla..