Der Artikel ist teils eine Warnung vor Annahmen, ohne auszuschließen, dass der Entwickler all seine Nachteile empfindet, teils ein Versuch zu erklären, was der Kunde von Ihnen will, teils die Arbeit an Fehlern oder die Anerkennung von „Narr selbst“. Achtung: DotA Jargon voraus, "Ich bin kein Geek!", Sowie geschickte Präsentation ohne die Hilfe von Matten. Wenn Sie weiterlesen, riskieren Sie die Meinung, dass der Autor ein absolut abgestoßenes Tier ist, das Mitleid, Angst und Barmherzigkeit nicht kennt. Nehmen Sie es einfach als selbstverständlich an, dass jeder das Recht hat, unvollkommen zu sein, und alles wird mit uns in Ordnung sein. Bitte und danke.
Es wurde an der Automatisierung des Fluchtraums gearbeitet, deren Einzelheiten wie üblich weggelassen werden. Diese Arbeit dauerte mehr als ein Jahr, und anfangs gab es angesichts des banalen Mangels an Erfahrung wirklich greifbare Mängel, aber dann wurde alles zu einem nicht optimalen Management. Kunden (nennen wir sie beispielsweise Goodwin und Urfin) waren hauptsächlich mit der kosmetischen Komponente des Projekts beschäftigt und arbeiteten von und nach, nachdem wir uns auf die Logik und Implementierung selbst konzentriert hatten, da die Türen und Objekte selbst bereit waren und wir sicherstellen mussten sie bewegten sich. Die Zeit begann zu zermalmen und irgendwann schliefen wir 5 Stunden am Tag.
Natürlich ist es notwendig, die Details zu verwischen, um die Geheimhaltung zu wahren, aber es ist zu konkret, als dass ich mich daran erinnern könnte, und es wird keinen Erfolg haben, da ich vor mehr als 5 Monaten die Arbeit daran eingestellt habe. Es gab jeden Tag genug zu tun, damit ich mit einem stumpfen Messer eine Blechdose mit etwas Saury öffnen konnte, und die Teebeutel waren so kompakt, dass die Mülltonne sich freute, mich alle zwei Wochen zu sehen. Mein Zimmer verwandelte sich in einen Lüftungsschacht, in dem Rebecca aus dem Film Aliens lebte. Oder "Alien 2", wie Sie möchten. Wenn sich jemand nicht erinnert, dann ist hier ein Bildschirm mit einer Menge Müll:

Das Ereignis, das als Auslöser diente; etwas, das mich dazu brachte, im Chat und in der Dusche „gg“ zu schreiben, wie es nicht war. Ich wurde nur von einem klaren und klaren Gedanken besucht: Ich brauche eine lange Pause. Der Sender auf meinem Handy ging für 4 Monate in den Flugzeugmodus. Die gleichen 4 Monate in der Statistik der Anfragen nach Gesicht, Kontakt, Foren, in denen meine Cookie-Daten irgendwie erscheinen könnten, waren durch ein solches Loch gekennzeichnet. Niemand konnte mich über irgendeinen Kanal kontaktieren. Ich saß nur in einem Raum in einem Summen, aß Eintopf und rollte in einem Dothan. Schlechte Besetzung, ich weiß, aber ich hatte Zeit, zumindest irgendwo Perfektion zu erreichen.
Wenn ich das gesamte Projekt zusammenfasse, kann ich sofort seinen Hauptfehler nennen - das Fehlen eines systematischen Ansatzes. Ich weiß, dass die Space Odyssey eine spezielle Schnittstellenkarte verwendet hat, die eine periphere Interaktion mit TCP / IP ermöglicht. Ich hatte keine solchen Boards, nur eine Handvoll Arduino, die am Ende für einige ganz einfache Dinge benötigt wurden. Wir haben versucht, alles Mögliche auf die Verwaltung einer einfachen 0 oder 1 zu reduzieren, wie Mikrocontroller sagen. Dies reduzierte die Belastung des auf dem Mega2560 montierten zentralen Servers, um Informationen mit der geringsten Verzögerung im Web zu empfangen und auszugeben. Die Logik der Quest wurde von Wiring zu JavaScript umgeschrieben, was jedoch zu Bremsen führte, da JS auf einem Nicht-RTOS-System ausgeführt wird. Infolgedessen wurde die Logik in ein eigenes Format (xml, das die Java-Anwendung leitete) umgeschrieben, obwohl es im Allgemeinen naiv ist, dies zu glauben Dies gab etwas, weil es immer noch in der Windows-Umgebung ausgeführt wird. Im Allgemeinen wurde etwas, das anscheinend bereits debuggt war, in dieser Arbeit oft überarbeitet, wo plötzlich einige Pfosten herauskamen, und anfangs wurde der Artikel darüber geschrieben; Jetzt geht es jedoch darum, dass die Implementierung der Logik von der Anwendung in Java genauer ausgeführt wird - um die Gründe und Voraussetzungen dafür.
Warum Java und nicht JS? Ich habe keine Ahnung, es wurde von einer anderen Person geschrieben, anscheinend ist ihm dieses Instrument vertrauter. Nachdem dieser Mann eine Nachricht von der WhatsApp-Gruppe über mein Versäumnis erhalten hatte, zur Klärung von Details zu erscheinen, schickte er der Gruppe ein Bild von Picard mit der Hand an den Kopf, aber wenn er wusste, dass es mir in diesem Moment absolut egal war - ich denke, er konnte es verstehen. Und wir werden versuchen herauszufinden, wie es passiert ist. Jetzt ist das mögliche Bellen nicht mehr ärgerlich: „Sie sind unzureichend, halten sich nicht an die Anforderungen, halten sich nicht an Betriebsstandards und -regeln, versetzen die Geräte in inakzeptable Modi, hinterfragen meine Qualifikationen mit jedem Satz“, „er ist unzureichend, inkompetent, um das Projekt abzuschließen, nicht Vielleicht bricht es die Fristen, ständige Änderungen, eine Art von Selbstgemachtem, das nicht wie das aller anderen ist. “usw. usw.
Wütend und genug. Goodwin und Urfin sind immer noch Ghule, aber das Letzte, was mir in den Sinn gekommen wäre, wäre, ihr Geschäft absichtlich zu ruinieren. Ich werde keine Vorteile bekommen, aber trotz des Schadens einfach so - nicht für das Gemeinwohl. Warum also die Welt schlimmer machen? Ich denke, dass ihre Priorität für die Aufgabe, mich zu verzaubern und Anti-Werbung so zu arrangieren, dass niemand mich jemals kontaktieren wird, nicht besonders hoch ist. Es ist unwahrscheinlich, dass eine solche Aufgabe gestellt wurde. Erfahrung ist ein strenger Lehrer, und Sie müssen die Kraft in sich selbst finden, um weiterzumachen. Und das Wichtigste ist, diese Erfahrung zu nutzen. Ein Teil dieser Erfahrung, zumindest die, an die ich mich erinnern kann - ich wage zu hoffen, ich werde es Ihnen vermitteln, lieber Leser.
Wir haben uns selten mit Obszönitäten bedeckt, aber die Stimmung war immer noch mittelmäßig. Um nicht verrückt zu werden, musste ich das härteste von allem verwenden, was man zur Arbeit bringen konnte - VJLink-Guides und Karina-Streams. Ja, ja, ich erinnere dich: Ich bin kein Geek, ich bin nur ein Tier. Natürlich bin ich mir bewusst, dass diese beiden klinische Dummköpfe sind: Denken Sie nicht, dass einer von ihnen ein spiritueller Lehrer für mich ist; Itpedia ist für diese Rolle viel besser geeignet. Aber wir haben uns irgendwie von der Suche abgelenkt, Gedanken auf dem Weg, auf die es ankam: "Ja, wir haben es wieder gesehen, so viel wie möglich, wenn es endet." Im Allgemeinen spiegelt sich die mangelnde Begeisterung für ein Projekt auf die schlimmste Weise wider. Wer muss schwitzen, wenn Slark in Ihrem Team 0-7 ist? Hier ist es also: Wenn jede Aufgabe, jede implementierte Lösung Sie mit einem Fehler trifft, schmilzt alle Hoffnung. Lehnen Sie sich zurück und ich werde einige Gedanken darüber teilen, wie dies verhindert werden kann. Außerdem würde ich gerne mehr dieser Tricks in den Kommentaren sehen. Jede Erfahrung ist subjektiv, aber es ist eine große Anzahl von Präzedenzfällen, die es ihnen ermöglichen, zu verallgemeinern und zu analysieren. Studieren. Ich habe viele Fehler gemacht, aber immer noch nicht alle möglichen. Wahrscheinlich ist einer der Leser auf etwas anderes gestoßen, aber im Allgemeinen auf etwas Ähnliches. Teilen Sie Ihre Erfahrungen mit, alle werden Ihnen dankbar sein.
Meine Regeln
- Alle Sensoren müssen eine Anzeige haben.
- Alle Komparatoren müssen eine Hysterese haben.
- Alle Drehungen müssen gelötet werden.
- Alle Stromkabel müssen dick sein.
- Alle Signalkabel müssen abgeschirmt sein.
- Alle Drähte mit Spannungen über 40 V sollten eine bessere Isolierung haben als nur ein stumpfes Paar. 220 über Twisted Pair oder Nudeln - Moveton.
- Alle Ausgänge müssen einen offenen Kollektor / offenen Drain haben.
- Alle Eingänge müssen Signale über die Stromschleife / Optokoppler empfangen.
- Alle Geräte, die asynchrones Empfangen und Senden durchführen, müssen über einen Reset-Impulsformer und einen Watchdog-Timer verfügen, um jederzeit empfangsbereit zu sein.
- Alle Schaltgeräte müssen Funkenunterdrückungskreise haben. Vor allem Relais, klebrige Kontakte machen keinen Spaß.
- Jeder Mechaniker, der schwerer als ein Kilogramm ist, liebt ein Getriebe. Menschen, die den Motor ohne Getriebe direkt auf den Ziegel stellen - wissen: Die Hand Satans wird jeden überholen. Verdammt noch mal: 3
- Alle induktiven Lasten müssen eine antiparallele Diode haben, um die selbstinduktive EMK zu unterdrücken. Wenn der Strom in beide Richtungen fließen kann (Öffnen / Schließen der Verriegelungen vom Autoaktor, Motor usw.) - anstelle der Diode beträgt der Kondensator 0,1 μF.
- Widerstände, Transistoren und Optokoppler sind nicht überflüssig.
- Sachwiderstände sind nicht überflüssig, insbesondere wenn ein ISP-Anschluss vorhanden ist.
- Der ISP-Anschluss muss so beschaffen sein, dass er nicht verkehrt herum eingesteckt werden kann.
- Batterien mögen keine Tiefenentladung. Egal was.
- Gebrauchte Batterien - besonders.
- Die Quarzstabilisierung ist gut und positiv wie bei Sergei Simonov. 555 in zeitkritischen Anwendungen aufzurühren, ist böse und negativ.
- Ein Kabel ist immer besser als ein Radio.
Bewegungssensoren, Entfernungsmesser, Reedschalter und Sensoren sind keine Präsenzsensoren
Es ist zwar in der Produktbeschreibung HC-SR501 geschrieben, aber nicht. Anwesenheit wird NICHT erkannt. Es bestimmt die Störungen im Interferenzmuster, die der Sensor durch die Fresnellinse sieht. Die Anwesenheit einer Person in einem bestimmten Bereich wird durch die Unterbrechung des Infrarotstrahls bestimmt, außerdem mit einem engen Fokus und dann mit Vorbehalten. Es war ursprünglich beabsichtigt, einen Ultraschall-Entfernungsmesser zu verwenden. Unglücklicherweise für den Entfernungsmesser bestanden die Wände des Raumes aus Polystyrol, das mit einer Grundierung gestrichen war. Die Reflexionen waren ungeheuerlich, außerdem befand sich am gegenüberliegenden Ende ein zweiter Entfernungsmesser um die Ecke (ja, Leser, wir mussten das Flaggensystem nicht verwenden und den gleichzeitigen Betrieb beider Sensoren verbieten, aber immer noch). Im Allgemeinen erwiesen sich die Messwerte dieser Sensoren nur durch einen amüsanten Zufall oder dank der „Gewächshaus“ -Bedingungen als wahrheitsgetreu, wenn die Strahler nicht zum Arbeitsraum, sondern irgendwo zur Seite geleitet wurden, wo sich im Hintergrund ein Holztisch, ein weicher Lappen oder etwas nicht glänzendes, effektiv absorbierendes.
Leider war keine Zeit, einen Infrarot-Entfernungsmesser zu kaufen, um ihn zu kaufen oder zu testen (obwohl es zu einem solchen Zeitpunkt wem gesagt wurde). Daher wurden IR-Empfänger in einer Wand und LEDs in einer anderen um die Ränder des Raums herum ummauert. Es gab keinen Scherz, um sie sichtbar zu machen, da dies die Atmosphäre zerstören würde, und deshalb wurden Hindernissensoren, so gelb, mit einem variablen Widerstand auf der Rückseite, nicht verwendet - sie funktionierten gut, aber vorne gab es ein so rötlich rotes Licht von der LED Das ist wie IR, aber nicht vollständig - kürzer als 808 nm. Vielleicht 780. Im Allgemeinen können Sie sie als Hintergrundbeleuchtung in den Kameras sehen. Außerdem gab es nicht genügend Reichweite, sie bestimmten normalerweise Menschen nur innerhalb von 45 cm. Deshalb musste ich mich auf den Weg machen.
Dazu kamen VS1838 (übrigens eine universelle Sache, die noch benötigt wurde) und TSAL6200, die in Rohre aus Kunststoffdübeln eingesetzt wurden. Es hat nicht funktioniert. In Robocraft (leider nicht für Werbung in Betracht gezogen) werden IR-Fototransistoren mit zwei Ausgängen verkauft, sie sehen aus wie eine transparente LED, sie kosten etwa 15 Rubel, ihr Widerstand nimmt stark ab, wenn sie mit stabilem unmoduliertem Licht von 780-1000 nm beleuchtet werden, und es war notwendig, sie zu verwenden sie. Aber sie wurden seit einem Jahr nicht mehr gekauft. Aber ich hatte ein paar VS1838, die aus chinesischen Haushaltsgeräten für Hauswirtschaftsräume herausgerissen wurden und die es nicht wissen - dies ist ein so kleines, weniger empfindliches und billigeres Analogon von TSOP1738. Wie wir alle wissen, enthält 1738 einen Demodulator, einen Filter und eine AGC. Daher ist es in ihnen unmöglich, mit unmoduliertem Licht zu leuchten, für den Sensor ist es nur eine Hintergrundbeleuchtung. Im Allgemeinen war das Senden von Impulsbursts der erforderlichen Frequenz an die LEDs nicht schwierig. Sie müssen lediglich die direkte Ausgabe an den Port verwenden (da digitalWrite () für solche Dinge zu langsam ist) und delayMicroseconds (27). 27 μs sind ungefähr die Hälfte des vom Sensor getragenen 38-kHz-Trägers. Man kann jedoch nicht einfach bei 38 kHz aufnehmen und leuchten, ein solches AGC-Signal wird als Rauschen betrachtet, daher war es notwendig, 38 kHz in Impulsstöße zu unterteilen, damit das Signal nicht abschaltet. Seltsamerweise wurde keine parasitäre Beleuchtung benachbarter Sensoren (es gab insgesamt sechs, der Abstand zwischen ihnen betrug etwa 35 cm) nicht beobachtet, es gab keine besonderen Helligkeitseinbrüche, was auch bei einigen einzelnen Sensoren zu einer unterschätzten Empfindlichkeit führte, aber dennoch. Nein, nein. Ra. Bo. Das hier. Lo.
Wir könnten durch dieses Thema verwirrt sein und die Nichtoptimalität des Programms diskutieren (denn warum hat dann das Diagnoseprogramm, in dem der störende separate Sensor ausgewählt wurde, perfekt und perfekt funktioniert?), Aber dies geht über den Rahmen des Themas hinaus. Ich kann nur sagen, dass ich selten Fehler mache. Wenn ich sechs Signaldrähte zu einem Bündel verdrehe - ich weiß: Ihr Ausgang ist ein offener Kollektor, im Bündel beeinflussen sie sich
in keiner Weise . Ich weiß, dass jeder Sensor parallel zur Stromversorgung einen eigenen 0,1-μF-Kondensator hat, dass jede LED einen eigenen Widerstand hat und dass mehrere LEDs parallel an einem Widerstand hängen, nur fertig. Wir werden also nicht weiter darauf eingehen, es war notwendig, Fototransistoren zu verwenden und Gleichstrom an die LEDs anzulegen. Das ist alles. Auch jeweils in einer Röhre, um störendes Aufflackern zu vermeiden. Es könnte funktionieren, nur zu einem bestimmten Zeitpunkt wurde die notwendige Entscheidung nicht getroffen.
RFId ist nicht ewig, im Denken nicht unendlich
Der RFId-Empfänger verfügt über einen eigenen sehr kleinen Lesebereich. Für gute Empfänger sind es ungefähr 7 cm. Für die schlechteren sind es 4 cm. Die Spule kann zurückgespult werden (die Hauptsache ist, dass die Resonanzfrequenz nicht zu weit von 125 kHz entfernt ist), aber auch hier - nicht auf irgendeine Größe. Trotzdem ist es möglich, den Durchmesser um das 2-2,5-fache zu erhöhen. Die Aktion umfasste drei autonome Objekte, die sich überall befinden konnten, wo sie identifiziert werden mussten. Die Größe von zwei dieser Elemente lag nahe an den Abmessungen des ATX-Netzteils. Der Durchmesser der Spule wurde in zehn Zentimetern berechnet, sodass ich die Option mit RFId ablehnen musste.
Auch hier half der IR-Kanal, nicht nur bei so starken LEDs, sondern auch schwächer (im Gegenteil, das Signal musste nur in unmittelbarer Nähe der Empfänger empfangen werden). In einem der Objekte sind 11 LEDs eingemauert, die in allen möglichen Winkeln leuchten, da das Objekt rund ist. Der andere hat einen Holzgriff, daher gibt es nur drei LEDs, da keine Notwendigkeit besteht, in Richtung des Griffs zu leuchten. Er ragt immer noch hervor, wo kein Empfänger vorhanden ist. Das dritte Thema ist klein genug, und vielleicht könnte man in seinem Fall sogar wieder auf RFId achten, aber die Abmessungen waren immer noch nicht mit dem Lesebereich zu vergleichen.
Alle Artikel werden mit 18650 Batterien mit einer Kapazität von 2000 bis 3400 mAh betrieben. Wo 2000 verwendet. Das Prinzip mit IR ist einfach: Wir warten lange (Sekunden), geben ein quadratisches Signal von 38 kHz etwas länger als eine Millisekunde aus, damit der Empfänger arbeitet und am Ausgang eine klare Null liefert. Nach Geschmack wiederholen. Anfänglich wurde dies von zwei 555x-Timern durchgeführt, natürlich kroch die Zeit mitten ins Nirgendwo, natürlich vergaßen sie, sie auszuschalten, und der Timer will
immer essen, und er muss sowieso keine 20 mA verwenden, natürlich mochten es zwei gebrauchte Banken nicht.
Gegenstände mussten geöffnet werden (ja, die Silikonglieder eines Zombies, F1-Granate aus Gusseisen ohne eine einzige Naht, denken Sie selbst), obwohl es nicht so lange dauerte. Nun, insgesamt wurde eine Woche transportiert. Die Timer wurden durch atmega8 ersetzt, der IRRemote-Code passte dort nicht (obwohl lustig, nach einer Weile gelang es mir, eine Skizze zum Senden zusammenzustellen, und der Compiler zeigte keine Fehler mit dem ausgewählten atmega8 - vielleicht hatte ich damals bereits eine neue Version der Bibliothek). Warum 8? Naja, billig plus 328 war nicht verfügbar. Das Programm gab einfach Impulsstöße mit der gewünschten Pause aus und schlief nach 7000 Sekunden ein, versetzte alle Ausgänge in einen hochohmigen Zustand und schaltete alles aus, was möglich war, um den Stromverbrauch auf zehn Mikroampere zu reduzieren. Es funktioniert und das Problem ist gelöst.
Auf der Empfangsseite lösen drei Sensoren drei Zustände aus. Bei Eintreffen des Impulses startet der Zähler und der Zeitstempel (Millis) wird gespeichert. Wenn der nächste Impuls am gleichen Sensor ankam und der Zähler n1 erreichte - das erste Element, n2 - das zweite und so weiter. Wenn n groß genug ist und das Signal immer noch fehlt, war das Signal anscheinend zufällig und der Zähler wird zurückgesetzt. Ich denke nicht, dass dies eine Art Mega-Super-Algorithmus ist, aber er löst einige Probleme:
- Das Anschließen einer Menge (dh mehrerer) eines IR-Empfängers an einen Controller ist für Noobs keine Aufgabe. Ja, sogar auf mega2560. Ja, es gibt eine Multisensorgabel von IRRemote. Einzelne Sensoren und ein selbst erstelltes System von Bedingungen - einfacher.
- Es gab einige Probleme beim Schreiben von IRRemote-Code in atmega8. Ja, Sie könnten ein RAW-Paket schreiben, daraus ein Array bilden und dann wieder Low-Level-Funktionen und Mikrosekundenverzögerungen ausgeben, aber es gab etwas zu Fauleres.
- Die Sensoren haben lange Drähte, man weiß es nie. Lang ist mehr als zwei Meter.
Über den DC-05-Anschluss (Arduino-Stromanschluss) können Sie die Countdown-Zeit zurücksetzen. Wenn Sie einen Stecker einstecken, öffnen sich zwei der drei Kontakte und unterbrechen die Stromversorgung. Das dritte Element hat keinen Anschluss (es ist zu authentisch dafür), aber auch dort hat der Reset keine Probleme verursacht - der Akku wird vom TP4056 aufgeladen, er hat einen CH-Pin, eine Null, die den Ladevorgang anzeigt - er ist mit dem Reset verbunden. Der TP4056 empfängt Energie drahtlos über eine Spule - wir setzen sie auf die Ladeschale - es ist dasselbe wie beim Einstecken des Steckers, alles wird zurückgesetzt. Entfernt - die Entladung wird nicht zu Boden gezogen, Impulse können berücksichtigt werden. Zählt - tief und lange einschlafen; Um den Akku zu deaktivieren, müssen Sie vergessen, das Gerät ein Jahr lang aufzuladen. Und dann ist es zusammenklappbar. Diese Gegenstände waren die erfolgreichste Lösung, die fast sofort kam, wenn auch mit einigen Tänzen.
Huch! Ungültige Gerätesignatur. Überprüfen Sie die Verbindungen und versuchen Sie es erneut oder verwenden Sie -F, um ...
Der abscheulichste Fehler meiner ganzen Praxis. Sie haben keine Ahnung, was los ist. Hier sind die Situationen, die in mir entstanden sind:
- Die Reihenfolge der Drähte MOSI (D11), MISO (D12), SCK (D13) ist verwechselt.
- Anstelle von 22 pF-Kondensatoren wird in der Nähe des Quarzes etwas anderes verlötet. Einmal stellte sich heraus, dass es sich anstelle eines von ihnen um einen 1k-Widerstand handelte. Gelötete Inschrift nach unten.
- Alle sechs Drähte müssen intakt sein. Tragen Sie immer den Tester (z. B. einen Stecker) und klingeln Sie immer vom Stecker bis zu den Füßen des Controllers (niemand hat die Straßenfehler auf der Platine behoben). Oder sogar von den Füßen des Master-Controllers (im Programmierer) bis zu den Füßen des Slaves.
- Angenommen, die Karte wird von 12 bis 7805 mit Strom versorgt. Die Minuspunkte des Programmiergeräts und des 7805 müssen verbunden sein. Ja, alle 6 Drähte haben Kontakt, aber erneut prüfen.
- Ungültiger Controller ausgewählt.
- Der richtige Controller ist ausgewählt, aber seine Signatur ist immer noch unterschiedlich. Folgendes habe ich für mega328 in hardware \ tools \ avr \ etc \ avrdude.conf geschrieben:
# signature = 0x1e 0x95 0x0f; #tqfp32 # signature = 0x1e 0x95 0x14; #dip28
Mit dem, was wir arbeiten, dann auskommentieren. - Die Sicherungen sind auf externem Quarz (mehr als 8 MHz) montiert, was tatsächlich fehlt. Hier haben Sie immer einen Schal mit Quarz und zwei Kondensatoren und drei Drähten. Fügen Sie außerdem immer Pads auf der Platine hinzu, die zu XTAL1 und XTAL2 führen. Auch wenn es definitiv bei 8 MHz sein wird, aus den Batterien. Auch wenn "nur einmal blinken, kann man es einfach nicht vergessen." So viel wie möglich.
- Reine Magie? Ein anderes, genau das gleiche Board, das wieder zusammengebaut wurde, funktionierte.
Glaubwürdigkeit des Lichts
Verwenden Sie kein dreifarbiges Klebeband für Flammeneffekte. Flammen enthalten gelbes oder rotes Licht in verschiedenen Anteilen. Das ist alles. Versuchen Sie, die Kombination R + G zu verwenden, um Gelb zu erzielen - die Flamme wird grün. Versuchen Sie, die Helligkeit durch Hinzufügen von „weißem“ Blau zu erhöhen - die Flamme ist blau, blau oder violett-pfirsichfarben, wenn Gelb ausreicht. Es ist nicht erforderlich, kalte Farben als Bestandteile der Primärfarben anzuwenden. Im Allgemeinen sollten in diesem Band keine grünen und blauen LEDs vorhanden sein. Überhaupt nicht vom Wort. Diese Entscheidung ist die erfolgloseste. Höchstwahrscheinlich entscheiden sich die Kassetten in den Spielpaarungen Goodwin und Urfin immer noch für einen Wechsel. Es gibt dort genügend Kanäle, dies wird auch vom atmega8-Selbstpropeller gesteuert, nämlich der Pro-Mini-Karte, die gleichzeitig drei Leistungstransistoren für PWM-kompatible Ausgänge hat. Zwei gelbe Bänder und ein rotes sind die meisten. Alle drei sind zufällig. Es ist schade, dass mir eine tolerante RNG-Schaltung auf einer Rauschdiode nicht aufgefallen ist, obwohl die pseudozufälligen atmega8-Opusse tolerant aussehen. Aber nicht mit Grün im Band.
Blitzlicht
Blitz ist ein nobles Phänomen, auf jeden Fall zur Erhöhung des Luftdrucks, aber es ist nicht so anspruchsvoll, wie es scheint. Es ist einfacher, ein mit Klebeband verklebtes Quadrat von 1 x 1 m (80 Meter, 96 Ampere bei 12 Volt, fast 1,2 kW) zu pendeln, als eine einzelne 10-kV-Blitzlampe mit einem Impuls bei einem Strom von Milliampere zu zünden. Warum? Weil die Störung breitbandig ist. Der Blitz zum Zeitpunkt des Blitzes blinkt wo immer möglich grau, ein klares Band ist im gesamten Spektrum sichtbar. Flash. Wie man es entfernt, ist unklar. Ein über einen Überspannungsschutz angeschlossener Blitz hängt sowohl den W5100 als auch den Arduino sicher auf. Das einzige erfolgreiche Experiment zu diesem Thema wurde mit der Batterie durchgeführt. Es gibt zwei Möglichkeiten, den Blitz vom Hauptnetzwerk zu lösen.
Methode Eins:- Wir schalten den Blitz ein, um den Arbeitskondensator aufzuladen. Bei zwei Relais müssen beide Stromkabel von der Steckdose abgeschnitten werden.
- Wir trennen uns.
- Wir legen Spannung an die Zündspule an, über Funk oder über einen Optokoppler.
Der zweite Weg:- Wir stellen die Leistung des Blitzes auf Niederspannung um, damit er überhaupt nicht an die Steckdose angeschlossen wird.
- Wir legen Spannung an die Zündspule an, über Funk oder über einen Optokoppler.
Das Storoboskop muss sorgfältig abgeschirmt werden. Um den Zündtransformator herum ist es im Allgemeinen nützlich, eine Schachtel Folienmaterial zu löten, also nur für den Fall. Und es ist keine Tatsache, dass wieder etwas nicht an dir hängen wird. In der Zwischenzeit arbeiten leistungsstarke Außendienstmitarbeiter ganz normal bei Frequenzen bis zu 100 kHz, schalten 80 Meter Band mit 100 μs ein - tun Sie nicht ... ähm, wie zwei Finger ungefähr ... Nun, im Allgemeinen kann ich nicht den richtigen Ausdruck finden, die Hauptsache ist, sich einzudecken Kondensatoren, damit das Netzteil nicht schwört. Die Interferenz ist niederfrequent und es ist viel einfacher zu filtern. Drosseln, Elektrolyte, im Allgemeinen verstehen Sie. Ich verstehe, dass dies kein Beispiel ist, das teurer ist als eine Blitzlampe, aber es ist einfacher zu arbeiten.
Dimmer 220
Vielleicht haben die Entwickler dies nicht erlebt, oder vielleicht haben sie nur einen Kanal und im Netzwerk irgendwie vergessen zu erwähnen, dass die Spannung von einem Phasenregler in den zweiten lecken kann, wenn sie in der Nähe sind. Es wird von einem Netzwerkfilter behandelt. In Mikrowellen ist es so eisern, auf dem Gehäuse steht EMI Filter.
Ladeluftsensor
Der Sensor ist einfach, es ist ein beweglicher Vorhang aus verzinntem Folienglas, dessen Bewegung durch Kaugummi begrenzt wird. Warum nicht Gummiband für Geld? - Angeln ist haltbarer. Luft tritt durch ein Rohr mit einem Durchmesser von etwa 2 cm ein. Vielleicht wäre hier ein Laufrad mit einem Encoder / Magneten + Hallsensoren, einem Drucksensor usw. eingedrungen, aber dies war nicht verfügbar (lol, ein
Jahr ist vergangen, bis jetzt verbrenne ich dies Ausreden über die Verfügbarkeit), nun, ich wollte den Sensor so eiche wie möglich machen, damit lange Drähte dorthin führen können. Es ist nicht sehr angenehm, in der Lektion "SPI oder i2c 7 Meter von den Arduinen zu ziehen, 7 (sieben) Meter, Karl".
Ich halte den Sensor im Allgemeinen für erfolgreich, aber er hat einen Nachteil. Dieser Nachteil liegt im speziellen zeitlichen (d. H. Zeitlichen) Profil des Signals, sozusagen der ADSR-Hüllkurve. Es gibt eine Reihe von Optionen, wie genau die Luft in den Sensor eindringt und wie sie hineingeblasen wird. Sie können lange blasen, Sie können kurz, oft / selten und so weiter. Daher benötigen wir einen genauen Zeitrahmen, der die Auslösung des Sensors für einige Zeit auf diejenigen und nur die Fälle beschränkt, in denen Null von ihm kommt, und nach dieser Zeit sollte Null eine Einheit werden, wiederum nicht weniger als einige Zeit. Es scheint ein paar Bedingungen zu sein, aber tatsächlich stellte sich heraus, dass es schwierig war, diese Rahmen auszuwählen, und eine Differenz von etwa 100 ms veränderte die Sensorantwortlogik diametral. Natürlich gab es kein Oszilloskop, um die notwendigen Messwerte während eines Modellstoßes zu erfassen und dann das System der Bedingungen für sie anzupassen. Auf die eine oder andere Weise war das Setup auf zwei oder drei Wochen Arbeit beschränkt, und es gab dort keine besonderen Tricks. Auch die Drähte rissen nicht.
Apropos Drähte
Dies ist größtenteils ein kupferbeschichtetes Aluminium-Twisted-Pair-STP mit einem Folienschirm. Früher gab es ein Kupfer-UTP-Paar, aber fast alles wurde durch ein abgeschirmtes ersetzt. Erstens hat die Leckage an den Sensoren aus irgendeinem Grund aufgehört, was zuvor zu Fehlalarmen geführt hat, und zweitens - es ist so ruhiger. Echtes Bimetall, aber na ja. Dummheit wurde von dem Techniker, der vor mir mit dem Projekt gearbeitet hatte, so oft zugelassen - er verbrachte
alles mit seinem UTP-Paar. Einschließlich der Drähte der Lampen, die ursprünglich 220 waren. Dann setzten sie dort Lampen mit einem langen Gewinde ein und verbrauchten unbedeutenden Strom, und dies war im Prinzip im Allgemeinen zulässig, wenn Sie sich nicht um die Sicherheit kümmern. Aber das Licht von Goodwins Lampen mit Urfin funktionierte nicht und wir ersetzten sie durch Klebeband und lieferten 12 statt 220. Da die Lampen bereits installiert waren, gab es eine E27-Patrone, und wir haben nur ein paar Schals auf Mega8 hergestellt, zu denen solche abgerissenen Sockel abgerissen wurden mit Energiesparlampen. Alles scheint so zu sein, aber in einer Wand in der Patrone gab es eine Polarität und in der anderen Wand eine andere Polarität, und es hat Spaß gemacht, den ausgefallenen 7805 zu wechseln, als die Lampen vertauscht wurden. Seitdem wurden Inschriften mit einem Lötkolben darauf gebrannt, von dem einer stammte. Dann wollten Urfin und Goodwin diese Lampen steuern, und es war faszinierend und unterhaltsam, ihnen genau zu erklären, wie und welche Steuerungsoptionen sie auf zwei Drähten haben, von denen zwei Stromkabel sind. Sie kicherten irgendwie, stritten sich aber nicht, das ist ein Plus für sie im Karma. Wir werden auf diesen Aspekt zurückkommen, aber jetzt fahren wir mit den Drähten fort.
Im Allgemeinen sind viele interessante Entscheidungen damit verbunden, da alles gleichzeitig gebaut und verbunden wurde. Ich verstehe, dass alles dem Hausmaler Petya zuliebe war, der nicht rauchen und dumm sein sollte und auf den Maurer Vasya wartet, aber etwas hypothetischer etwas mehr Fragen stellen könnte. Das Mandat als solches wurde im Laufe der Arbeit geboren, aber wir werden dies auf Noobilität und mangelnde Erfahrung zurückführen. Die Konsequenzen daraus sind: 8 Meter Band, dies ist eine Minute, fast 10 Ampere, angetrieben von
einem Kern eines UTP-Paares. Zu Ehren dieses Kerns kann er einem solchen Strom standhalten (Spoiler: nicht alle) und nicht einmal warm, sondern nur dank Modulation sowie echtem, monolithischem Kupfer ohne Bimetall. Wenn jedoch die Modulation stoppt und sich einer auf dem Feldverschluss befindet, ist es dem Feld egal. Nach einer Stunde dieses Regimes wird die Isolierung schmelzen und die Jungs aus dem magischen Land von Oz werden Spaß daran haben, den Draht herauszusuchen, weil er Beton im Boden hat. Nun, sie wussten nicht, dass sie in Zukunft beschließen würden,
so viel Klebeband dort zu kleben, na
ja , mit wem es nicht passiert. Natürlich muss alles aus einer Stärke von 70 Zentimetern gezogen werden, aber trotzdem ...
Einige der Drähte erwiesen sich später als überhaupt unnötig. Ein Teil der Kabel ist ein koaxiales TV-Kabel für Kameras (natürlich nicht IP) und Mikrofone. Als wir beschlossen, den DVR etwas zu ziehen, stellte sich heraus, dass die Kabel der Kameras und Mikrofone erhöht werden mussten. Dann stellte sich heraus, dass Kabel, die versuchen, sie gewaltsam in die Riffelung zu drücken, normalerweise an der Stelle des Lötens brechen. Einige der verdrillten Paare wurden vor mir geschieden, und dann entschied Dr. Emmett Brown, dass es großartig wäre, die Nachteile in einem Kabel zu einem blau-braunen Paar zu machen, in dem anderen blau und grün. Ich war es gewohnt, Paare zu lösen und alle weißen Drähte zu einem Minus und ein Plus zu machen - alle farbigen Drähte. Sie sehen, es ist schwieriger, die Polarität zu mischen. Um später diese Polarität von baumelnden, gebissenen Kabeln herauszufinden - es war nur ein Lied! Insbesondere wenn ein Motor mit einem Widerstand von einigen Ohm am anderen Ende angeschlossen ist und es unmöglich ist, einen Kurzschluss von einem Nicht-Kurzschluss durch Widerstand zu unterscheiden ... Im Allgemeinen war es einen Monat später möglich, eine mündliche Prüfung anhand der Widerstände aller Kabel im System sowie der Schaltkreise durchzuführen, deren Farben innerhalb von Twists angeschlossen sind zusammen. Dies wurde nicht einmal in die Tabellen geschrieben, es wird in den Subkortex gefahren, da sie Soldaten einfahren und dann mitten in der Nacht nach der Seriennummer der Maschine fragen.
Sound-Subsystem
WTV-020SD16P nicht angemeldet. Er liest keine TF-Karte, es gibt keine eindeutigen Anzeichen dafür, dass sie überhaupt funktioniert, Beispiele für verständliche Ergebnisse geben es nicht. Eine Alternative war die selbstfahrende atmega328-Pistole mit der TMRpcm-Bibliothek. Ich mochte die Amplitude des Signals nicht, sie versuchten, den Widerstand am PWM-Ausgang zu reduzieren, reduzierten-reduzierten, 328 und ja, nehmen Sie eine Rinde. Geändert, an einen solchen Verstärker angeschlossen, an einen solchen Verstärker im Allgemeinen - leise, sagen sie. Nicht zufrieden. Sogar einer dieser Chelniks äußerte die großartige Idee, einen Verstärker (einen chinesischen Sprecher) in Reihe zu schalten, und an seinen Ausgang, an dem zwei Drähte zum Lautsprecher angeschlossen sind, gibt es einen zweiten Verstärker, und dies war eine titanische Aufgabe: eine einfache Botschaft, die besagt, auf den Punkt zu bringen "Alter, du verbrennst nur den Eingang." In dunklen Nächten quälen mich Albträume und ich wache in kaltem, klebrigem Schweiß mit nur einem Gedanken auf: Was ist, wenn er mir nicht glaubt? Ein Eimer Humor, das ist mir egal.
Insgesamt gibt es 6 Schallquellen, von denen sich in einem der Räume ein Tieftöner und ein Stereoklang befinden. Daher können wir diese 4 Zonen, aus denen der Ton gehört wird, willkürlich nennen. Die ersten drei repräsentieren einfach verschiedene 5.1-Kanäle und werden von einem Computer aus gesprochen, der letzte Kanal des Tieftöners war nicht genug. Es gibt einen Computer, einen kleinen Lautsprecher und einen großen Lautsprecher, die auf verschiedenen 2.0-Kanälen (Stereo) angeordnet sind.
Wenn der Computer gestartet wird, startet Firefox darauf, darin - auf der Seite, auf der Seite - eine Endlosschleife mit einer AJAX-Anforderung an das PHP-Skript, das vom Server auf demselben Computer bereitgestellt wird. Auf Anfrage von außen an PHP schreibt er eine Nummer in die Datei, auf Anfrage von AJAX von der Seite - er sagt die Nummer, wenn sich die Nummer von der vorherigen unterscheidet - AJAX, genauer gesagt howler.js, spielt einen Ton ab. Wo es auf den Ton ankommt, herrscht bei einigen Tönen im rechten Kanal völlige Stille, sie gelten für einen Lautsprecher, bei anderen Tönen herrscht Stille im linken Kanal, sie gelten für einen anderen Lautsprecher.
Der Computer ist alt und vergisst etwas, das es möglich gemacht hat, ihn in wenigen Stunden über WOL aufzuwecken. Das heißt, wenn Sie es ausschalten und sogar vom Telefon aus, zumindest von einem anderen Computer, für die absehbare Zeit ein WOL-Paket senden, wird der Computer gestartet. Ein Tag vergeht und er tut dies nicht mehr. Daher mussten zwei Drähte an seinen Netzschalter gezogen werden.
Der Rest des Sounds blieb mir ein Rätsel, früher wurde er auch mit howler.js aus HTML abgespielt, dann hat eine neue Person die VLC-Player-Bibliothek an seine Java-Anwendung angepasst, jetzt weiß ich es nicht. Ich verstehe die Kommentare im Sinne von "Ein Server mit Heuler - eine Krückenlösung, wo ist das MP3-Schild?", Erkläre ich sofort. Zu diesem Zeitpunkt hatte ich noch keine Kaufidee, außer "Hier haben wir 5 Spieler auf WTV020, hier sind die Flash-Laufwerke". Es stellte sich als funktionierende Lösung heraus, und ich glaube nicht, dass es schlimmer ist als das MP3-Schild.
Befehlssubsystem
Jetzt handelt es sich um zwei Zentralprozessoren, an die Sensoren / Performer über lange Drähte angeschlossen sind. Lang - das bedeutet mehr als zwei Meter. Wenn der Auftragnehmer - über IRFZ48N oder eine Relaisplatine oder ein stärkeres Relais (60A), wenn der Motor oder Phasenregler am Triac + moc3021 / 3051. Wenn der Sensor durch einen Optokoppler geführt wird, wird die Sensormasse von der Arduino-Masse gelöst. Die Länge der Drähte beträgt bis zu 20 m, es handelt sich jedoch entweder um Stromschleifen oder um Litzen für starke Lasten. Warum nicht gleich DMX / RS-485 für sie trennen, für mich ist es ein Rätsel. Aber da ist was es ist. Zuvor wurden sie vom nRF24L01 + -Transceiver-Netzwerk ferngesteuert. Das Transceiver-Protokoll enthielt einen Gerätecode, einen Operationscode und sogar eine verdammte Großmutter, und es gab nicht einmal Kollisionen, aber es funktionierte so lala mit der Ethernet-Schleife. Anfragen kommen häufig, weil Urfin und Goodwin einen Status auf dem Computer des Bedieners sehen möchten, vorzugsweise in Echtzeit. Daher wurde zuerst eine Endlosschleife in die HTML-Oberfläche und dann in den Java-Dienst eingefügt, um den Status von beiden Controllern kontinuierlich abzufragen . In den 150 Millisekunden, in denen der Controller im Netzwerk beschäftigt war, interessierte er sich natürlich nicht für Transceiver.
Es gibt zwei Möglichkeiten, dieses Subsystem zu verbessern.Erstens können Sie den Abfragezyklus stoppen und den Status nur senden, indem Sie die Sensorwerte ändern. Dazu benötigen Sie einen Sender, der dem Computer ein Signal geben kann (z. B. ein serielles ESP8266-WLAN, das eine Anforderung für PHP sendet).
Zweitens ist es möglich, das System in separate Geräte zu unterteilen, von denen jedes direkt mit einem Computer kommunizieren kann. Dies erfordert jedoch eine Netzwerkschnittstelle auf
allen Geräten, von Sensoren bis zu Motoren. Angenommen, mehrere Geräte konzentrieren sich geografisch in der Nähe einer Tür und benötigen dennoch mehr als 2. Erstellen Sie im Allgemeinen eine TCP / IP-Peripheriekarte aus der Suche nach der Weltraum-Odyssee. Ein solches Board ist die bestmögliche Lösung.
Prozessorientiert
Diese Theorie gehört mir nicht, ich bestehe auf nichts. Und in meinen Gedanken gibt es keine Zweifel an den Geschäftsqualitäten von Goodwin und Urfin, aber die Anzahl der Entscheidungen, die sie getroffen haben, deutete ausdrücklich auf ihre Absicht hin, die Lieferung des Projekts so weit wie möglich zu verzögern. Es geht hauptsächlich um die Umsetzung. Das epischste, dies ist vielleicht ein direkter Hinweis, um alle Verbindungen zum Arduino mechanisch herzustellen. Dies sind die 40x2,54 Stahlstifte aus Kunststoff. Warum dies getan wurde, wenn das Löten auf die Platine zuverlässiger ist, ist nicht klar. Ich erinnere dich, Twisted Pair wurde gelötet. Welches ist eigentlich hart und kann aus dem Stecker springen. Was Sie nicht an den Stift eines Tupfers anlöten, da dieser sonst abfällt, ist Lötsäure obligatorisch. Was dann am Ort des Lötens mit Schrumpfschlauch verschlossen werden muss, weiß man nie was.
Zuvor befanden sich alle, gut oder fast alle Geräte zusammen mit Anschlüssen und Optokopplern auf der Platine. Es war das größte Board, das jemals von mir hergestellt wurde. Es hat eine Größe von 305 x 405 mm. Leider war die Folie chinesisch, und daher betrug die Folienschicht nur 18 Mikrometer, und das Verzinnen war nur eine verdammt gute Beschäftigung. Aufgrund der enormen Größe waren alle Änderungen erforderlich, um es vollständig anzuheben, da es mehr als 40 Steckverbinder gab, von denen jeder mindestens drei Drähte hatte, und alle zu trennen, um es zu entfernen - es war besser, sich sofort den Kopf abzubeißen. Das Löten von Gegenständen war äußerst unangenehm, da sich die Platine
über dem Lötkolben befand. Darüber hinaus gab es trotz aller überprüften Verkabelung immer noch Fehler in den Anschlüssen. Weniger als ein Monat, und dieses Cross-Board wurde schließlich aufgegeben, obwohl es bequemer war, Künstler mit Sensoren daran anzuschließen. Dies ist die zweithäufigste erfolglose Lösung. Die ersten waren und bleiben grüne LEDs im Band, die das Licht der Flamme simulieren.
Wenn wir sofort wüssten, dass es logischer ist, die gesamte Logik in unmittelbarer Nähe des Routers / Computers zu platzieren und nur die Kabel zu den Endgeräten zu ziehen, die nicht für die lokalen Controller vorgesehen waren, wäre es möglich, die Arbeit viel früher abzuschließen. Wir hatten jedoch keine Erfahrung und konzentrierten uns höchstwahrscheinlich auf den Prozess - etwas, das logisch daraus folgt. Ich teile diese Ansicht nicht und glaube, dass alle bewährten Optionen das eine oder andere Plus waren, da sie viele erfolglose Lösungen enthüllten. Wenn ich weiterhin damit beschäftigt bin, den Fluchtraum zu brechen, ist unsere Erfahrung für jemanden nützlich, der diesen Artikel liest.
Einerseits habe ich überhaupt kein Recht, über dieses Thema zu sprechen: Der Thron unseres Feindes wird ohne mich gebrochen. Einige ihrer Entscheidungen, die dem gesunden Menschenverstand zuwiderlaufen und die Kosten minimieren, haben mich jedoch besonders gestört. Wenn Sie mich beauftragt haben, einige Entscheidungen zu treffen, streiten Sie nicht und zweifeln Sie nicht. Wenn ich sage, dass das Signal vom Lautsprecher eines Verstärkers nicht dem Eingang eines anderen Verstärkers zugeführt werden kann, dann habe ich Grund. Wenn ich sage, dass der RFId-Lesebereich nicht ausreicht, hatte ich Zeit zu überprüfen, ich sage nichts von der Decke.
Der Mann, auf den mein Job geworfen wurde
Im achten Monat schloss sich ein weiterer Charakter unserem Projekt an, den wir den Holzfäller nennen werden. Er verfügte über einige industrielle Sensoren, und einige der Geräte wurden sowohl im Design als auch in der Logik geändert. Zu diesem Zeitpunkt wurde es mir bereits gründlich gegeben, und sein Eingreifen im Allgemeinen wurde von mir verlangt. Etwas, das eindeutig funktionierte, funktionierte nicht, die gleichen 6 Infrarotperimeter, die die Funktion eines Präsenzsensors erfüllten. Zumindest konnten Gespräche mit ihm geführt werden, im Gegensatz zu Urfin und Goodwin, denn er unterschied den Verschluss vom Widerstand. Dieselben zwei von mir drängten mich manchmal, alle Zähne nacheinander ohne Betäubung herauszuziehen.
Der Holzfäller schlug sofort mehrere Korrekturen vor, die die Zuverlässigkeit beeinträchtigen könnten, aber nur wenige davon führten zu Ergebnissen. Zuletzt war er es jedoch, der die Frage nach der Verwendung von IRRemote-Code in Objekten aufwirft. Das heißt, dieses Ding wurde bereits vollständig debuggt, und dort passierte ihnen immer noch etwas. Oorfene kletterte, um einen von ihnen zu zerlegen, und arrangierte einen Kurzschluss, ich musste den Transistor wechseln. Dies ist jedoch nur der Moment, in dem Sie nicht noch einmal klettern sollten.Die einzigartige Entwicklung des Holzfällers ist ein Winkelsensor, der beispielsweise für ein Lenkrad mit Pedalen benötigt wurde. Um festzustellen, wo es gedreht wurde, war der KY040-Encoder mit dem Controller ursprünglich vorhanden, die Alpha-Version hatte sogar Schmitt-Trigger und einen Zähler von der PighiXXX-Schaltung, der Rattern unterdrückt und konvertiert. Es ist nicht klar, welche Phase in Step / Dir-Signale verschoben wurde. Aber es war nicht möglich, verantwortungsbewusste Arbeit von ihm zu bekommen, dann begann er Fehler zu machen, brach dann völlig zusammen und so wurde beschlossen, sie durch eine Scheibe mit einem Loch und zwei Fotounterbrecher, bestehend aus der alten sowjetischen Fotodiode FD265 mit Komparator und weißen LEDs, zu ersetzen. Wenn sich die Scheibe drehte, erschien das Loch unter den LEDs, bei den Komparatoren wurde Null erhalten. Die Reihenfolge, in der Nullen von zwei Komparatoren kamen, ermöglichte es, die Richtung und die ungefähre Position abzuschätzen. Es ist nicht nur ein Encoder, sondern erfordert auch keine Unterbrechungen.Dies bedeutet, dass es über lange Drähte angeschlossen werden kann. Lang bedeutet mehr als zwei Meter. Komm schon, seien wir ehrlich - Optokoppler, eine antiparallele Diode und 0,1-Mikrofarad-Keramik lassen sich problemlos auf dem KY040 installieren, und Sie erhalten einen normalen Encoder, der mindestens hundert Meter lang angeschlossen werden kann. Darüber hinaus waren sie in einem Beutel in loser Schüttung verstreut. Aber der Niederschlag blieb, ich wollte nicht mehr kommunizieren, und der Code wurde bereits umgeschrieben und arbeitete genauer.Die Störungen, die später auftraten, waren höchstwahrscheinlich auf eine Fehlfunktion in der Leitung zurückzuführen, mit einer Art von geisterhaften Signalen, die induziert wurden, aber am Ende funktionierte es. Der einzige Nachteil war, dass es langsam arbeitete und bei hohen Geschwindigkeiten etwas übersehen konnte (ich erinnere mich, dass der Abrufzyklus noch in der zentralen Steuerung vorhanden war, die gleichzeitig auch HTTP-Anforderungen vom Control Panel aus bediente). Der Abfragezyklus wurde mit einigen anderen Sensoren auf Pro Mini verlagert, das Informationen über Serial0 an die Hauptsteuerung übertrug. Wie aufregend war es zu erraten, warum es auf Serial1 nicht funktioniert hat! Trotzdem geht es hier nicht darum. Der Winkelsensor hatte einige mechanische Defekte, und der Holzfäller ersetzte ihn durch einen Komplex von etwas, das die Bewegung im Allgemeinen bestimmt (Motor? Encoder? Aber was ist der Unterschied?) Und zwei Hallsensoren.herauszufinden, wo genau die Bewegung vor sich geht. So wurde eine neue, bereits dritte Version des Codes geboren, die die Anzahl der Umdrehungen bestimmt.Neben der Überarbeitung einiger Sensoren befasst er sich auch mit der verbleibenden Hardware-Anpassung des Projekts. Ich schreibe ihm keine besonderen Verdienste zu, aber das Gold für das Kriechen geht an den, dessen Schlag der letzte ist. Das Projekt wird von dieser Person abgeschlossen, aber ich werde die Lorbeeren der Bastarde bekommen, die einen dicken Haufen auf Leute geschossen haben, die meine Hilfe brauchen. Einerseits ist meine Tat ekelhaft, und ich gebe es zu. Andererseits wurden mir bestimmte Bedingungen zur Verfügung gestellt - als diese Bedingungen nicht mehr zu mir passten, war meine gottähnliche Person nicht mehr in diesen Bedingungen. Das ist alles.
Aber ekelhaft, nicht ekelhaft - mir irgendwie gleichgültig. Dem Holzfäller drücke ich meinen Dank aus - er nahm auf, wozu ich nicht mehr die Kraft hatte.Fehlerbehandlung
Der erste und wichtigste Schritt in Richtung einer transparenten und fehlerfreien Verwaltung ist das Board der Space Odyssey. Dieses Ding ist notwendig , es ermöglicht Ihnen, eine Reihe von Problemen gleichzeitig zu lösen:- Wenn der Auftragnehmer keine leistungsstarken Verbraucher hat, kann das gesamte Gerät (die Karte selbst und beispielsweise ein paar Meter Band, das an die Karte angeschlossen ist) mit PoE betrieben werden.
- Sie werden keine Verkehrsunfälle haben. Sie werden überhaupt keine systematisch wiederholten Anfragen haben, was bedeutet, dass Sie zehnmal seltener ein Netzwerk herunterfahren, eine Antwort verpassen oder irgendetwas anderes. Alle Steuerungen können vollständig asynchron gemacht werden - etwas wurde vom Executor benötigt - sie haben eine Anfrage gesendet - es wurde abgeschlossen. Alles, wiederholen Sie die Anfrage ist nicht mehr notwendig.
- Sie haben Zugang zu Informationen über den Künstler im Allgemeinen. Sensoren? Ja, sogar ein Dutzend, wir haken durch das Multiplexer / Schieberegister und sehen jeweils , auf was und wie viel. Der Motor? Sie können es nicht nur einschalten, sondern auch sicherstellen, dass es mit einem Stromsensor wirklich eingeschaltet ist.
Ein typisches Beispiel für "wie man nicht" - wir machen eine Nachahmung einer Flamme auf der achten Mega, billig, elementar - was gibt es zu bieten? random () und nur. Egal wie.Ich versichere Ihnen, wenn Sie so argumentieren, werden Sie sich in genau der gleichen Situation befinden. Dann müssen Sie die Farbe der Flamme ändern, dann sanft löschen / Licht, dann die Linie mit Hörnern, und es gibt überhaupt keine Steuerdrähte vom Wort. Und Sie werden das Radio nicht aufhängen, weil das SPI beschäftigt ist. Oder etwas anderes. Und was auch immer Sie wollen - so cool, aber gebären Sie eine Entscheidung.Daher ist es am wichtigsten, den Künstlern einen direkten Zugang zum Computer zu ermöglichen und umgekehrt. Vielleicht über Modbus. Vielleicht DMX. Aber je näher die Schnittstelle ist, desto weniger Hämorrhoiden werden in Zukunft auftreten. Am nativsten ist TCP / IP. Ich rate Ihnen, den ESP8266 nicht zu missbrauchen, auch wenn Sie es wirklich wollen. Es besteht die Möglichkeit, ein Kabel zu verlegen - verwenden Sie ein Kabel.Als nächstes zurück zu den Regeln. Wir arbeiten die Sensoren von und nach durch, damit der aktuelle Zustand auf einen Blick ausgewertet wird und alles klar und eindeutig funktioniert. Wenn der Sensor diskret ist (null oder eins), sollte der Pegel in der Mitte nicht darauf erscheinen. Wir löten die Drehungen oder gar nicht und verteilen alles auf Schildern / Platinen. Wir sparen keine Drähte. Wir verwechseln die Polarität nicht. Wir wissen mit Sicherheit: Wenn Sie etwas vergessen, schalten Sie es falsch ein, nur ein Narr kann es kaputt machen - ja, das ist richtig, ein solcher Narr kann gefunden werden. Einschalten, vergessen, brechen. Daher Schutz, Schutz und sogar Tonnen von Schutz.Selbst man sollte als Dummkopf betrachtet werden. Früher war ich mit dem üblichen Arduino ISP-Anschluss vertraut, aber eines Tages kam der Tag, an dem der MOSI / D12-Port in meinem Programmierer starb. Der Programmierer habe natürlich einen anderen, aber der Anschluss ist anders - einreihig. Und es hat sieben Drähte, nicht sechs. Erst plus, dann leer, dann minus und alles andere. Das Gegenteil zu sagen war im Allgemeinen unmöglich. Sie sagen - und wo sind die Widerstände 100-300 Ohm für jeden dieser Drähte? Und es würde mit dem Standard funktionieren und verkehrt herum würde nichts brennen. Das stimmt, und jetzt habe ich auch Widerstände. Aber ich werde niemals einen symmetrischen Stecker machen.Ein weiterer Punkt sind die Stromsensoren. Sie sind billig, es ist ein leistungsstarker niederohmiger Widerstand, ein Trimmwiderstand und ein halber LM393. Es ist jedoch zu sehen, dass sich die Tür bereits geöffnet hat, der Motor, der sie zieht, jedoch noch eingeschaltet ist und die Wicklungen sie nicht mögen. Ich empfehle, sie auf alles zu setzen, was aus der Ferne eingeschaltet werden kann. Es ist nicht erforderlich für LEDs / Band, aber wenn es wirklich viele LEDs gibt, ist es wünschenswert. Ein Bündel Klebeband lädt die Stromquelle sowie die Motoren.Wenn Sie keinen zusätzlichen Timer aus Watchdog erstellen müssen, verwenden wir ihn für den vorgesehenen Zweck. Damit ein baumelndes Gerät nach maximal 4 Sekunden nicht mehr baumelt. By the way, nichts , absolut neinInformationen, die die Funktionsweise der Quest bestimmen (Unzugänglichkeit beim Öffnen von Türen, geschlossenen / offenen Schlössern usw., Störfestigkeit von Sensoren), sollten nicht im RAM gespeichert werden. Wir müssen davon ausgehen, dass absolut alles jederzeit hängen kann. Dies sollte die Logik von Aufgaben und Entscheidungen nicht verzerren / verletzen. Die Zuweisung der Verantwortung für den Status des Systems ist nur auf einem Gerät möglich - dem Computer des Bedieners, sodass er immer ein vollständiges Bild des Status vor Augen hat.Wenn Sieeine selbstfahrende Pistole bauen, ist dies die Hauptsache: Jeder Fall sollte einen 0,1 μF Keramikkondensator haben. Jedes Schieberegister, jeder Komparator. Umso mehram Mikrocontroller. Ein solcher Kondensator plus ein uF-Elektrolyt, also 100, sollten mit nRF24L01 +, ESP8266, ENC28J60 verlötet werden. Direkt an den Stiften der Platine oder an Drähten in unmittelbarer Nähe der Platine. Land auf dem freien Bereich der Tafel ist nicht überflüssig. Toner ist billig, aber schneller. Außerdem schirmt hypothetisch etwas auf dem Brett ab. Quarz wird überall benötigt. Ohne Quarz können Sie Arduino auf atmega8 herstellen, vorausgesetzt, die Intervalle werden nicht genauer als Hunderte von Mikrosekunden gezählt. Atmega8 ist billiger als Attiny85 / 2313.Wenn Sie zwischen LiIon- und NiMH-Akkus wählen können, ist das Aufladen von Lithium einfacher: Boards auf TP4056 können, wie Banana sagte, entnommen und beschichtet werden, es gibt jedoch noch keine speziellen Controller für Nickel.Wenn sich im System Leistungsträger befinden, die ein langfristiges Einschalten nicht ertragen können (Schlösser, Magnete, Heizungen, möglicherweise einige leistungsstarke Motoren, Motoren mit endgültiger Traktion, die versehentlich etwas brechen / brechen können), sollten sie zusätzlich vor einem langfristigen Einschalten geschützt werden. Wenn Sie beispielsweise den Antrieb der Fahrzeugverriegelung längere Zeit einschalten, erzeugt die Motorwicklung Wärme, der Motor erwärmt sich und schmilzt das Getriebe, da es aus Kunststoff besteht. Wir alle wissen, dass eine Sekunde ausreicht, um ihn zu öffnen / schließen. Wir machen nur einen zweiten Pulsformer, wir brauchen nur 555 und ein paar Umreifungsbänder. Oder eine RC-Kette mit einem CMOS-Trigger.Der Lader ist in der Regel böse. Schreiben Sie über den ISP oder ändern Sie zumindest den Standard in optiboot.Arduino kann plötzlich ein MIDI-Gerät sein. Wenn Sie Sound auf einem Computer benötigen, ist es besser, wenn dieser in einem VST-Player oder -Instrument und nicht in einem Browser unter Javascript angezeigt wird. Dies ist der Fall, wenn lokaler Sound nicht möglich / nicht angenehm ist. VST pflügt und hostet jetzt zur Hölle, auch kostenlos.Psychologischer Aspekt
Die klügsten Auftragnehmer unserer Welt sind Huren. Sie können und sollten ihnen ein Beispiel geben: Sie sagen dem Kunden klar und deutlich, was er tun kann und was er in irgendeiner Weise vermeiden wird. Mein Fehler war nicht die Teilnahme an dem Projekt an einer bestimmten Position, sondern an mehreren - dies führte zu unnötiger Verantwortung und suboptimalem Zeitaufwand. Zum Beispiel waren zwei Wochen einer Sache gewidmet, die im Wesentlichen nur ein Knopf / Schalter / Kontaktpaar war. Obwohl Sie einfach Ihren Mund öffnen und sagen könnten: "Wenn Sie es wünschen, muss ein Draht mit dem anderen verbunden werden, wenn er diesem Ding ausgesetzt ist." Und ich bin verantwortlich für das Programm und für welche dieser Drähte Masse und welcher digitale Eingang.Vier Wochen waren den Einstellungen in der Farbe des Glühens des Bandes gewidmet, und dann ist das Ergebnis alles andere als ideal. Und das ist unmöglich zu kontrollieren. Sie könnten einfach ein Radio / Kabel herstellen und die Farbe vollständig auf dem Computer ausgeben, oder zumindest einige Faktoren. Oder brutal, um einen Bereich im EEPROM bereitzustellen, der von einem externen Streuner mit einem Bildschirm 1602 und einer Taste gesteuert werden kann, weil es nicht schwierig wäre, einen solchen Streuner zu machen.Drei Wochen lang haben sie einen Pfosten in der Mechanik der Türen gefangen, obwohl es mein Pony war, der schnappte, brachen ein paar Rollen von ihnen ab. Nun, es ist nichts Besonderes. Wir nennen diese Behauptung gewöhnliches Jammern.Und te te und te pe. Diese Leute versuchten, eine 100-Pfund-Last mit einem 40-Watt-Motor zu bewegen. Vierzig Watt, Carl. Diese Leute stellten mir systematisch eine Frage, warum ich das nicht tun sollte, ohne auf die Feinheiten dieser Option einzugehen. Ja, einige ihrer Entscheidungen waren vernünftig. Aber einige ließen mich heftig brennen und mich wundern - warum belle ich mich, nachdem ein Hund gekauft wurde?Im Allgemeinen können in diesem Aspekt nur zwei Prinzipien unterschieden werden:- Kennen Sie Ihr Beharren und bestehen Sie darauf. Denken Sie, dass Luft von einem Kompressor gepumpt werden kann? Lassen Sie sie nicht mit Ihrer Aquarienpumpe klettern.
- Beschriften Sie die Regeln. Ich hoffe, nur mit einem Gummiband, nur in einer klassischen Pose. Entschuldigen Sie die Gemeinheit, aber es gibt keine anderen Metaphern, die Sie aufgreifen könnten.
Ich denke, ich habe dazu genügend Informationen geliefert. Denken Sie, denken Sie daran, teilen Sie Erfahrungen. Meins war nicht das beste, aber es ist wertvoll, und der Rest wird einfacher, je mehr Erfahrung wir in den Kommentaren weitergeben. Also mach weiter.Zu Ihrer Information: Der Artikel enthält keine Abbildungen, da ich nicht den Sinn sehe, zwei ISP-Konnektoren zu zeichnen, einer ist Standard, der andere gehört mir und richtig / falsch signiert. Alle oben beschriebenen Lösungen sind leicht zu googeln, schreiben Sie jedoch bei Bedarf in die Kommentare. Es stehen Bearbeitungsoptionen zur Verfügung, und alle interessanten Abbildungen können hinzugefügt werden.