Wie man den Fluchtraum verlässt

Published on August 27, 2017

Wie man den Fluchtraum verlässt

    Der Artikel warnt teilweise vor Annahmen und schließt nicht aus, dass der Entwickler all seine Nachteile spüren kann. Teilweise versucht er zu erklären, was der Kunde von Ihnen will. Teilweise arbeitet er an den Fehlern oder dem Erkennen des „Narren“. Achtung: DotA Jargon voraus, "Ich bin kein Geek!", Sowie geschickte Präsentation ohne die Hilfe von Matten. Wenn Sie weiterlesen, besteht die Gefahr, dass Sie sich eine Meinung bilden, dass der Autor ein absolut abgestoßenes Tier ist und kein Mitleid, keine Angst und keine Barmherzigkeit kennt. Nehmen Sie einfach an, dass jeder das Recht hat, unvollkommen zu sein, und alles wird gut mit uns. Bitte und danke

    Es wurden Arbeiten am automatischen Fluchtraum durchgeführt, auf deren Einzelheiten wie üblich verzichtet wird. Diese Arbeit dauerte mehr als ein Jahr, und anfangs gab es im Hinblick auf den banalen Mangel an Erfahrung wirklich greifbare Mängel, aber dann wurde alles zu einem nicht optimalen Management. Kunden (sie hießen zum Beispiel Goodwin und Urfin) waren hauptsächlich mit der kosmetischen Komponente des Projekts befasst. Nachdem wir uns auf die eigentliche Logik und Implementierung konzentriert hatten, wurden sie von und zu befasst, weil die Türen und Objekte fertig waren und es notwendig war, sie herzustellen sie zogen um. Die Zeit begann zu drängen und irgendwann schliefen wir 5 Stunden am Tag.

    Natürlich ist es notwendig, die Details zu verwischen, um die Geheimhaltung zu wahren, aber ich bin zu spezifisch, um mich an etwas zu erinnern und zu scheitern, weil ich vor mehr als 5 Monaten alle Arbeiten daran eingestellt habe. Es stellte sich heraus, dass die Arbeit genug war, um sich jeden Tag ein stumpfes Messer zu leisten, um eine Blechdose mit etwas Makrelenhecht zu öffnen, und die Teebeutel waren so kompakt, dass die Senkgrube mich alle zwei Wochen einmal freute. Mein Zimmer wurde zu einem Lüftungsschacht, in dem Rebecca aus dem Film "Aliens" lebte. Oder "Alien 2", wie man es kennt. Wenn sich jemand nicht erinnert, dann ist hier ein Bildschirm mit einer Menge Müll:

    Rebecca die Newt

    Die Ereignisse, die den Auslöser ausgelöst haben. es gab keine solche sache, die mich zwang, "gg" zu schreiben, um zu plaudern und zu gießen, da dies nicht der fall war. Ich wurde nur von einem klaren Gedanken besucht: Ich brauche eine lange Pause. Der Sender auf meinem Handy ging für 4 Monate in den Flugzeugmodus. Dieselben 4 Monate in der Statistik von Anfragen nach Gesicht, Kontakt, Foren, in denen meine Cookie-Daten in irgendeiner Weise erscheinen könnten, sind durch ein so langes Loch gekennzeichnet. Niemand konnte über irgendeinen Kanal mit mir in Kontakt treten. Ich war nur begeistert, im Zimmer zu sitzen, Eintopf zu essen und im Dothan zu rollen. Ich kenne das Foulgeschäft, aber ich hatte Zeit, um wenigstens irgendwo Perfektion zu erreichen.

    Wenn ich das ganze Projekt zusammenfasse, kann ich sofort den Hauptfehler nennen - das Fehlen eines systematischen Ansatzes. Ich weiß, dass in Space One eine spezielle Schnittstellenkarte verwendet wurde, die periphere Interaktion mit TCP / IP ermöglicht. Ich hatte keine solchen Boards, nur eine Handvoll Arduino, die am Ende für einige absolut einfache Dinge benötigt wurden. Wir haben versucht, alles Mögliche auf die Verwaltung einer einfachen 0 oder 1 zu reduzieren, aber auf den Darm, sozusagen Mikrocontroller. Dadurch wurde die Last auf dem zentralen Server, der auf dem Mega2560 gesammelt wurde, verringert, um Informationen im Web mit der geringsten Verzögerung zu empfangen und auszugeben. Die Logik der Quest wurde von Wiring auf 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 kopiert (xml, das von der Java-Anwendung gesteuert wurde). Obwohl es im Allgemeinen naiv ist zu glauben, dass dies etwas gab, da es immer noch in der Windows-Umgebung ausgeführt wird. Im Allgemeinen überarbeitete diese Arbeit oft etwas, das wie ein Debugging ausgesehen hatte, wobei einige Schwärme plötzlich herauskrochen, und der ursprüngliche Artikel wurde genau darüber geschrieben. Jetzt implementiert die Implementierung der Logik die Anwendung in Java, genauer gesagt, in Bezug auf die Ursachen und Voraussetzungen dafür.

    Warum Java und nicht JS? Ich habe keine Ahnung, er wurde von einer anderen Person geschrieben, anscheinend ist ihm dieses Tool vertrauter. Nachdem dieser Mann von der WhatsApp-Gruppe eine Nachricht erhalten hatte, dass ich nicht erschienen war, um die Details zu klären, schickte er Picard einen Rahmen an die Gruppe und lehnte seine Hand an den Kopf, aber er würde wissen, dass es mir in diesem Moment absolut egal war - ich denke, ich könnte verstehen. Und wir werden versuchen herauszufinden, wie es passiert ist. Heutzutage ist das mögliche Aufeinanderbellen nicht so ärgerlich, „sie sind unzureichend, halten sich nicht an Vorschriften, halten sich nicht an Normen und Betriebsvorschriften, führen Geräte zu inakzeptablen Regelungen, hinterfragen meine Qualifikationen mit jedem Satz“, „es ist unzureichend, inkompetent, das Projekt nicht abzuschließen Vielleicht ist das Timing verfälscht, ständige Veränderungen, eine Art Samopal ist nicht wie bei allen anderen. “usw. usw.

    Pobazlali und das ist genug. Goodwin und Urfin sind immer noch Ghule, aber das Letzte, was mir in den Sinn gekommen wäre, war, ihr Geschäft absichtlich zu verderben. Ich werde die Vorteile und den Schaden trotz alledem nicht bekommen - nicht für das Gemeinwohl. Warum also die Welt verschlechtern? Ich denke, dass die Priorität der Aufgabe, mich zu betrügen und gegen Werbung vorzugehen, nicht besonders hoch ist, so dass sich niemand an mich wenden wird. Kaum eine solche Aufgabe wurde gestellt. Erfahrung ist ein strenger Lehrer, und Sie müssen die Kraft finden, 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 sagen, lieber Leser.

    Wir haben uns selten mit übler Sprache überhäuft, aber die Stimmung war trotzdem so lala. Um nicht wahnsinnig zu werden, musste ich in meiner Arbeit das Schwierigste verwenden, was ich schaffen konnte - Anleitungen für VJLink und Streaming von Karina. Ja, ja, ich erinnere dich: Ich bin kein Geek, ich bin nur ein Tier. Natürlich bin ich mir der Tatsache bewusst, dass diese beiden Dummköpfe klinisch sind: glaube nicht, dass einer von ihnen ein spiritueller Lehrer für mich ist; itpedia ist für diese Rolle viel besser geeignet. Aber wir waren irgendwie von der Suche abgelenkt, die Gedanken auf dem Weg dorthin liefen ungefähr auf "Ja, um ihn wieder zu nerven, solange es geht, wenn es endet." Im Allgemeinen spiegelt sich die mangelnde Begeisterung für jedes Projekt am schlimmsten wider. Wer muss schwitzen, wenn Slark in Ihrem Team 0-7 ist? Es ist also soweit: Wenn jede Aufgabe, jede implementierte Lösung mit einem Fehler auf einen 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 von diesen Techniken 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. Lernen 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 ähnlich. Teilen Sie Ihre Erfahrungen, alle werden Ihnen dankbar sein.

    Meine Regeln


    • Alle Sensoren müssen angegeben werden.
    • Alle Komparatoren müssen eine Hysterese haben.
    • Alle Drehungen müssen verlötet werden.
    • Alle Stromkabel sollten dick sein.
    • Alle Signalkabel müssen abgeschirmt sein.
    • Alle Drähte mit Spannungen über 40 V müssen besser isoliert sein als nur ein langweiliges Paar. 220 Twisted Pair oder Nudeln - Moveton.
    • Alle Auslässe müssen einen offenen Sammler / offenen Abfluss haben.
    • Alle Eingänge müssen Signale über die Stromschleife / Optokoppler empfangen.
    • Alle Geräte, die eine asynchrone Empfangsübertragung durchführen, müssen über einen Reset-Impulsformer und einen Watchdog-Timer verfügen, um jederzeit empfangsbereit zu sein.
    • Alle Schaltgeräte müssen funkensichere Stromkreise haben. Vor allem Relais, zusammengeklebte Kontakte machen keinen Spaß.
    • Jeder Mechaniker ist schwerer als ein Kilogramm wie ein Getriebe. Menschen, die den Motor ohne Getriebe auf den Ziegel setzen, wissen: Die Hand des Satans wird jeden überholen. Verdammt noch mal: 3
    • Alle induktiven Lasten müssen eine gegenparallele Diode aufweisen, um die selbstinduzierte EMK zu unterdrücken. Wenn der Strom in beide Richtungen fließen kann (Öffnen / Schließen der Verriegelungen von Autoaktuator, Motor usw.), wird anstelle einer Diode ein Kondensator mit 0,1 μF verwendet.
    • Widerstände, Transistoren und Optokoppler sind nicht überflüssig.
    • Widerstände sind nicht überflüssig, insbesondere bei ISP-Steckverbindern.
    • Der ISP-Anschluss muss so sein, dass er nicht verkehrt herum eingesteckt werden kann.
    • Batterien mögen keine Tiefentladung. Egal was.
    • Besonders verbrauchte Batterien.
    • Die Quarzstabilisierung ist gut und positiv wie die von Sergei Simonov. Gehen Sie in zeitkritischen Anwendungen auf den 555 ein - böse und negativ.
    • Kabel ist immer besser als Radio.

    Bewegungssensoren, Entfernungsmesser, Reedschalter und Sensoren sind keine Anwesenheitssensoren.


    Es ist zwar in der Beschreibung des Produkts HC-SR501 geschrieben, aber - nein. Präsenz wird NICHT erkannt. Sie bestimmt die Störungen im Interferenzmuster, die der Sensor durch die Fresnellinse sieht. Die Anwesenheit einer Person in einer bestimmten Zone wird durch die Unterbrechung des Infrarotstrahls bestimmt und ist eng fokussiert und sogar unter Vorbehalt. Ursprünglich zur Verwendung mit dem Ultraschall-Entfernungsmesser vorgesehen. Unglücklicherweise für den Entfernungsmesser bestanden die Wände des Raumes aus Schaumstoff, der 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 konnten das Flaggensystem nicht verwenden und den gleichzeitigen Betrieb beider Sensoren verbieten, aber immer noch). Im Allgemeinen hat sich herausgestellt, dass die Messwerte dieser Sensoren nur durch einen amüsanten Zufall oder aufgrund von "Gewächshaus" -Bedingungen der Wahrheit nahe kamen.

    Der Infrarot-Entfernungsmesser hatte leider keine Zeit zum Kaufen oder Testen (obwohl es wem gesagt wurde, zu der einen oder anderen Zeit). Daher wurden Infrarotempfänger in einer Wand und LEDs in einer anderen Wand entlang der Ränder des Raums eingemauert. Um sie sichtbar zu machen, gab es keinen Scherz, 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 perfekt, aber die Vorderseite war so ein 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 als die Lichter in den Kameras gesehen werden. Außerdem reichte die Entfernung nicht aus, normalerweise bestimmten sie Personen nur innerhalb von 45 cm. Deshalb musste ich meine eigenen machen.

    VS1838 (übrigens eine universelle Sache, die immer noch benötigt wird) und TSAL6200, die in Rohre aus Kunststoffdübeln gesteckt wurden, beteiligten sich daran. Es hat nicht geklappt In robokratrata (sorry, nicht für Werbung denken) werden IR-Fototransistoren mit zwei Ausgängen verkauft, sie sehen aus wie eine transparente LED, kosten 15 Rubel oder so, sie haben eine starke Abnahme des Widerstands, wenn sie mit stabilem unmoduliertem Licht von 780-1000 nm beleuchtet werden, und es war notwendig, zu verwenden sie. Aber für das Jahr haben sie nicht gekauft. Aber ich hatte ein paar VS1838, die aus chinesischen Haushaltsgeräten für Hauswirtschaftsräume herausgerissen wurden und die ich nicht kenne - dies ist ein so kleines, weniger empfindliches und billiges Analogon von TSOP1738. Wie wir alle wissen, enthält der 1738 einen Demodulator, einen Filter und eine AGC. Daher können sie nicht unmoduliertes Licht einstrahlen, für den Sensor wird es nur das Hintergrundlicht sein. Im Allgemeinen, Es war einfach, die Impulsfolgen der erforderlichen Frequenz auf die LEDs zu übertragen. Sie müssen lediglich den direkten Ausgang zum Port verwenden (für solche Dinge ist digitalWrite () zu langsam) und delayMicroseconds (27). 27 μs entspricht ungefähr einer halben Periode von 38 kHz, dem vom Sensor zugewiesenen Träger. Es ist jedoch unmöglich, einfach 38 kHz zu nehmen und zu leuchten, ein solches AGC-Signal zählt als Rauschen, daher musste ich 38 kHz in Bursts aufteilen, damit das Signal nicht abgeschnitten wird. Seltsamerweise wurde die parasitäre Ausleuchtung benachbarter Sensoren (es gab insgesamt sechs, der Abstand zwischen ihnen betrug etwa 35 cm) nicht beobachtet, es traten besondere Helligkeitsabfälle auf, die zu einer unterschätzten Empfindlichkeit einiger Einzelsensoren führten - allerdings auch. Nicht. Ra. Bo. Ta Lo. Sie müssen nur die direkte Ausgabe an den Port (für solche Dinge ist digitalWrite () zu langsam) und delayMicroseconds (27) verwenden. 27 μs entspricht ungefähr einer halben Periode von 38 kHz, dem vom Sensor zugewiesenen Träger. Es ist jedoch unmöglich, einfach 38 kHz zu nehmen und zu leuchten, ein solches AGC-Signal zählt als Rauschen, daher musste ich 38 kHz in Bursts aufteilen, damit das Signal nicht abgeschnitten wird. Seltsamerweise wurde die parasitäre Ausleuchtung benachbarter Sensoren (es gab insgesamt sechs, der Abstand zwischen ihnen betrug etwa 35 cm) nicht beobachtet, es traten besondere Helligkeitsabfälle auf, die zu einer unterschätzten Empfindlichkeit einiger Einzelsensoren führten - allerdings auch. Nicht. Ra. Bo. Ta Lo. Sie müssen nur die direkte Ausgabe an den Port (für solche Dinge ist digitalWrite () zu langsam) und delayMicroseconds (27) verwenden. 27 μs entspricht ungefähr einer halben Periode von 38 kHz, dem vom Sensor zugewiesenen Träger. Es ist jedoch unmöglich, einfach 38 kHz zu nehmen und zu leuchten, ein solches AGC-Signal zählt als Rauschen, daher musste ich 38 kHz in Bursts aufteilen, damit das Signal nicht abgeschnitten wird. Seltsamerweise wurde die parasitäre Ausleuchtung benachbarter Sensoren (es gab insgesamt sechs, der Abstand zwischen ihnen betrug etwa 35 cm) nicht beobachtet, es traten besondere Helligkeitsabfälle auf, die zu einer unterschätzten Empfindlichkeit einiger Einzelsensoren führten - allerdings auch. Nicht. Ra. Bo. Ta Lo. Also musste ich 38 kHz in Bursts aufteilen, damit das Signal nicht abgeschnitten wurde. Seltsamerweise wurde die parasitäre Ausleuchtung benachbarter Sensoren (es gab insgesamt sechs, der Abstand zwischen ihnen betrug etwa 35 cm) nicht beobachtet, es traten besondere Helligkeitsabfälle auf, die zu einer unterschätzten Empfindlichkeit einiger Einzelsensoren führten - allerdings auch. Nicht. Ra. Bo. Ta Lo. Also musste ich 38 kHz in Bursts aufteilen, damit das Signal nicht abgeschnitten wurde. Seltsamerweise wurde die parasitäre Ausleuchtung benachbarter Sensoren (es gab insgesamt sechs, der Abstand zwischen ihnen betrug etwa 35 cm) nicht beobachtet, es traten besondere Helligkeitsabfälle auf, die zu einer unterschätzten Empfindlichkeit einiger Einzelsensoren führten - allerdings auch. Nicht. Ra. Bo. Ta Lo.

    Wir könnten durch dieses Thema verwirrt werden, die Nichtoptimalität des Programms diskutieren (warum dann das Diagnoseprogramm, in dem ein separater Sensor als Definition ausgewählt wurde, idealerweise von und nach funktioniert?), Aber dies geht über den Rahmen des Themas hinaus. Lassen Sie mich nur sagen, dass ich selten Fehler mache. Wenn ich die sechs Signaldrähte in einem Bündel verdrehe, weiß ich: Der Ausgang von ihnen ist ein offener Kollektor, in einem Bündel ist dies nicht der Fallwird sich nicht gegenseitig beeinflussen. Ich weiß, dass jeder Sensor parallel zur Stromversorgung einen eigenen 0,1 μF-Kondensator hat, dass jede LED einen eigenen, separaten Widerstand hat und dass mehrere LEDs parallel zu nur einem abgeschlossenen Widerstand geschaltet sind. Damit wir nicht weiter darauf eingehen, war es notwendig, Fototransistoren zu verwenden und die LEDs mit Gleichstrom zu versorgen. Alle Auch jeweils in der Röhre, um parasitäre Fackeln zu vermeiden. Es könnte funktionieren, nur in einem bestimmten Stadium wurde die notwendige Entscheidung nicht getroffen.

    RFId ist nicht ewig, ich bin nicht unendlich


    Der RFId-Empfänger hat eine sehr kleine Lesezone. Bei guten Empfängern sind es etwa 7 cm, bei schlechteren 4 cm. Die Spule kann zurückgespult werden (Hauptsache, die Resonanzfrequenz geht nicht zu weit von 125 kHz weg), aber auch nicht auf irgendeine Größe. Sein Durchmesser kann jedoch um das 2- bis 2,5-fache vergrößert werden. Die Aktion umfasste drei autonome, die sich an einer beliebigen Stelle des Themas befanden und identifiziert werden mussten. Die Größe von zwei dieser Artikel entsprach in etwa den Abmessungen des ATX-Netzteils bzw. des Spulendurchmessers von einigen zehn Zentimetern, sodass auf die RFId-Variante verzichtet werden musste.

    Auch hier hat der IR-Kanal geholfen, nur nicht mit so starken LEDs, sondern schwächer (im Gegenteil, das Signal musste nur in unmittelbarer Nähe der Empfänger empfangen werden). In einem der Objekte sind 11 Leuchtdioden eingemauert, die aus allen möglichen Winkeln leuchten, weil das Objekt rund ist. Der andere hat einen Holzgriff, so dass es nur drei LEDs gibt, da es nicht notwendig ist, in Richtung des Griffs zu leuchten, ragt er immer noch hoch, wo es keinen Empfänger gibt. Der dritte Punkt ist recht klein, und in seinem Fall könnte es sogar möglich sein, die RFId erneut zu beachten, aber die Abmessungen waren immer noch nicht mit der Lesezone zu vergleichen.

    Alle Artikel werden mit 18650 Batterien mit einer Kapazität von 2000 bis 3400 mAh betrieben. Wo es 2000 gibt, wird es benutzt. Das Prinzip bei IR ist einfach: Wir warten eine lange Zeit (Sekunden), geben ein Rechtecksignal von 38 kHz ein, das etwas länger als eine Millisekunde ist, damit der Empfänger auslöst und am Ausgang eine eindeutige Null ausgibt. Nach Belieben wiederholen. Anfänglich waren zwei 555x-Timer damit beschäftigt, natürlich schlich sich die Zeit dahin, wo sie natürlich vergaßen, es auszuschalten, aber der Timer will immer essen, und es ist für ihn nicht notwendig, dass 20 mA, natürlich, zwei benutzte Banken es wirklich nicht mochten.

    Die Gegenstände mussten geöffnet werden (ja, die Silikonenden der Zombies, die F1-Granate aus Gusseisen ohne eine einzige Naht, überlegen Sie es sich selbst), obwohl es nicht viel Zeit in Anspruch nahm. Nun, für eine Woche waren sie insgesamt vergeben. Die Timer wurden durch atmega8 ersetzt, der IRRemote-Code passte nicht dorthin (obwohl lustig, konnte ich nach einer Weile eine Skizze zum Senden zusammenstellen und der Compiler zeigte keine Fehler mit dem ausgewählten atmega8 - vielleicht hatte ich bereits eine neue Version der Bibliothek). Warum 8? Nun, billig, und der 328 war nicht verfügbar. Das Programm gab einfach eine Impulsfolge mit der erforderlichen Pause aus, und nach 7000 Sekunden schlief es ein, versetzte alle Ausgänge in einen hochohmigen Zustand und schaltete alles aus, was möglich ist, um den Stromverbrauch auf Dutzende von Mikroampere zu senken. Es funktioniert und das Problem ist gelöst.

    Auf der Empfangsseite lösen drei Sensoren drei Zustände aus. Bei Eintreffen des Impulses wird der Zähler gestartet und der Zeitstempel (Millis) gespeichert. Wenn der nächste Impuls zum gleichen Sensor kam und der Zähler n1 erreichte - das erste Element, n2 - das zweite und so weiter. Wenn n groß genug ist und es kein Signal gibt, 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:

    1. Es ist keine Aufgabe für Noobs, eine Menge (dh mehr als einen) IR-Empfänger an einen Controller anzuschließen. Ja, auch auf mega2560. Ja, es gibt eine IRRemote-Gabel mit mehreren Gabeln. Einzelsensoren und ein selbstgemachtes Zustandssystem sind einfacher.
    2. Es gab Missverständnisse beim Schreiben des IRRemote-Codes in atmega8. Ja, es war möglich, ein RAW-Paket zu schreiben, ein Array daraus zu bilden und dann wieder Low-Level-Funktionen und Mikrosekundenverzögerungen zu erzeugen, aber etwas war zu faul.
    3. Die Sensoren haben lange Drähte, man weiß es nie. Lang ist mehr als zwei Meter.

    Über den DC-05-Anschluss (Stromanschluss von arduine) können Sie die Zählzeit zurücksetzen. Wenn Sie einen Anschluss daran anschließen, werden zwei der drei Kontakte geöffnet, wodurch die Stromversorgung unterbrochen wird. Das dritte Element hat keinen Stecker (es ist zu authentisch dafür), aber das Zurücksetzen verursachte auch keine Probleme - der Akku wird vom TP4056 geladen, es hat einen CH-Pin, eine Null, die den Ladevorgang anzeigt - es ist mit dem Zurücksetzen verbunden. TP4056 empfängt die Energie drahtlos über eine Spule - wir setzen sie auf die Ladeschale - es ist wie beim Einstecken eines Steckers, alles wird zurückgesetzt. Sie haben es abgenommen - das Dumping wird nicht auf den Boden gezogen, man kann die Impulse zählen. Wir haben gezählt - wir werden tief und lange schlafen; Um den Akku zu deaktivieren, müssen Sie das Aufladen für ein Jahr vergessen. Und dann ist es zusammenklappbar. Diese Gegenstände waren die erfolgreichste Lösung, die fast sofort herauskam, wenn auch mit einigen Tänzen.

    Huch Ungültige Gerätesignatur. Überprüfe die Verbindungen und versuche es erneut oder verwende -F, um sie zu ignorieren ...


    Der abscheulichste Fehler meiner ganzen Praxis. Sie haben keine Ahnung, was los ist. Dies sind die Situationen, die mir einfielen:

    1. Die Reihenfolge der Drähte MOSI (D11), MISO (D12), SCK (D13) ist umgekehrt.
    2. Anstelle von 22 pF-Kondensatoren wird etwas anderes in der Nähe von Quarz verlötet. Anstelle eines von ihnen gab es einmal einen 1k-Widerstand. Gelötete Inschrift unten.
    3. Alle sechs Drähte müssen intakt sein. Ziehen Sie den Tester immer mit der Maus (der Stecker ist ein solcher Stecker) und rufen Sie ihn immer bis zu den Füßen des Controllers auf (niemand hat die Fehler auf der Platine behoben). Oder sogar von den Füßen des Master-Controllers (im Programmierer) zu den Füßen des Slaves.
    4. 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 werden kontaktiert, aber überprüfen Sie noch einmal, ob es nützlich ist.
    5. Ungültiger Controller ausgewählt.
    6. 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 was wir arbeiten, dann unkommentiert.
    7. Sicherungen sind auf externem Quarz (mehr als 8 MHz) installiert, der tatsächlich fehlt. Es gibt immer einen Schal mit einem Quarz und zwei Kondensatoren und drei Drähten. Und auch, immer auf der Leiterplatte Pads versehen, an den XTAL1 und XTAL2 gehen. Auch wenn es genau 8 MHz sein wird, aus den Batterien. Auch wenn "nur ein einziges Mal blinkt, kann man es dort nicht vergessen." So viel wie möglich.
    8. Pure Zauberkraft? Ein anderes, genau dasselbe Brett, das wieder gesammelt wurde, funktionierte.

    Die Plausibilität von Licht


    Verwenden Sie kein dreifarbiges Klebeband für Flammeneffekte. Die Flamme enthält in gewissen Anteilen gelbes Licht, rotes Licht. Alle Versuchen Sie, die Kombination von R + G zu verwenden, um Gelb zu erhalten - die Flamme ist grün. Sie werden versuchen, die Helligkeit zu erhöhen, indem Sie „weißes“ Blau hinzufügen - es entsteht eine Flamme aus blauem, blauem oder violettem Pfirsich, wenn Gelb ausreicht. Es ist nicht erforderlich, kalte Farben als Bestandteile von Primärfarben zu verwenden. Im Allgemeinen sollten keine physisch grünen und blauen LEDs in diesem Band vorhanden sein. Keines der Wörter überhaupt. Diese Entscheidung ist die unglücklichste. Höchstwahrscheinlich entscheiden sich die Klebebänder in den Lampen Goodwin und Urfin immer noch für einen Wechsel. Es sind genügend Kanäle vorhanden, dies wird auch vom Samopal bei atmega8 gesteuert, nämlich der Pro-Mini-Karte, die auch drei Leistungstransistoren für PWM-kompatible Ausgänge besitzt. Zwei gelbe Bänder und ein rotes werden das eine sein. Alle drei sind zufällig. Es ist schade, dass eine tolerante RNG-Schaltung auf einer Rauschdiode nicht abgefangen wurde, obwohl pseudozufällige Atmega8-Opusse tolerabel aussehen. Aber nicht mit grün im Band.

    Stroboskop


    Blitz ist ein edles Phänomen, auf jeden Fall um atmosphärischen Druck auszulösen, aber es ist nicht so anstrengend, wie es scheint. Es ist einfacher, ein Quadrat von 1x1 m, das mit einem Klebeband (80 Meter, 96 Ampere bei 12 Volt, fast 1,2 kW) überklebt wurde, zu schalten, als eine 10-kV-Blitzlampe mit einem Impuls bei einer Stromstärke in Milliampere zu brennen. Warum? Wegen der Breitbandstörung. Das Stroboskop zeigt zum Zeitpunkt des Aufblitzens der grauen Lichter, wo immer dies möglich ist, ein klares Band im gesamten Spektrum. Flash Wie es zu entfernen ist, ist nicht klar. Der Blitz, der über einen Netzfilter aktiviert wird, hängt sowohl den W5100 als auch das Arduin sicher auf. Das einzige erfolgreiche Experiment zu diesem Thema wurde mit einer Batterie durchgeführt. Möglichkeiten, den Blitz aus dem Hauptnetzwerk zu lösen - zwei.

    Methode eins:

    1. Schalten Sie das Stroboskop ein, um den Arbeitskondensator aufzuladen. Bei zwei Relais müssen beide Stromkabel von der Steckdose getrennt werden.
    2. Deaktivieren
    3. Wir aktivieren die Zündwicklung per Funk oder Optokoppler.

    Methode zwei:

    1. Wir stellen die Stromversorgung des Blitzgerätes auf niedrige Spannung um, damit es überhaupt nicht an die Steckdose angeschlossen wird.
    2. Wir aktivieren die Zündwicklung per Funk oder Optokoppler.

    Das Storoboskop muss sorgfältig abgeschirmt werden. Im Allgemeinen ist es nützlich, eine Schachtel mit Folienmaterial um den Zündtransformator herum zu verlöten, nur für den Fall. Und es ist keine Tatsache, dass etwas nicht wieder hängen bleibt. Währenddessen arbeiten leistungsstarke Außendienstmitarbeiter ganz normal bei Frequenzen bis 100 kHz, schalten 80 Meter Band für 100 μs ein - na ja, wie zwei Finger ... naja, im Allgemeinen finde ich keinen passenden Ausdruck, Hauptsache, man muss sich eindecken Kondensatoren, damit der BP nicht schwört. Und die Interferenz wird niederfrequent sein, und dies ist viel einfacher zu filtern. Drosseln, Elektrolyte, na ja, im Allgemeinen, wissen Sie. Ich verstehe, dass dies kein teureres Beispiel als eine Blitzlampe ist, aber es ist einfacher zu arbeiten.

    Dimmer 220


    Vielleicht sind die Schöpfer nicht darauf gestoßen, und vielleicht haben sie nur einen Kanal gemacht, und irgendwie haben sie vergessen, im Web zu erwähnen, dass die Spannung von einem Phasenregler zum zweiten fließen kann, wenn sie in der Nähe sind. Es wird mit einem Überspannungsschutz behandelt. In der Mikrowelle solchen Eisens ist auf dem Körper EMI-Filter geschrieben.

    Ladeluftsensor


    Der Sensor ist einfach, es ist ein beweglicher Vorhang aus verzinntem, foliertem Fiberglas, dessen Bewegung auf einen Radiergummi beschränkt ist. Warum nicht ein Gummiband für Geld? - Fischen ist haltbarer. Die Luft tritt durch ein Rohr mit einem Durchmesser von ca. 2 cm ein. Wahrscheinlich wäre hier ein Laufrad mit Encoder / Magneten + Hallsensoren, Drucksensor usw. eingedrungen, aber das war nicht verfügbar (lol, ein Jahr ist vergangen, bisher habe ich das abgebrannt otmazy über das Vorhandensein) Nun, ich wollte den Sensor so eiche wie möglich machen, damit lange Drähte dorthin gelangen können. Wenig angenehm, wissen Sie, in der Lektion "Ziehen von SPI oder i2c für 7 Meter vom Arduin, 7 (sieben) Meter, Karl".

    Ich halte den Sensor im Allgemeinen für erfolgreich, aber er hat einen Fehler. Dieser Nachteil liegt im speziellen zeitlichen (dh) Signalprofil, sozusagen der ADSR-Hüllkurve. Es gibt verschiedene Möglichkeiten, wie genau die Luft in den Sensor strömt und wie sie geblasen wird. Sie können lange blasen, Sie können kurz, oft / selten und so weiter. Daher benötigen wir genaue Zeitrahmen, die den Sensor-Drawdown für einige Zeit auf diese und nur die Fälle begrenzen, in denen Null daraus resultiert, und nach dieser Zeit sollte Null wieder Eins werden, nicht weniger als einige Zeit. Es scheint ein paar Bedingungen zu geben, aber tatsächlich stellte sich heraus, dass es schwierig war, diese Frames auszuwählen, und die Differenz von etwa 100 ms änderte die Logik der Sensorreaktion diametral. Natürlich gab es kein Oszilloskop, das die erforderlichen Messungen während des Modellhubs durchführte und dann das System der Bedingungen an sie anpasste. Wie auch immer, die Abstimmung wurde auf zwei oder drei Wochen Arbeit reduziert und es gab keine besonderen Tricks. Auch die Drähte sind nicht gerissen.

    Apropos Drähte


    Dies ist größtenteils kupferkaschiertes Aluminium-Twisted-Pair-STP mit einem Folienschirm. Zuvor gab es ein Kupfer-UTP-Paar, aber fast alles wurde durch abgeschirmtes ersetzt. Erstens ist nicht klar, was die Einfälle der Sensoren, die früher zu Fehlalarmen geführt haben, gestoppt haben, und zweitens - so viel ruhiger. Echtes Bimetall, aber na ja. Die Dummheit ist, wie oft der Techniker, der vor mir mit dem Projekt gearbeitet hat, es zugelassen hat - er hat mit seiner UTP ein Paar von allem ausgegeben. Einschließlich der Drähte der Lampen, die ursprünglich 220 waren. Dann stellten sie dort Lampen mit einem langen Faden auf und nagten an einem vernachlässigbaren 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 passte nicht zu uns und wir ersetzten sie durch Klebeband, indem wir 12 statt 220 einsendeten. Da die Lampen bereits installiert waren, gab es eine E27-Patrone, und wir stellten gerade ein Paar Taschentücher auf Mega8 her, an die solche Fassungen gelötet wurden mit energiesparlampen. Es scheint den ganzen Weg durch zu sein, aber eine Polarität in einer Patrone stellte sich als eine Polarität und eine andere Polarität in einer anderen Wand heraus, und es hat Spaß gemacht, einen ausgefallenen 7805 zu wechseln, wenn die Lampen vertauscht waren. Seitdem verbrennen sie die Inschriften mit einem Lötkolben. Dann wollten Urfin und Goodwin diese Lampen steuern, und es war faszinierend und unterhaltsam, ihnen zu erklären, genau wie und welche Möglichkeiten, um zu steuern, wie viele Kanäle sie haben, durch zwei Drähte, von denen zwei Stromkabel sind. Sie sind irgendwie hingefallen, haben sich aber nicht gestritten, das ist ein Plus für sie im Karma. Wir werden auf diesen Aspekt zurückkommen, aber fahren wir vorerst mit den Drähten fort.

    Mit ihnen sind viele interessante Lösungen verbunden, weil alles gleichzeitig gebaut und verbunden wurde. Ich verstehe, dass alles für den Maler Petit ist, der nicht rauchen und dumm sein sollte und auf Vasya wartet, einen Maurer, aber rein hypothetisch war es möglich, ein paar weitere Fragen vorherzusehen. Die technische Aufgabe als solche wurde im Laufe der Arbeit geboren, aber wir werden es für noob und mangelnde Erfahrung abschreiben. Die Konsequenzen sind folgende: 8 Meter Band, für einen Moment fast 10 Ampere, angetrieben von einemAdern UTP Paar. Diesem Kern zu verdanken ist, dass er einem solchen Strom (Spoiler: nicht alle) standhält und nicht einmal warm ist, sondern nur durch Modulation sowie echtes, monolithisches Kupfer ohne Bimetall. Wenn jedoch die Modulation stoppt und sich eine Einheit am Gate befindet, ist es dem Feldmeister egal. Nach einer Stunde eines solchen Regimes wird die Isolierung schmelzen und die Jungs vom Magic Country of Oz werden Spaß daran haben, den Draht herauszusuchen, denn er ist in den Boden eingebettet. Nun, sie wussten nicht, dass sie in Zukunft beschließen würden, so viele Bänder dort zu kleben. Nun, das passiert niemandem. Natürlich muss alles aus der Kraft von 70 Zentimetern herausgezogen werden, aber trotzdem ...

    Ein Teil der Drähte wurde dann überhaupt nicht benötigt. Ein Teil der Drähte - Koaxial-TV-Kabel für Kameras (natürlich nicht IP) und Mikrofone. Als sie beschlossen, den DVR ein wenig zu ziehen, stellte sich heraus, dass die Kabel der Kameras und Mikrofone erweitert werden sollten. Dann stellte sich heraus, dass die Kabel, die versuchen, die Riffelung mit Gewalt zu drücken, in der Regel anstelle des Lötens brechen. Einige der verdrillten Paare wurden vor mir geschieden, und dann entschied Dr. Emmett Brown, dass es großartig wäre, in einem Kabel ein blaues und ein braunes Paar und in dem anderen ein blaues und ein grünes Paar Minuspunkte zu machen. Ich war es gewohnt, die Paare abzuwickeln und alle weißen Drähte als Minus und alle farbigen als Plus zu kennzeichnen. Nun, Sie müssen zugeben, dass es schwieriger ist, die Polarität zu verwechseln. Finden Sie später diese Polarität aus den baumelnden, abgebissenen Kabeln heraus - es war nur ein Lied! Vor allem, wenn an diesem Ende ein Paar Ohm-Motoren angeschlossen ist, und es ist unmöglich, Kurzschluss von Nichtkurzschluss durch Widerstand zu unterscheiden ... Im Allgemeinen war es einen Monat später möglich, eine mündliche Prüfung der Widerstände aller im System vorhandenen Kabel sowie Diagramme zu bestehen, deren Farben innerhalb der Verdrillungen miteinander verbunden sind. Es wurde nicht einmal in die Tabellen geschrieben, es wird in den Subcortex gehämmert, während sie von den Soldaten eingefahren werden und dann mitten in der Nacht nach der Seriennummer des Maschinengewehrs gefragt werden.

    Sound-Subsystem


    WTV-020SD16P ist nicht eingetreten. Keine TF-Karte liest, es gibt keine eindeutigen Anzeichen dafür, was überhaupt funktioniert, Beispiele für eindeutige Ergebnisse gibt es nicht. Eine alternative Option war der Samopal bei atmega328 mit der TMRpcm-Bibliothek. Nicht zufrieden mit der Amplitude des Signals, versucht, den Widerstand am PWM-Ausgang zu reduzieren, reduziert-reduziert, 328 nehmen und bellen. Geändert, an einen solchen Verstärker angeschlossen, an einen solchen Verstärker im Allgemeinen - leise, sagen sie. Nicht zufrieden Sogar einer dieser Männer äußerte einen hellen Gedanken, einen Verstärker (chinesischen Sprecher) nach dem anderen anzuschließen, und an seinen Ausgang, an dem zwei Drähte an einen Lautsprecher angeschlossen sind, kam ein zweiter Verstärker, und es war eine gewaltige Aufgabe: eine einfache Botschaft zu seinem hellen Verstand zu bringen, die besagt "Mann, du verbrennst nur den Eingang." In dunklen Nächten quälen mich Albträume und ich erwache in einem kalten, klebrigen Schweiß mit nur einem Gedanken: Was ist, wenn er mir nicht glaubt? Schmutka Yumora, ist mir egal.

    Insgesamt gibt es 6 Klangquellen, von denen eine ein Tieftöner und in einem der Räume ein Stereoton ist. Wir können also davon ausgehen, dass es sich um 4 Zonen handelt, aus denen der Klang stammt. Die ersten drei stellen einfach verschiedene Kanäle 5.1 dar und werden von einem Computer aus gesprochen, der letzte Kanal hatte nicht genügend Tieftöner. Es gibt einen Computer, einen kleinen Lautsprecher und einen großen Lautsprecher, die in verschiedene 2.0-Kanäle (Stereo) unterteilt sind.

    Wenn Sie Ihren Computer starten, wird Firefox darauf gestartet. Dies ist eine Seite. Auf einer Seite befindet sich eine Endlosschleife mit einer AJAX-Anforderung für ein PHP-Skript, das von einem Server auf demselben Computer bereitgestellt wird. Auf PHP-Anfrage von außen schreibt er eine Nummer in die Datei, auf AJAX-Anfrage von der Seite - er sagt eine Ziffer, wenn sich die Ziffer von der vorherigen unterscheidet - AJAX, genauer gesagt howler.js, spielt einen Ton ab. Wo - hängt vom Klang ab, bei einigen Klängen im rechten Kanal ist es vollkommen still, sie sind für einen Lautsprecher, bei anderen Klängen ist es im linken Kanal still, sie sind für einen anderen Lautsprecher.

    Der Computer ist alt und vergisst etwas, mit dem Sie ihn über den WOL in wenigen Stunden wecken können. Das heißt, wenn Sie es ausschalten und sogar vom Telefon aus, sogar von einem anderen Computer, um das WOL-Paket für die absehbare Zeit zu senden, wird der Computer gestartet. Ein Tag vergeht, und er tut das nicht mehr. Deshalb mussten wir zwei Drähte an seinen Ein- / Ausschalter ziehen.

    Der Rest des Sounds blieb für mich geheim, bevor er mit howler.js auch aus HTML abgespielt wurde. Dann passte die neue Person die VLC-Player-Bibliothek an seine Java-Anwendung an, jetzt weiß ich es nicht mehr. Ich verstehe die Kommentare im Geiste von "Server mit Heuler - eine Krückenlösung, wo ist der MP3-Schutzschild?", Erkläre ich sofort. Zu diesem Zeitpunkt hatte ich noch nicht die Idee, zu kaufen, außerdem "Wir haben 5 Player auf WTV020, hier sind Flash-Laufwerke". Es stellte sich als funktionierende Lösung heraus, und ich halte es nicht für schlechter als das MP3-Schutzschild.

    Befehlssubsystem


    Jetzt besteht es aus zwei Zentralprozessoren, an die Sensoren / Aktoren über lange Drähte angeschlossen sind. Lang - es bedeutet mehr als zwei Meter. Wenn der Darsteller über IRFZ48N ist, entweder eine Relaisplatine oder ein leistungsstärkeres Relais (60A), wenn der Motor oder der Phasenregler am Triac + moc3021 / 3051. Wenn der Sensor durch einen Optokoppler ist, so ist die Masse der Sensoren von der Masse des Arduino gelöst. Die Länge der Drähte - bis zu 20 m, egal ob es sich um Stromschleifen oder Litzendrähte für starke Lasten handelt. Warum lösen Sie DMX / RS-485 nicht sofort für sie auf, für mich ist es ein Rätsel. Aber es gibt etwas, das ist. Bisher wurden sie von einem Netzwerk von Transceivern nRF24L01 + ferngesteuert. Das Transceiver-Protokoll enthielt einen Gerätecode, einen Operationscode und eine andere verdammte Großmutter, und es gab nicht einmal Kollisionen, aber er arbeitete so lala in Verbindung mit der Schleife, die Ethernet bediente. Anfragen kommen häufig vor, weil Urfin und Goodwin auf dem Computer des Betreibers einen Status anzeigen möchten, vorzugsweise in Echtzeit. Daher wurde zuerst in der HTML-Oberfläche und dann im Java-Dienst eine Endlosschleife eingerichtet, die den Status kontinuierlich von beiden Controllern abfragt . Natürlich war er in diesen 150 Millisekunden, in denen der Controller mit dem Netzwerk verbunden war, den Transceivern nicht gewachsen.

    Es gibt zwei Möglichkeiten, dieses Subsystem zu verbessern.
    Zunächst können Sie den Abfragezyklus stoppen und den Status nur durch Ändern der Sensorwerte senden. Hierfür ist ein Sender erforderlich, der ein Signal an einen Computer senden kann (z. B. serielles Wi-Fi ESP8266, das eine Anforderung für PHP sendet).
    Zweitens können Sie das System in separate Geräte unterteilen, von denen jedes direkt mit dem Computer kommunizieren kann. Dies erfordert jedoch eine Netzwerkschnittstelle für alle Geräte, von Sensoren bis zu Motoren. Beispiel: Für mehrere Geräte, die sich geografisch in der Nähe einer Tür befinden und dennoch mehr als 2 benötigen. Erstellen Sie im Allgemeinen eine TCP / IP-Peripheriekarte für die Suche nach Space Odyssey. Eine solche Platine ist die bestmögliche Lösung.

    Prozessorientierung


    Diese Theorie gehört mir nicht, ich bestehe auf nichts. Und in Gedanken wird die geschäftliche Qualität von Goodwin und Urfin nicht in Frage gestellt, aber eine Reihe von Entscheidungen, die sie getroffen haben, deuteten ausdrücklich auf die Absicht hin, die Durchführung des Projekts so weit wie möglich zu verzögern. Dies betrifft hauptsächlich die Umsetzung. Das epischste, es ist vielleicht eine direkte Anweisung, alle Verbindungen zur originalen Mechanik herzustellen, das sind die Stahlstifte 40x2,54 aus Kunststoff. Warum dies beim Löten auf der Platine geschehen ist, ist zuverlässiger und unverständlicher. Ich erinnere Sie daran, dass das Twisted Pair gelötet wurde. Welches ist in der Regel schwer und kann aus dem Stecker springen. Was Sie nicht an den Stift auf der Lochblende löten, sonst wird es abfallen, Lötsäure ist obligatorisch. Was dann an der Stelle des Lötens mit Schrumpfen verschlossen werden soll, weiß man nie was.

    Bisher befanden sich alles oder fast alle Geräte zusammen mit Steckverbindern und Optokopplern auf der Platine. Es war das größte Board, das ich je gemacht habe, seine Größe beträgt 305x405 mm. Leider war die Folie chinesisch, und daher betrug die Folienschicht nur 18 Mikrometer, und sie zu verzinnen war einfach eine verdammt gute Sache. Aufgrund der enormen Größe und der zum vollständigen Anheben erforderlichen Modifikationen gab es insgesamt mehr als 40 Steckverbinder mit jeweils mindestens drei Drähten, die zum Entfernen getrennt wurden. Besser ist es, sich sofort den Kopf abzubeißen. Es war unglaublich unpraktisch, dort irgendetwas zu löten, da sich die Platine oben befandLötkolben. Außerdem wurden trotz aller angepassten Verkabelung immer noch Fehler in den Steckverbindern gemacht. Minus einen Monat, und dieses Cross-Board wurde letztendlich abgelehnt, obwohl es bequemer war, Darsteller mit Sensoren daran anzuschließen. Dies ist die am zweithäufigsten erfolglose Entscheidung, die ersten waren und bleiben grüne LEDs in einem Band, das das Licht einer Flamme imitiert.

    Wenn wir sofort wüssten, wäre es logischer, die gesamte Logik in unmittelbarer Nähe des Routers / Computers zu platzieren und nur die Drähte zu den Endgeräten zu ziehen, was es nicht wert war, Controller im Feld bereitzustellen - es wäre möglich, die Arbeit viel früher abzuschließen. Wir hatten jedoch keine Erfahrung und konzentrierten uns höchstwahrscheinlich auf den Prozess - etwas, das logischerweise daraus folgt. Ich teile diese Ansicht nicht, und ich denke, dass alle bewährten Optionen auf die eine oder andere Weise positiv waren, da sie viele erfolglose Entscheidungen offenbarten. Wenn ich weiterhin in den Fluchtraum einbreche, wird unsere Erfahrung für jemanden von Nutzen sein, der diesen Artikel liest.

    Einerseits habe ich überhaupt kein Recht, über dieses Thema zu sprechen: Unser feindlicher Thron ist ohne mich zerbrochen. Einige ihrer Entscheidungen, die dem gesunden Menschenverstand und der Kostenminimierung zuwiderlaufen, haben mich besonders belastet. 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 zum Eingang eines anderen Verstärkers geleitet werden kann, habe ich einen Grund. Wenn ich sage, dass die RFId-Lesezone nicht ausreicht, bedeutet dies, dass ich Zeit zum Überprüfen hatte. 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 Tin Woodman 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 begann ich bereits gründlich zu geben, und sein Eingreifen war im Allgemeinen von mir gefordert. Offensichtlich funktionierte etwas nicht, die gleichen 6 Infrarot-Perimeter, die die Funktion eines Anwesenheitssensors erfüllen. Anders als bei Urfin und Goodwin konnte man mit ihm zumindest Gespräche führen, da er den Riegel vom Widerstand unterschied. Dieselben beiden drängten mich manchmal, alle Zähne nacheinander ohne Betäubung herauszuziehen. Der Tinman schlug sofort mehrere Korrekturen vor, die die Zuverlässigkeit beeinträchtigen könnten, aber nur wenige dieser Korrekturen ergaben Ergebnisse. In jüngster Zeit Sie waren diejenigen, die die Frage nach der Verwendung des IRRemote-Codes in Objekten aufgeworfen haben. Das ist das DingEs wurde bereits vollständig getestet, und dennoch ist dort etwas passiert. Uorfin kletterte, um einen von ihnen zu demontieren und machte einen Kurzschluss, musste den Transistor wechseln. Dies ist jedoch genau der Moment, in dem es nicht notwendig wäre, erneut zu klettern.

    Die einzigartige Entwicklung des Tinman ist ein Winkelsensor, der beispielsweise für ein Lenkrad mit Pedalen benötigt wurde. Um zu bestimmen, wo gedreht wird, stand der KY040-Encoder mit einem Controller dort, die Alpha-Version hatte sogar Schmitt-Trigger und einen Zähler aus der PighiXXX-Schaltung, der das Prellen unterdrückte und transformierte. Es ist nicht klar, ob die Phasenverschiebung in Step / Dir-Signale erfolgte. Aber er hat es nicht geschafft, vernünftige Arbeit zu leisten, dann fing er an, Fehler zu machen, dann brach er zusammen, und so wurde beschlossen, ihn durch eine Scheibe mit einem Loch und zwei Fotounterbrecher zu ersetzen, die aus einer alten sowjetischen Fotodiode FD265 mit einem Komparator und weißen LEDs bestanden. Wenn die Scheibe gedreht wurde, erschien das Loch unter den LEDs, und auf den Komparatoren wurde eine Null erhalten. Die Reihenfolge, in der die Nullen von zwei Komparatoren stammten, ermöglichte es, die Richtung und ungefähr die Position abzuschätzen. Nicht, dass der Encoder, aber keine Interrupts benötigt, So kann es durch lange Drähte verbunden werden. Lang ist mehr als zwei Meter. Um ehrlich zu sein, Optokoppler lassen sich problemlos in das KY040, eine gegenparallele Diode, eine Keramik mit 0,1 Mikrofarad, einbauen, und wir erhalten einen normalen Encoder, der in einem Abstand von mindestens 100 Metern angeschlossen werden kann. Zumal sie lose in einer Tüte verstreut sind. Aber das Sediment blieb, ich wollte nicht mehr kontaktiert werden, und der Code wurde bereits umgeschrieben und genauer gearbeitet.

    Die Störungen, die später auftraten, waren höchstwahrscheinlich auf einen Leitungsfehler zurückzuführen, mit einigen gespenstischen Signalen, die induziert wurden, aber am Ende funktionierte es. Sein einziger Nachteil war, dass er langsam arbeitete und bei hohen Geschwindigkeiten etwas verpassen konnte (denken Sie daran, dass der Abfragezyklus im zentralen Controller noch vorhanden war, der auch HTTP-Anforderungen vom Control Panel bediente). Der Vermessungszyklus wurde zusammen mit einigen anderen Sensoren auf pro mini verschoben, wodurch Informationen über Serial0 an den Hauptcontroller weitergegeben wurden. Wie faszinierend war es, sich zu fragen, warum es bei Serial1 nicht funktioniert hat! Trotzdem geht es nicht darum. Der Winkelsensor hatte einige mechanische Defekte, und der Tinman ersetzte ihn durch einen Komplex aus etwas, das die Bewegung im Allgemeinen bestimmt (Motor? Encoder? Aber welchen Unterschied macht es?). Und zwei Hallsensoren, herauszufinden, wo genau die Bewegung stattfindet. So entstand eine neue Version, die dritte Version des Codes, der die Anzahl der Umdrehungen definiert.

    Neben der Überarbeitung einiger Sensoren kümmert er sich um die verbleibende Hardwareanpassung des Projekts. Ich schreibe ihm keine besonderen Verdienste zu, aber das Gold für das Kriechen geht an denjenigen, dessen Streik der letzte ist. Das Projekt wird von dieser Person abgeschlossen, aber ich werde die Bastarde der Bastarde bekommen, die einen dicken Haufen von Leuten getötet haben, die meine Hilfe brauchen. Einerseits ist meine Tat widerlich, und ich gebe es zu. Andererseits wurden mir bestimmte Bedingungen gewährt - als diese Bedingungen für mich nicht mehr geregelt wurden, hörte meine gottähnliche Person auf, sich unter diesen Bedingungen zu befinden. Alle Und ekelhaft, nicht ekelhaft - ich irgendwie gleichgültig. Ich bedanke mich beim Tin Woodman - er hat das aufgenommen, wofür ich keine Kraft mehr habe.

    Bug Arbeit


    Der erste und wichtigste Schritt in Richtung transparenter und spielfreier Kontrolle ist das Board von Space Odyssey. Diese Sache ist notwendig , es ermöglicht Ihnen, eine Reihe von Problemen auf einmal zu lösen:

    1. Wenn der Auftragnehmer keine leistungsfähigen Verbraucher hat, kann das gesamte Gerät (die Platine selbst und beispielsweise ein paar Meter Band, die an die Platine angeschlossen sind) über PoE mit Strom versorgt werden.
    2. Sie werden keine Kollisionen im Verkehr haben. Sie werden überhaupt keine systematisch wiederholten Anfragen haben, was bedeutet, dass die Wahrscheinlichkeit, ein Netzwerk einzurichten, die Antwort oder etwas anderes zu verpassen, um das Zehnfache geringer ist. Die gesamte Verwaltung kann vollständig asynchronisiert werden - etwas, was vom Executor benötigt wird - sie haben eine Anfrage gesendet - sie wurde ausgeführt. Alles, es ist nicht notwendig, die Anfrage zu wiederholen.
    3. Sie haben Zugang zu Informationen über den Künstler im Allgemeinen. Sensoren? Ja, auch ein Dutzend, wir durchforsten ein Multiplexer / Schieberegister und sehen jeweils , worauf und wie viel. Motor? Mit einem Stromsensor können Sie nicht nur einschalten, sondern auch sicherstellen, dass er wirklich eingeschaltet ist.

    Ein typisches Beispiel für "wie man nicht" - eine Nachahmung der Flamme auf der achten Mega, billig, elementar - was gibt es zu bieten? random () und nur. Als wäre es nicht so.
    Ich versichere, 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 / entzünden, dann den Teufel mit Hörnern, aber es gibt keine Steuerdrähte, aus dem Wort zusammen. Und Sie können das Radio nicht aufhängen, weil SPI beschäftigt ist. Oder was anderes. Und wie du willst - also dreh, aber gebar eine Entscheidung.

    Daher ist es am wichtigsten, den Interpreten direkten Zugriff auf den Computer zu ermöglichen und umgekehrt. Vielleicht über Modbus. Vielleicht DMX. Je vertrauter die Benutzeroberfläche ist, desto weniger Hämorrhoiden treten in Zukunft auf. Das ursprünglichste ist TCP / IP. Ich rate Ihnen, 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 kehren wir zu den Regeln zurück. Sensoren arbeiten von und bis, so dass der aktuelle Zustand auf einen Blick ausgewertet wird und alles klar und eindeutig funktioniert. Wenn der Sensor diskret ist (Null oder Eins), sollte er keinen Pegel in der Mitte anzeigen. Drehungen gehen verloren oder werden gar nicht ausgeführt, wodurch alles auf Bretter / Bretter aufgeteilt wird. Wir sparen keine Drähte. Die Polarität ist nicht verwechselt. Wir wissen mit Sicherheit: Wenn Sie etwas vergessen, schalten Sie es falsch ein, nur ein Narr kann es kaputt machen - ja, genau, ein solcher Narr wird gefunden. Einschalten, vergessen, Pause. Daher Schutz, Schutz und jede Menge Schutz.

    Auch du solltest dich für einen Narren halten. Früher war ich mit dem üblichen Arduin-ISP-Anschluss zufrieden, aber eines Tages starb der MOSI / D12-Anschluss in meinem Programmierer. Der Programmierer hat natürlich einen anderen, aber der andere Anschluss ist einreihig. Und es gibt sieben Drähte, nicht sechs. Erst Plus, dann leer, dann Minus und alles andere. Im Gegenteil, es war unmöglich, es überhaupt festzuhalten. Sie sagen - wo sind die Widerstände 100-300 Ohm für jeden dieser Drähte? Und es würde mit dem Standard funktionieren und nichts würde verkehrt herum brennen. Das stimmt, und jetzt habe ich auch Widerstände. Aber der Stecker ist symmetrisch, ich werde es nie wieder tun.

    Noch etwas - Stromsensoren. Sie sind billig, dies ist ein leistungsfähiger niederohmiger Widerstand, ein Abgleichwiderstand und die Hälfte des LM393. Aber es wird sich zeigen, dass die Tür bereits geöffnet hat, aber der Motor, der daran zieht, noch eingeschaltet ist und seine Wicklungen es nicht mögen. Ich empfehle, sie auf alles zu setzen, was Sie aus der Ferne einschalten können. LEDs / Bänder sind nicht erforderlich, aber wenn es wirklich viele LEDs gibt, ist dies wünschenswert. Ein Haufen Klebeband lädt sowohl die Stromversorgung als auch die Motoren.

    Wenn Sie keinen zusätzlichen Timer aus Watchdog erstellen müssen, verwenden Sie ihn für den vorgesehenen Zweck. Damit jedes baumelnde Gerät in maximal 4 Sekunden nicht mehr baumelt. Übrigens nichts , absolut neinInformationen, die den Modus der Suche definieren (Unzugänglichkeit des Öffnens der Türen, Schließen / Öffnen der Schlösser usw., Immunität des Sensors), sollten nicht im RAM gespeichert werden. Man muss davon ausgehen, dass in jedem Moment alles hängen kann. Dies sollte in keiner Weise die Logik von Aufgaben und Entscheidungen verfälschen oder verletzen, sondern es ist nur möglich, einem Gerät - dem Computer des Bedieners - die Verantwortung für den Zustand des Systems aufzuerlegen, damit es immer ein vollständiges Bild der Zustände vor unseren Augen hat.

    Wenn Sie Samopal sammeln, dann ist hier die Hauptsache:

    Jeder Fall muss einen Keramikkondensator von 0,1 Mikrofarad haben. Jedes Schieberegister, jeder Komparator. Umso mehram Mikrocontroller. Ein solcher Kondensator und der uF-Elektrolyt 100 sollten auch mit nRF24L01 +, ESP8266, ENC28J60 verlötet werden. Direkt auf den Pins der Platine oder auf den Drähten in unmittelbarer Nähe der Platine. Land auf einer freien Brettfläche ist nicht überflüssig. Toner ist billig und jätet schneller. Außerdem schirmt hypothetisch etwas auf dem Brett ab. Quarz ist überall notwendig. Ohne Quarz kann bei atmega8 ein Arduin hergestellt werden, vorausgesetzt, dass die Intervalle nicht genauer als Hunderte von Mikrosekunden gezählt werden. Atmega8 ist billiger als Attiny85 / 2313.

    Wenn Sie zwischen LiIon- und NiMH-Akkus wählen, ist das Aufladen von Lithium einfacher: Die Platinen auf TP4056 können, wie Banana sagte, entnommen und benetzt werden, spezielle Controller für Nickel sind jedoch immer noch nicht sichtbar.

    Wenn es im System Leistungsträger gibt, die langfristige Starts nicht tolerieren (Schlösser, Elektromagnete, Heizelemente, möglicherweise einige leistungsstarke Motoren, Motoren mit einem Endschub, die versehentlich etwas brechen / reißen können), ist dies zusätzlich ein langfristiger Schutz für sie. Wenn zum Beispiel ein Autoschloss-Aktuator permanent eingeschaltet ist, 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 zum Öffnen / Schließen ausreicht. Wenn wir nur einen zweiten Pulsformer machen, brauchen wir nur 555 und ein paar Bänder. Oder RC-Chain mit CMOS-Trigger.

    Lader - in der Regel - böse. Schreibe via ISP oder ändere zumindest den Standard auf optiboot.

    Arduino SUDDEN kann ein MIDI-Gerät sein. Wenn Sie Sound in einem Computer benötigen, ist es besser, wenn er in einem VST-Player oder -Instrument und nicht in einem Browser unter Javascript angezeigt wird. Dies ist der Fall, wenn der lokale Ton nicht möglich / nicht zufriedenstellend ist. VST-Pflüge und -Hosts sind jetzt höllisch voll, auch kostenlose.

    Psychologischer Aspekt


    Die klügsten Bauunternehmer unserer Welt sind Huren. Wir können und sollten ihnen ein Beispiel geben: Sie teilen dem Kunden klar und deutlich mit, was er tun kann und was sie in keiner Weise vermeiden. Mein Fehler war, an einem Projekt nicht an einer bestimmten Position, sondern an mehreren teilzunehmen - dies führte zu unnötiger Verantwortung und nicht optimalem Zeitaufwand. Zum Beispiel waren zwei Wochen einer Sache gewidmet, die im Wesentlichen einfach ein Knopf / Schalter / Kontaktpaar war. Obwohl Sie einfach Ihren Mund öffnen und sagen könnten: "Wie Sie möchten, tun Sie es, ich brauche einen Draht, um mit einem anderen zu schließen, wenn Sie auf dieses Ding einwirken." Und ich bin verantwortlich für das Programm und für welche dieser Drähte wird die Erde und welchen digitalen Eingang.

    Vier Wochen waren den Einstellungen in der Farbe des Glühens des Bandes gewidmet, und das Ergebnis ist alles andere als ideal. Und das ist unmöglich zu kontrollieren. Sie könnten einfach ein Radio / Kabel herstellen und die volle Farbe oder zumindest einige Koeffizienten auf den Computer übertragen. Oder brutal, um einen Bereich im EEPROM bereitzustellen, der durch externes Pribluda mit dem Bildschirm 1602 und der Schaltfläche korrigiert werden kann, weil es nicht schwierig wäre, ein solches Pribluda herzustellen.

    Drei Wochen lang erwischten sie einen Joint in der Mechanik der Türen, obwohl mein Chelik darauf klickte, brachen ein paar Rollen ab. Nun, es ist nichts Besonderes. Nennen wir diese Beschwerde gewöhnliches Jammern.

    Und te te und te pe. Diese Leute versuchten, eine 100-Pfund-Last mit einem 40-Watt-Motor zu bewegen. Sorokavattny, Karl. Diese Leute stellten mir systematisch die Frage, warum ich das nicht tun sollte, ohne mich mit den Feinheiten der Option Syak zu befassen. Ja, einige ihrer Entscheidungen waren vernünftig. Aber manche ließen mich brennen und wundern - warum bellte ich mich, nachdem ich einen Hund gekauft hatte?

    Generell können in diesem Aspekt nur zwei Prinzipien unterschieden werden:

    1. Kennen Sie Ihre Qualifikationen und bestehen Sie darauf. Glauben Sie, dass Luft von einem Kompressor gepumpt werden kann? Lassen Sie sie nicht mit ihrem Aquariumpomp klettern.
    2. Markiere die Regeln. Nur mit einem Gummiband, nur in einer klassischen Pose. Tut mir leid für die Gemeinheit, aber es gibt keine anderen Metaphern, die man aufgreifen könnte.

    Zu diesem Thema habe ich, glaube ich, genügend Informationen angegeben. Denken Sie nach, erinnern Sie sich, tauschen Sie Erfahrungen aus. Meines war nicht das Beste, aber es ist wertvoll und es wird für den Rest einfacher, je mehr Erfahrung wir in den Kommentaren geben. Also mach weiter.

    Zu Ihrer Information: Der Artikel ist frei von Abbildungen, da ich keinen Grund sehe, zwei ISP-Anschlüsse zu zeichnen, einer ist Standard, der andere ist meiner und es ist richtig / falsch zu signieren. Alle oben beschriebenen Lösungen lassen sich leicht googeln, aber wenn Sie eine benötigen, schreiben Sie diese in die Kommentare. Bearbeitungsoptionen sind verfügbar, und alle relevanten Abbildungen können hinzugefügt werden.