L'article est en partie un avertissement d'hypothèses, sans exclure que le développeur puisse ressentir tous ses désavantages, en partie une tentative d'expliquer ce que le client pourrait vouloir de vous, en partie le travail sur les erreurs ou la reconnaissance de «se tromper». Attention: jargon DotA à venir, "Je ne suis pas un geek!", Ainsi qu'une présentation habile sans l'aide de tapis. En continuant à lire, vous risquez de vous faire une opinion que l'auteur est un animal absolument repoussé qui ne connaît pas la pitié, la peur et la miséricorde ©. Tenez pour acquis que tout le monde a le droit d'être imparfait, et tout ira bien pour nous. Merci et merci.
Des travaux ont été effectués sur l'automatisation de la salle d'évacuation, dont les détails, comme d'habitude, seront omis. Ce travail a duré plus d'un an, et au départ il y avait des défauts vraiment tangibles au regard du manque banal d'expérience, mais ensuite tout s'est transformé en une gestion non optimale. Les clients (appelez-les, disons, Goodwin et Urfin) étaient principalement engagés dans la composante cosmétique du projet, travaillaient de et vers, après que nous nous soyons concentrés sur la logique et la mise en œuvre elle-même, parce que les portes et les objets eux-mêmes étaient prêts, et nous devions nous assurer que ils ont bougé. Le temps a commencé à s'écraser, et à un moment donné, nous avons dormi 5 heures par jour.
Bien sûr, il est nécessaire de brouiller les détails afin de garder le secret, mais c'est trop concret pour que je m'en souvienne et je n'y arriverai pas, car j'ai arrêté tout travail dessus il y a plus de 5 mois. Il y avait assez de travail à faire tous les jours pour me permettre d'ouvrir une boîte de conserve avec un peu de sécurité avec un couteau émoussé, et les sachets de thé étaient si compacts que la poubelle était heureuse de me voir une fois toutes les deux semaines. Ma chambre s'est transformée en un conduit de ventilation dans lequel vivait Rebecca du film Aliens. Ou "Alien 2", comme vous le souhaitez. Si quelqu'un ne se souvient pas, voici un écran avec un tas d'ordures:

L'événement qui a servi de déclencheur; quelque chose qui m'a fait écrire «gg» dans le chat et la douche, car ce n'était pas le cas. Je viens d'être visité par une pensée claire et claire: j'ai besoin d'un long repos. L'émetteur de mon téléphone portable est passé en mode avion pendant 4 mois. Les mêmes 4 mois dans les statistiques de demandes de visage, de contact, de forums dans lesquels mes données de cookies pouvaient en quelque sorte apparaître ont été marqués par un tel trou. Personne, par aucun canal, ne pouvait me contacter. Je viens de m'asseoir dans une pièce dans un bourdonnement, manger du ragoût et rouler dans un dothan. Mauvaise occupation, je sais, mais j'ai eu le temps d'atteindre la perfection au moins quelque part.
Résumant l'ensemble du projet, je peux immédiatement citer sa principale erreur - l'absence d'une approche systématique. Je sais que le Space Odyssey a utilisé une carte d'interface spéciale qui fournit une interaction périphérique avec TCP / IP. Je n'avais pas de telles cartes, juste une poignée d'Arduino, qui étaient finalement nécessaires pour des choses complètement simples. Nous avons essayé de réduire tout ce qui était possible à la gestion d'un simple 0 ou 1, knock-down, comme disent les microcontrôleurs. Cela a réduit la charge sur le serveur central assemblé sur le Mega2560 afin de recevoir et d'émettre des informations sur le Web avec le moins de retard. La logique de la quête a été réécrite de Wiring à JavaScript, mais cela a conduit à des freins, car JS est exécuté sur un système non RTOS, en conséquence, la logique a ensuite été réécrite dans son propre format (xml, qui a guidé l'application Java), bien qu'il soit généralement naïf de croire que cela a donné quelque chose, car il fonctionne toujours dans l'environnement Windows. En général, quelque chose d'apparemment déjà débogué a souvent été refait dans ce travail, où certains montants sont soudainement sortis, et initialement l'article a été écrit à ce sujet; mais maintenant, il s'agit du fait que l'implémentation de la logique est effectuée par l'application en Java, plus précisément - des raisons et des conditions préalables à cela.
Pourquoi Java et non JS? Je n'en ai aucune idée, il a été écrit par une autre personne, apparemment cet instrument lui est plus familier. Ayant reçu un message du groupe Whatsapp à propos de mon absence à clarifier les détails, cet homme a envoyé une photo de Picard au groupe avec sa main sur la tête, mais s'il savait qu'à ce moment-là, je m'en moquais absolument - je pense qu'il pouvait comprendre. Et nous allons essayer de comprendre comment cela s'est produit. Maintenant, les aboiements possibles ne sont plus ennuyeux: «ils sont inadéquats, n'obéissent pas aux exigences, ne respectent pas les normes et les règles de fonctionnement, mettent l'équipement dans des modes inacceptables, remettent en question mes qualifications à chaque phrase», «il est inadéquat, incompétent, pour mener à bien le projet n'est pas peut-être que cela brise les délais, des modifications constantes, une sorte de self-made pas comme tout le monde », etc., etc.
Enragé et assez. Goodwin et Urfin sont toujours des goules, mais la dernière chose qui m'aurait traversé l'esprit est de ruiner intentionnellement leur entreprise. Je n’obtiendrai aucun avantage, mais malgré le mal, juste comme ça - pas pour le bien commun. Alors pourquoi aggraver le monde? Je pense que leur priorité n'est pas particulièrement élevée pour la tâche de m'enchanter et d'organiser l'anti-publicité afin que personne ne me contacte jamais. Il est peu probable qu'une telle tâche ait été définie. L'expérience est un professeur sévère, et vous devez trouver la force en vous-même pour avancer. Et le plus important est d'utiliser cette expérience. Une partie de cette expérience, du moins celle dont je me souvienne - j'ose espérer, je vais vous la transmettre, cher lecteur.
Nous nous couvrions rarement d'obscénités, mais l'ambiance était toujours aussi moyenne. Afin de ne pas devenir fou, j'ai dû utiliser le plus dur de tous ceux que vous pourriez rencontrer - les guides VJLink et les flux Karina. Oui, oui, je vous le rappelle: je ne suis pas un geek, je suis juste un animal. Bien sûr, je suis conscient que ces deux-là sont des imbéciles cliniques: ne pensez pas que l'un d'eux soit pour moi un enseignant spirituel; itpedia est beaucoup plus adapté à ce rôle. Mais nous avons en quelque sorte distrait de la quête, des pensées le long du chemin vers lesquelles se résumaient à "oui, nous l'avons revu, autant que possible, quand elle se termine". En général, le manque d'enthousiasme pour tout projet se reflète de la manière la plus méchante. Qui a besoin de transpirer lorsque Slark dans votre équipe a 0-7? Donc, c'est ici: si chaque tâche, chaque solution mise en œuvre vous rencontre un petit problème, tout espoir fond. Asseyez-vous et je partagerai quelques réflexions sur la façon de prévenir cela. Aussi, j'aimerais voir plus de ces astuces dans les commentaires. Toute expérience est subjective, mais c'est un grand volume de précédents qui leur permet de généraliser et d'analyser. Pour étudier. J'ai fait beaucoup d'erreurs, mais pas toujours autant que possible. Probablement, l'un des lecteurs est tombé sur quelque chose d'autre, mais en général quelque chose de similaire. Partagez votre expérience, tous vous seront reconnaissants.
Mes règles
- Tous les capteurs doivent avoir une indication.
- Tous les comparateurs doivent avoir une hystérésis.
- Toutes les torsions doivent être soudées.
- Tous les fils d'alimentation doivent être épais.
- Tous les fils de signal doivent être blindés.
- Tous les fils avec des tensions supérieures à 40 V devraient avoir une meilleure isolation qu'une simple paire émoussée. 220 sur paire torsadée ou nouilles - Moveton.
- Toutes les sorties doivent avoir un collecteur ouvert / drain ouvert.
- Toutes les entrées doivent recevoir des signaux via la boucle de courant / optocoupleurs.
- Tous les appareils effectuant une réception et une transmission asynchrones doivent avoir un shaper d'impulsions réinitialisé et une horloge de surveillance pour être prêts à recevoir à tout moment.
- Tous les dispositifs de commutation doivent avoir des circuits de suppression d'étincelles. Les relais en particulier, les contacts collants ne sont pas amusants.
- Tout mécanicien plus lourd qu'un kilogramme aime une boîte de vitesses. Les gens qui mettent le moteur directement sur la brique, sans boîte de vitesses - savent: la main de Satan dépassera tout le monde. Sois juste damné: 3
- Toutes les charges inductives doivent avoir une diode anti-parallèle pour supprimer l'EMF d'auto-induction. Si le courant peut circuler dans les deux sens (ouverture / fermeture des verrous de l'auto-actionneur, du moteur, etc.) - au lieu de la diode, le condensateur est de 0,1 μF.
- Les résistances, transistors et optocoupleurs ne sont pas superflus.
- Les résistances en nature ne sont pas superflues, surtout là où il y a un connecteur ISP.
- Le connecteur ISP doit être tel qu'il ne puisse pas être inséré à l'envers.
- Les batteries n'aiment pas les décharges profondes. Quoi qu'il en soit, n'importe lequel.
- Piles usagées - en particulier.
- La stabilisation du quartz est bonne et positive, comme Sergei Simonov. Remuer 555 dans des applications à temps critique est mauvais et négatif.
- Un câble vaut toujours mieux qu'une radio.
Les capteurs de mouvement, les télémètres, les interrupteurs reed et les capteurs ne sont pas des capteurs de présence
Bien qu'il soit écrit dans la description du produit HC-SR501, mais pas. Il ne détecte PAS la présence. Il détermine les perturbations dans le motif d'interférence, que le capteur voit à travers la lentille de Fresnel. La présence d'une personne dans une certaine zone est déterminée par l'interruption du faisceau infrarouge, d'ailleurs, avec une focalisation étroite, puis avec des réserves. Il était initialement prévu d'utiliser un télémètre à ultrasons. Malheureusement pour le télémètre, les murs de la pièce étaient en polystyrène peint avec un apprêt. Les réflexions étaient monstrueuses, de plus, à l'extrémité opposée, il y avait un deuxième télémètre au coin de la rue (oui, lecteur, nous étions coincés à utiliser le système de drapeau et à interdire le fonctionnement simultané des deux capteurs, mais quand même). En général, les lectures de ces capteurs ne se sont avérées proches de la vérité que par hasard amusant, enfin, ou grâce aux conditions de «serre», lorsque les émetteurs n'étaient pas dirigés vers la salle de travail mais quelque part sur le côté, où à l'arrière-plan se trouvait une table en bois, un chiffon doux ou quelque chose de non brillant, absorbant efficacement.
Malheureusement, il n'y avait pas de temps pour acheter un télémètre infrarouge à acheter ou à tester (bien que à qui cela a-t-il été dit, à ce moment-là). Par conséquent, les récepteurs infrarouges dans un mur et les LED dans un autre étaient entourés de murs autour de la pièce. Il n'y avait pas de blague pour les rendre visibles, car cela détruirait l'atmosphère, et c'est pourquoi les capteurs d'obstacles, si jaunes, avec une résistance variable à l'arrière, n'étaient pas utilisés - ils fonctionnaient bien, mais à l'avant il y avait une telle lumière rouge rougeâtre, de la LED qui est comme IR, mais pas complètement - plus court que 808 nm. Peut-être 780. En général, vous pouvez les voir comme le rétro-éclairage des caméras. De plus, il n'y avait pas assez de portée, ils ne déterminaient normalement les personnes que dans un rayon de 45 cm, j'ai donc dû faire mon chemin.
Ont été suivis VS1838 (d'ailleurs une chose universelle, ils étaient toujours nécessaires) et TSAL6200, insérés dans des tubes faits de chevilles en plastique. Ça n'a pas marché. Dans les robocraft (désolé, ne le considérez pas pour la publicité), des phototransistors IR à deux sorties sont vendus, ils ressemblent à une LED transparente, ils coûtent environ 15 roubles, leur résistance diminue fortement lorsqu'ils sont éclairés avec une lumière non modulée stable de 780-1000 nm, et il a été nécessaire d'utiliser eux. Mais ils n'ont pas été achetés depuis un an. Mais j'ai eu un tas de VS1838, arraché aux appareils ménagers chinois pour les buanderies, qui ne savent pas - c'est un analogue de TSOP1738 si petit, moins sensible et moins cher. Comme nous le savons tous, le 1738 contient un démodulateur, un filtre et un AGC. Par conséquent, ils ne peuvent pas briller avec une lumière non modulée, pour le capteur, ce sera juste une lumière de fond. En général, l'envoi de salves d'impulsions de la fréquence requise aux LED n'a pas été difficile, il vous suffit d'utiliser la sortie directe vers le port (car digitalWrite () est trop lent pour de telles choses), et delayMicroseconds (27). 27 μs correspond à environ la moitié de la porteuse de 38 kHz portée par le capteur. Cependant, on ne peut pas simplement capter et briller à 38 kHz, un tel signal AGC est considéré comme du bruit, il a donc fallu diviser 38 kHz en rafales d'impulsions pour que le signal ne se coupe pas. Curieusement, aucun éclairage parasite des capteurs voisins (il y en avait six au total, la distance entre eux était d'environ 35 cm) n'a pas été observé, il n'y avait pas de creux spéciaux de luminosité, ce qui a conduit à la sensibilité sous-estimée de certains capteurs individuels, aussi, mais néanmoins. Non. Ra. Bo. Celui-là. Lo.
Nous pourrions être confus par ce sujet, discuter de la non-optimalité du programme (car pourquoi alors le programme de diagnostic dans lequel le capteur séparé interférant a été sélectionné fonctionnait-il parfaitement et parfaitement?), Mais cela dépasse le cadre du sujet. Je peux seulement dire que je fais rarement des erreurs. Si je torsade six fils de signal en un seul faisceau - je sais: leur sortie est un collecteur ouvert, dans le faisceau, ils ne s'influenceront
en aucune façon . Je sais que chaque capteur a son propre condensateur 0,1 μF en parallèle avec l'alimentation, que chaque LED a sa propre résistance séparée, et que plusieurs LED sont accrochées en parallèle sur une résistance, seulement terminée. Nous ne nous attarderons donc pas là-dessus, il a fallu utiliser des phototransistors et appliquer un courant continu aux LED. C’est tout. Aussi, chacun dans un tube pour éviter les reflets parasites. Cela pourrait fonctionner, juste à un certain stade, la décision nécessaire n'a pas été prise.
RFId n'est pas éternel, dans la pensée n'est pas infini
Le récepteur RFId possède sa propre très petite zone de lecture. Pour les bons récepteurs, elle est d'environ 7 cm. Pour les pires, elle est de 4 cm. La bobine peut être rembobinée (l'essentiel à considérer est que la fréquence de résonance ne va pas trop loin de 125 kHz), mais là encore - pas à n'importe quelle taille. Néanmoins, il est possible d'augmenter son diamètre de 2 à 2,5 fois. L'action impliquait trois objets autonomes qui pouvaient être n'importe où qui devaient être identifiés. La taille de deux de ces éléments était proche des dimensions de l'alimentation ATX, respectivement, le diamètre de la bobine a été calculé en dizaines de centimètres, j'ai donc dû refuser l'option avec RFId.
Là encore, le canal IR a aidé, non seulement avec des LED aussi puissantes, mais plus faible (au contraire, il était nécessaire que le signal ne soit reçu qu'à proximité immédiate des récepteurs). Dans l'un des objets, 11 LED sont murées, brillant sous toutes sortes d'angles, car l'objet est rond. L'autre a une poignée en bois, il n'y a donc que trois LED, car il n'est pas nécessaire de briller dans la direction de la poignée, elle reste toujours là où il n'y a pas de récepteur. Le troisième sujet est assez petit, et peut-être que dans son cas, on pourrait même faire attention à RFId à nouveau, mais les dimensions étaient toujours incomparables avec la zone de lecture.
Tous les articles sont alimentés par 18650 batteries d'une capacité de 2000 à 3400 mAh. Où 2000, utilisé. Le principe avec IR est simple - nous attendons une longue période (secondes), émettons un signal carré 38 kHz un peu plus long qu'une milliseconde, pour que le récepteur fonctionne et donne un zéro clair à la sortie. Répétez au goût. Au départ, cela a été fait par deux minuteries 555x, bien sûr, le temps a rampé au milieu de nulle part, bien sûr, ils ont oublié de l'éteindre, et la minuterie veut
toujours manger, et il n'a pas besoin d'utiliser 20 mA de toute façon, naturellement, deux banques utilisées ne l'aimaient pas.
Les objets devaient être ouverts (oui, les membres en silicone d'un zombie, une grenade F1 en fonte sans une seule couture, pensez par vous-même), même si cela n'a pas pris beaucoup de temps. Eh bien, un total d'une semaine a été transporté. Les minuteries ont été remplacées par atmega8, le code IRRemote ne convenait pas (bien que drôle, après un certain temps, j'ai réussi à assembler un croquis pour l'envoi, et le compilateur n'a montré aucune erreur avec l'atmega8 sélectionné - peut-être que j'avais déjà une nouvelle version de la bibliothèque). Pourquoi 8? Eh bien, bon marché, plus 328 n'était pas disponible. Le programme a simplement émis des rafales d'impulsions avec la pause requise, et après 7000 secondes s'est endormi, mettant toutes les sorties dans un état de haute impédance et désactivant tout ce qui était possible pour réduire la consommation de courant à des dizaines de microampères. Cela fonctionne et le problème est résolu.
Côté réception, trois capteurs déclenchent trois conditions. A l'arrivée de l'impulsion, le compteur démarre et l'horodatage (millis) est enregistré. Si l'impulsion suivante est arrivée sur le même capteur et que le compteur a atteint n1 - le premier élément, n2 - le deuxième et ainsi de suite. Si n est suffisamment grand et que le signal est toujours manquant, le signal était apparemment aléatoire et le compteur se réinitialise. Je ne pense pas que ce soit une sorte de méga super algorithme, mais cela résout certains problèmes:
- Attacher beaucoup (c'est-à-dire plus d'un) d'un récepteur IR à un contrôleur n'est pas une tâche pour les noobs. Oui, même sur mega2560. Oui, il existe une fourche multi-capteurs d'IRRemote. Capteurs uniques et système de conditions personnalisé - plus facile.
- Il y a eu quelques problèmes avec l'écriture de code IRRemote dans atmega8. Oui, vous pouvez écrire un paquet RAW, en former un tableau, puis émettre à nouveau des fonctions de bas niveau et des retards en microsecondes, mais il y avait quelque chose de trop paresseux.
- Les capteurs ont de longs fils, on ne sait jamais. Long fait plus de deux mètres.
Le connecteur DC-05 (connecteur d'alimentation Arduino) vous permet de réinitialiser le compte à rebours - si vous y insérez un connecteur, deux des trois contacts s'ouvrent, coupant l'alimentation. Le troisième élément n'a pas de connecteur (il est trop authentique pour cela), mais là aussi, la réinitialisation n'a pas causé de problèmes - la batterie est chargée à partir du TP4056, elle a une sortie CH, un zéro sur lequel indique le processus de charge - elle est connectée à la réinitialisation. Le TP4056 reçoit de l'énergie sans fil via une bobine - placez-le sur le socle de chargement - c'est la même chose que la fiche, tout est réinitialisé. Supprimé - la décharge n'est pas tirée au sol, des impulsions peuvent être envisagées. Compté - s'endormir profondément et longtemps; pour désactiver la batterie, vous devez oublier de charger cette chose pendant un an. Et puis, il est pliable. Ces articles ont été la solution la plus réussie, qui est venue presque immédiatement, mais avec quelques danses.
Oui! Signature d'appareil non valide. Vérifiez les connexions et réessayez ou utilisez -F pour ignorer ...
L'erreur la plus ignoble de toute ma pratique. Vous n'avez aucune idée du problème. Voici les situations qui se sont produites en moi:
- L'ordre des fils MOSI (D11), MISO (D12), SCK (D13) est mélangé.
- Au lieu de condensateurs de 22 pF, quelque chose d'autre est soudé près du quartz. Une fois, au lieu de l'un d'eux, il s'est avéré être une résistance 1k. Inscription soudée vers le bas.
- Les six fils doivent être intacts. Portez toujours le testeur (un tel connecteur), faites toujours sonner du connecteur jusqu'aux pieds du contrôleur (personne n'a annulé les défauts de la route sur la carte). Ou même des pieds du contrôleur maître (dans le programmateur) aux pieds de l'esclave.
- Supposons que la carte soit alimentée par 12 à 7805. Les inconvénients du programmateur et 7805 doivent être connectés. Oui, les 6 fils sont en contact, mais vérifiez à nouveau.
- Contrôleur non valide sélectionné.
- Le contrôleur correct est sélectionné, mais sa signature est toujours différente. Voici ce que j'ai écrit pour mega328 dans hardware \ tools \ avr \ etc \ avrdude.conf:
# signature = 0x1e 0x95 0x0f; #tqfp32 # signature = 0x1e 0x95 0x14; #dip28
Avec ce que nous travaillons, alors ne commentez pas. - Les fusibles sont montés sur du quartz externe (plus de 8 MHz), qui en fait manque. Ici, toujours une écharpe en quartz et deux condensateurs et trois fils. En outre, incluez toujours des pads sur la carte qui vont à XTAL1 et XTAL2. Même si ce sera définitivement à 8 MHz, à partir des batteries. Même si "flashez une seule fois, vous ne pouvez pas l'oublier". Autant que possible.
- De la pure magie f███ing? Une autre, exactement la même planche, remontée, a fonctionné.
Croyabilité de la lumière
N'utilisez pas de ruban tricolore pour les effets de flamme. Les flammes contiennent de la lumière jaune ou rouge dans diverses proportions. C’est tout. Essayez d'utiliser la combinaison R + G pour obtenir le jaune - la flamme sera verte. Essayez d'augmenter la luminosité en ajoutant du bleu «blanc» - la flamme sera bleu, bleu ou violet-pêche, si le jaune est suffisant. Il n'est pas nécessaire d'appliquer des couleurs froides en tant que composants des couleurs primaires, en général, physiquement, il ne doit pas y avoir de LED vertes et bleues dans cette bande. Pas du tout du mot. Cette décision est la plus infructueuse. Très probablement, la bande dans les appareils Goodwin et Urfin décident toujours de changer. Il y a suffisamment de canaux là-bas, cela est également contrôlé par l'auto-hélice atmega8, en fait la mini carte Pro, qui a en même temps trois transistors de puissance pour des sorties compatibles PWM. Deux rubans jaunes et un rouge seront les plus. Les trois sont aléatoires. Il est dommage qu'un circuit RNG tolérant sur une diode de bruit n'ait pas attiré mon attention, bien que les opus pseudo-aléatoires atmega8 semblent tolérants. Mais pas avec du vert dans la bande.
Lumière stroboscopique
La foudre est un phénomène noble, en tout cas pour l'augmentation de la pression atmosphérique, mais elle n'est pas aussi exigeante qu'il n'y paraît. Il est plus facile de commuter un carré de 1x1 m collé avec du ruban adhésif (80 mètres, 96 ampères à 12 volts, près de 1,2 kW) que de mettre le feu à une lampe flash 10 kV avec une impulsion à un courant de milliampères. Pourquoi? Parce que l'interférence est à large bande. Le stroboscope au moment du flash clignote en gris dans la mesure du possible, une bande claire sera visible dans tout le spectre. Flash. Comment le supprimer n'est pas clair. Un stroboscope connecté via un parasurtenseur accroche en toute sécurité le W5100 et l'arduino. La seule expérience réussie sur ce sujet a été réalisée avec la batterie. Il existe deux façons de délier le stroboscope du réseau principal.
Première méthode:- Nous allumons le stroboscope pour charger le condensateur de travail. Deux relais, il sera nécessaire de couper les deux fils d'alimentation de la prise.
- Nous nous déconnectons.
- Nous appliquons une tension à la bobine d'allumage, par radio ou via un optocoupleur.
La deuxième façon:- Nous remodelons la puissance du stroboscope à basse tension afin qu'il ne se connecte pas du tout à la prise.
- Nous appliquons une tension à la bobine d'allumage, par radio ou via un optocoupleur.
Le storoboscope doit être soigneusement protégé. Autour du transformateur d'allumage est généralement utile pour souder une boîte de matériau en feuille, donc au cas où. Et ce n'est pas un fait que là encore quelque chose ne vous pendra pas. Pendant ce temps, de puissants agents de terrain travaillent normalement à des fréquences allant jusqu'à 100 kHz, allument 80 mètres de bande à 100 μs - ne n ... euh, comme deux doigts environ ..., eh bien, en général, je ne trouve pas la bonne expression, l'essentiel est de faire le plein condensateurs afin que le bloc d'alimentation ne jure pas. Et les interférences seront à basse fréquence, et il est beaucoup plus facile de filtrer. Les étranglements, les électrolytes, eh bien, en général, vous comprenez. Je comprends que ce n'est pas un exemple plus cher qu'une lampe flash, mais c'est plus facile à travailler.
Gradateurs 220
Peut-être que les créateurs n'ont pas rencontré cela, ou peut-être qu'ils n'ont utilisé qu'un seul canal, et sur le réseau ont en quelque sorte oublié de mentionner que la tension d'un régulateur de phase peut s'écouler dans le second s'ils sont à proximité. Il est traité par un filtre réseau. Dans les micro-ondes, c'est tellement ironique, sur le cas, il est écrit Filtre EMI.
Capteur d'air de suralimentation
Le capteur est simple, il s'agit d'un rideau mobile en fibre de verre étamé dont le mouvement est limité par la gomme de pêche. Pourquoi pas un élastique pour de l'argent? - la pêche est plus durable. L'air entre par un tube d'un diamètre d'environ 2 cm. Peut-être qu'une roue avec un encodeur / aimants + capteurs Hall, un capteur de pression, etc., serait entrée ici, mais ce n'était pas disponible (lol, un
an s'est écoulé, jusqu'à présent je brûle ce excuses à propos de la disponibilité), eh bien, je voulais que le capteur soit aussi en chêne que possible afin que de longs fils puissent y aller. Ce n’est pas très agréable, vous savez, dans la leçon «pour faire glisser SPI ou i2c à 7 mètres des Arduins, 7 (sept) mètres, Karl».
Je considère généralement le capteur comme un succès, mais il présente un inconvénient. Cet inconvénient réside dans le profil temporel spécial (c'est-à-dire temporel) du signal, l'enveloppe ADSR, pour ainsi dire. Il existe un certain nombre d'options, comment exactement l'air entrera dans le capteur, comment souffler dedans. Vous pouvez souffler longtemps, vous pouvez brièvement, souvent / rarement et ainsi de suite. Par conséquent, nous avons besoin d'un laps de temps précis qui limite le déclenchement du capteur à ces cas et uniquement aux cas où le zéro en provient, pendant un certain temps, et après ce temps, le zéro devrait devenir une unité, là encore pas moins d'un certain temps. Cela semble être un couple de conditions, mais en fait, il s'est avéré difficile de sélectionner ces trames, et une différence de quelque 100 ms a changé diamétralement la logique de réponse du capteur. Bien sûr, il n'y avait pas d'oscilloscope pour prendre les lectures nécessaires lors d'une explosion de modèle, puis ajuster le système de conditions pour eux. D'une manière ou d'une autre, la configuration se résumait à deux ou trois semaines de travail et il n'y avait pas de trucs spéciaux là-bas. Même les fils ne se sont pas déchirés.
En parlant de fils
Il s'agit, pour la plupart, d'une paire torsadée en aluminium cuivré STP, avec un écran en feuille. Auparavant, il y avait une paire UTP en cuivre, mais presque tout a été remplacé par une paire blindée. Premièrement, la fuite s'est arrêtée pour une raison quelconque sur les capteurs, ce qui a précédemment conduit à de fausses alarmes, et deuxièmement - c'est tellement plus calme. Vrai bimétal, mais bon. La stupidité a été autorisée le nombre de fois par le technicien qui a travaillé avec le projet avant moi - il a
tout dépensé
avec sa paire UTP. Y compris les fils des lampes, qui étaient à l'origine 220. Ensuite, ils y ont mis des lampes avec un long fil, consommant un courant insignifiant, et ce, en principe, en général, si vous ne vous souciez pas de la sécurité, c'était autorisé. Mais la lumière des lampes de Goodwin avec Urfin n'a pas fonctionné, et nous les avons remplacées par du ruban adhésif, fournissant 12 au lieu de 220. Puisque les lampes étaient déjà installées, il y avait une cartouche E27, et nous venons de faire quelques foulards sur méga8, auxquels de tels socles ont été soudés qu'ils ont arrachés avec des lampes à économie d'énergie. Tout semble être le chemin, mais dans un mur de la cartouche, il y avait une polarité et dans l'autre mur - une autre polarité, et c'était amusant de changer le 7805 défaillant lorsque les lampes étaient mélangées. Depuis lors, des inscriptions ont été brûlées sur eux avec un fer à souder, dont on venait. Ensuite, Urfin et Goodwin ont voulu contrôler ces lampes, et c'était fascinant et divertissant de leur expliquer exactement comment et quelles options de contrôle combien de canaux ils ont, sur deux fils, dont deux sont des fils d'alimentation. Ils ricanèrent en quelque sorte, mais ne discutèrent pas, c'est un plus pour eux dans le karma. Nous reviendrons sur cet aspect, mais pour l'instant, continuons sur les fils.
En général, de nombreuses décisions intéressantes leur sont liées, car tout a été construit et connecté en même temps, je comprends que tout était pour le peintre en bâtiment Petya, qui ne devrait pas fumer et stupide, en attendant le maçon Vasya, mais un peu plus hypothétiquement pourrait fournir un peu plus de questions. Les termes de référence en tant que tels sont nés au cours du travail, mais nous l'attribuerons à la noblesse et au manque d'expérience. Les conséquences en sont: 8 mètres de bande, c'est une minute, près de 10 ampères, alimentés par
un noyau d'une paire UTP. Au crédit de ce noyau, il peut supporter un tel courant (spoiler: pas tout) et même pas chaud, mais uniquement grâce à la modulation, ainsi que du vrai cuivre monolithique, sans bilame. Cependant, si la modulation s'arrête et qu'il y en a une sur l'obturateur de champ, le champ s'en fiche. Après une heure de ce régime, l'isolant fondra et les gars du Magic Land of Oz s'amuseront à décrocher le fil, car il est en béton dans le sol. Eh bien, ils ne savaient pas qu'à l'avenir ils décideraient de coller
autant de ruban là-bas, eh bien, avec qui cela n'arriverait pas. Bien sûr, tout devra être tiré de la force de 70 centimètres, mais néanmoins ...
Plus tard, certains fils se sont révélés inutiles. Une partie des fils est un câble TV coaxial pour les caméras (bien sûr, pas IP) et les microphones. Lorsque nous avons décidé de faire glisser un peu le DVR, il s'est avéré que les câbles des caméras et des microphones devaient être augmentés. Ensuite, il s'est avéré que les câbles qui tentent de les pousser avec force dans l'ondulation se cassent généralement à la place de la soudure. Certaines des paires torsadées ont divorcé avant moi, puis le Dr Emmett Brown a décidé que ce serait bien de faire du contre dans un câble une paire bleue et brune, dans l'autre bleu et vert. J'étais habitué à détordre les paires et à faire de tous les fils blancs un moins et un plus - tous les fils colorés. Eh bien, vous voyez, il est plus difficile de mélanger la polarité. Pour découvrir plus tard cette polarité de câbles pendants et mordus - ce n'était qu'une chanson! Surtout lorsqu'un moteur avec une résistance de quelques ohms est connecté à l'autre extrémité, et qu'il est impossible de distinguer un court-circuit d'un non-court-circuit par résistance ... En général, un mois plus tard, il a été possible de faire un test oral en fonction des résistances de tous les câbles du système, ainsi que des circuits dont les couleurs sont connectées à l'intérieur de torsions ensemble. Ce n'était même pas écrit dans les tableaux, il est enfoncé dans le sous-cortex, car ils conduisent des soldats, puis au milieu de la nuit, ils demandent le numéro de série de la machine.
Sous-système sonore
WTV-020SD16P non connecté. Il ne lit aucune carte TF, il n'y a aucun signe clair que cela fonctionne du tout, des exemples de résultats intelligibles ne donnent pas. Une alternative était le pistolet automoteur atmega328 avec la bibliothèque TMRpcm. Je n'ai pas aimé l'amplitude du signal, ils ont essayé de réduire la résistance à la sortie PWM, réduit-diminué, 328 et oui, prenez un aboiement. Modifié, connecté à un tel amplificateur, à un tel amplificateur, en général - tranquillement, disent-ils. Pas satisfait. Même l'un de ces chelniks a exprimé une idée méga brillante de connecter un amplificateur (un haut-parleur chinois) en série, et à sa sortie, où il y a deux fils au haut-parleur, il y a un deuxième amplificateur, et c'était une tâche titanesque: porter à son esprit brillant un message simple qui énonce "Mec, tu viens de brûler l'entrée." Les nuits sombres, les cauchemars me tourmentent et je me réveille dans une sueur froide et collante avec une seule pensée: et s'il ne me croyait pas? Un seau d'humour, je m'en fiche.
Il y a 6 sources sonores au total, dont un woofer et un son stéréo dans l'une des pièces, nous pouvons donc appeler arbitrairement ces 4 zones à partir desquelles le son est entendu. Les trois premiers représentent simplement divers canaux 5.1 et sont exprimés depuis un ordinateur; le dernier canal du woofer n'était pas suffisant. Il y a un ordinateur, un petit haut-parleur et un grand haut-parleur, espacés sur différents canaux 2.0 (stéréo).
Lorsque l'ordinateur démarre, Firefox démarre dessus, dedans - la page, dans la page - une boucle sans fin avec une requête AJAX au script PHP servi par le serveur sur le même ordinateur. À la demande de PHP de l'extérieur, il écrit un numéro dans le fichier, à la demande d'AJAX à partir de la page - il dit le numéro, si le numéro est différent du précédent - AJAX, plus précisément howler.js, émet un son. Là où cela dépend du son, dans certains sons dans le canal droit il y a un silence complet, ils sont pour un haut-parleur, dans d'autres sons il y a du silence dans la gauche, ils sont pour un autre haut-parleur.
L'ordinateur est vieux et oublie quelque chose qui a permis de le réveiller sur WOL en quelques heures. Autrement dit, si vous l'éteignez, et même à partir du téléphone, au moins à partir d'un autre ordinateur, envoyez un paquet WOL pendant la durée prévisible, l'ordinateur démarre. Une journée s'écoule et il ne fait plus cela. Par conséquent, deux fils ont dû être tirés sur son bouton d'alimentation.
Le reste du son est resté un mystère pour moi, auparavant, il était également joué à partir de HTML en utilisant howler.js, puis une nouvelle personne a adapté la bibliothèque du lecteur VLC à son application Java, maintenant je ne sais pas. Je comprends les commentaires dans l'esprit d'un "serveur avec hurleur - une solution de béquille, où est le bouclier mp3?", J'explique tout de suite - à cette époque, je n'avais pas encore visité l'idée d'acheter, outre "ici nous avons 5 joueurs sur WTV020, voici les lecteurs flash". Il s'est avéré être une solution de travail, et je ne pense pas que ce soit pire que le bouclier mp3.
Sous-système de commande
Maintenant, il représente deux processeurs centraux auxquels les capteurs / interprètes sont connectés via de longs fils. Long - cela signifie plus de deux mètres. Si l'entrepreneur - via IRFZ48N ou une carte relais, ou un relais plus puissant (60A) si le moteur ou le régulateur de phase sur le triac + moc3021 / 3051. Si le capteur est via un optocoupleur, de sorte que la masse du capteur soit déliée de la masse Arduino. La longueur des fils peut atteindre 20 m, de toute façon il s'agit de boucles de courant ou de fils toronnés pour des charges puissantes. Pourquoi ne pas se séparer pour eux du DMX / RS-485 tout de suite, pour moi c'est un mystère. Mais, il y a ce que c'est. Auparavant, ils étaient contrôlés à distance par le réseau d'émetteurs-récepteurs nRF24L01 +. Le protocole de l'émetteur-récepteur comprenait un code d'appareil, un code d'opération et même une putain de grand-mère, et il n'y a même pas eu de collisions, mais cela a fonctionné ainsi avec la boucle Ethernet. Les demandes viennent souvent, car Urfin et Goodwin veulent voir un état sur l'ordinateur de l'opérateur, de préférence en temps réel, donc d'abord une boucle sans fin a été placée dans l'interface HTML, puis dans le service Java, interrogeant en permanence l'état des deux contrôleurs . Naturellement, pendant ces 150 millisecondes pendant lesquelles le contrôleur était engagé dans le réseau, il n'était pas intéressé par les émetteurs-récepteurs.
Il existe deux façons d'améliorer ce sous-système.Tout d'abord, vous pouvez arrêter le cycle d'interrogation et envoyer l'état uniquement en modifiant les lectures du capteur. Pour ce faire, vous avez besoin d'un émetteur qui peut envoyer un signal à l'ordinateur (par exemple, un wifi série ESP8266 qui envoie une demande de PHP).
Deuxièmement, il est possible de diviser le système en appareils séparés, chacun pouvant communiquer directement avec un ordinateur, mais cela nécessitera une interface réseau sur
tous les appareils, des capteurs aux moteurs. Supposons que plusieurs appareils soient géographiquement concentrés près d'une porte, et pourtant, ils en auront besoin de plus de 2. En général, faites une carte périphérique TCP / IP à partir de la quête sur l'Odyssée de l'espace. Une telle carte est la meilleure solution possible.
Orienté processus
Cette théorie ne m'appartient pas, je n'insiste sur rien. Et dans mes pensées, il n'y a aucun doute sur les qualités commerciales de Goodwin et d'Urfin, mais le nombre de décisions qu'ils ont prises, comme indiqué spécifiquement, leur intention de retarder la livraison du projet autant que possible. Elle concerne principalement la mise en œuvre. Le plus épique, c'est peut-être une indication directe pour faire toutes les connexions à l'arduino mécanique, ce sont les broches en acier 40x2,54 en plastique. Pourquoi cela a-t-il été fait lorsque la soudure sur la carte est plus fiable, ce n'est pas clair. Je vous rappelle que la paire torsadée a été soudée. Ce qui est en fait difficile et peut sauter du connecteur. Que vous ne soudez pas à la broche d'un tampon, sinon il tombera, l'acide à souder est obligatoire. Qui ensuite sur le lieu de la soudure doit être fermé par thermorétrécissement, on ne sait jamais quoi.
Auparavant, tout, enfin, ou presque tous les appareils étaient situés avec des connecteurs et des optocoupleurs sur la carte transversale. C'était la plus grande planche jamais faite par moi, sa taille est de 305x405 mm. Malheureusement, le papier d'aluminium était chinois, et donc la couche de papier d'aluminium n'était que de 18 microns, et l'étamage était juste une sacrée occupation. En raison de la taille, toute modification nécessitait de le relever complètement, car il y avait plus de 40 connecteurs, chacun ayant au moins trois fils, et en les déconnectant tous pour le retirer, il était préférable de se mordre la tête tout de suite. Souder quoi que ce soit là était extrêmement inconfortable, car la planche était
au-dessus du fer à souder. De plus, malgré tout le câblage vérifié, il y avait encore des erreurs dans les connecteurs. Moins d'un mois, et ce cross-board a finalement été abandonné, même s'il était plus pratique de connecter des artistes avec des capteurs. Il s'agit de la deuxième solution la plus infructueuse, les premières étaient et restent des LED vertes dans le ruban simulant la lumière de la flamme.
Si nous savions tout de suite qu'il était plus logique de placer toute la logique à proximité immédiate du routeur / ordinateur et de ne faire glisser que les fils vers les périphériques finaux, ce qui n'aurait pas dû être prévu pour fournir les contrôleurs locaux - nous pourrions terminer le travail beaucoup plus tôt. Cependant, nous n'avions pas d'expérience et nous nous concentrions très probablement sur le processus - quelque chose qui en découle logiquement. Je ne partage pas ce point de vue et je crois que toutes les options testées ont été un plus ou un autre, car elles ont révélé de nombreuses solutions infructueuses. Si je continue à m'engager dans la salle d'évasion de la salle de repos - notre expérience sera utile à quelqu'un d'autre qui lira cet article.
D’une part, je n’ai aucun droit de parler de ce sujet: le trône de notre ennemi est brisé sans moi. Mais j'ai été particulièrement gêné par certaines de leurs décisions, qui vont à l'encontre du bon sens et minimisent les coûts. Si vous m'avez engagé pour prendre certaines décisions - ne discutez pas et ne doutez pas. Si je dis que le signal du haut-parleur d'un amplificateur ne peut pas être envoyé à l'entrée d'un autre, j'ai une raison. Si je dis que la zone de lecture RFID n'est pas suffisante, alors j'ai eu le temps de vérifier, je ne dis rien du plafond.
L'homme sur lequel mon travail a été abandonné
Au huitième mois, un autre personnage a rejoint notre projet, que nous appellerons le bûcheron. Il avait à sa disposition des capteurs industriels et certains appareils ont subi des changements de conception et de logique. À ce moment-là, il commençait déjà à m'être donné à fond, et son intervention, en général, était requise par moi. Quelque chose qui fonctionnait clairement ne fonctionnait pas, les mêmes 6 périmètres infrarouges, remplissant la fonction d'un capteur de présence. Au moins des conversations pouvaient être faites avec lui, contrairement à Urfin et Goodwin, car il distinguait l'obturateur de la résistance, les deux mêmes de moi m'incitaient parfois à retirer toutes leurs dents, l'une après l'autre, sans anesthésie.
Le Lumberjack a immédiatement proposé plusieurs correctifs susceptibles d'affecter la fiabilité, mais peu d'entre eux ont donné des résultats. Cependant, plus récemment, c'est lui qui a soulevé la question de l'utilisation du code IRRemote dans les objets. Autrement dit, cette chose a déjà été complètement déboguée, et il leur est encore arrivé quelque chose. Oorfene est monté pour démonter l'un d'eux et a arrangé un court-circuit; j'ai dû changer le transistor. Bien que ce soit juste le moment où vous ne devriez pas à nouveau grimper.Le développement unique du Lumberjack est un capteur d'angle, il était nécessaire, par exemple, pour un volant avec pédales. Pour déterminer où il était tourné, l'encodeur KY040 avec le contrôleur était à l'origine, la version alpha avait même des déclencheurs Schmitt et un compteur du circuit PighiXXX, qui supprime le cliquetis et convertit, il n'est pas clair quelle phase s'est décalée en signaux pas / dir. Mais il n'a pas été possible d'obtenir un travail responsable de sa part, puis il a commencé à faire des erreurs, puis s'est complètement effondré, et il a donc été décidé de le remplacer par un disque avec un trou, et deux photo-interrupteurs, comprenant l'ancienne photodiode soviétique FD265 avec un comparateur et des LED blanches. Lorsque le disque a tourné, le trou est apparu sous les LED, zéro a été obtenu sur les comparateurs, l'ordre dans lequel les zéros provenaient de deux comparateurs a permis d'estimer la direction et la position approximative. Non seulement un encodeur, mais il ne nécessite pas d'interruptions,ce qui signifie qu'il peut être connecté via de longs fils. Long signifie plus de deux mètres. Allez, soyons honnêtes - des optocoupleurs, une diode en parallèle, 0,1 microfarad céramique sont facilement installés sur le KY040, et vous obtenez un encodeur normal qui peut être connecté sur au moins une centaine de mètres. De plus, ils étaient éparpillés dans un sac en vrac. Mais le précipité est resté, je ne voulais plus communiquer, et le code était déjà réécrit et fonctionnait plus précisément.Les problèmes qui sont survenus par la suite étaient probablement liés à un dysfonctionnement de la ligne, avec une sorte de signaux fantomatiques qui ont été induits, mais à la fin cela a fonctionné. Son seul inconvénient était qu'il fonctionnait lentement et pouvait manquer quelque chose à grande vitesse (je me souviens que le cycle d'interrogation était toujours là, dans le contrôleur central, qui en même temps servait également les requêtes HTTP du panneau de contrôle). Le cycle d'interrogation, avec d'autres capteurs, a été déplacé vers pro mini, qui a transmis des informations au contrôleur principal via Serial0. Comme c'était excitant de deviner pourquoi cela ne fonctionnait pas sur Serial1! Néanmoins, il ne s'agit pas de cela. Le capteur d'angle avait quelques défauts mécaniques, et le Lumberjack l'a remplacé par un complexe de quelque chose qui détermine le mouvement en général (moteur? Encodeur? Mais quelle est la différence?), Et deux capteurs Hall,déterminer exactement où le mouvement se déroule. Ainsi, une nouvelle, déjà troisième version du code déterminant le nombre de tours est née.En plus de retravailler certains capteurs, il s'occupe également de l'adaptation matérielle restante du projet. Je ne lui attribue aucun mérite particulier, mais l'or du fluage ira à celui dont le coup est le dernier. Le projet sera terminé par cette personne, mais je recevrai les lauriers des salauds, qui ont marqué une grosse pile sur les gens qui ont besoin de mon aide. D'une part, mon acte est dégoûtant, et je l'avoue. D'un autre côté, certaines conditions m'ont été accordées - lorsque ces conditions ont cessé de me convenir, ma personne divine a cessé d'être dans ces conditions. C’est tout.
Mais dégoûtant, pas dégoûtant - pour moi en quelque sorte indifférent. Au bûcheron, j'exprime ma gratitude - il a repris ce que je n'avais plus la force de faire.Gestion des erreurs
La première et principale étape vers une gestion transparente et sans bug est la carte du Space Odyssey. Cette chose est nécessaire , elle vous permet de résoudre un tas de problèmes à la fois:- Si l'entrepreneur n'a pas de consommateurs puissants, l'ensemble de l'appareil (la carte elle-même et, disons, quelques mètres de bande connectée à la carte) peut être alimenté par PoE.
- Vous n'aurez pas de collisions avec la circulation. Vous n'aurez aucune demande systématiquement répétée, ce qui signifie que vous êtes dix fois moins susceptible de mettre un réseau hors tension, de manquer une réponse ou toute autre chose. Tout contrôle peut être rendu complètement asynchrone - quelque chose était nécessaire de la part de l'exécuteur testamentaire - ils ont envoyé une demande - elle était terminée. Tout, répéter la demande n'est plus nécessaire.
- Vous aurez accès à des informations sur l'artiste en général. Des capteurs? Oui, même une douzaine, nous accrochons à travers le multiplexeur / registre à décalage et voyons chacun , sur quoi et combien. Le moteur? Vous pouvez non seulement l'allumer, mais également vous assurer qu'il est vraiment allumé avec un capteur de courant.
Un exemple typique de «comment ne pas faire» - nous faisons une imitation d'une flamme sur le huitième méga, à moindre coût, élémentairement - qu'y a-t-il à fournir? random () et seulement. Peu importe comment.Je vous assure qu'en raisonnant ainsi, vous vous retrouverez exactement dans la même situation. Ensuite, vous devez changer la couleur de la flamme, puis éteindre / allumer en douceur, puis la ligne avec des cornes, et il n'y a aucun fil de contrôle, du mot du tout. Et vous n’accrochez pas la radio parce que le SPI est occupé. Ou autre chose. Et comme vous voulez - tellement cool, mais donnez naissance à une décision.Par conséquent, la chose la plus importante est de fournir un accès direct des artistes à l'ordinateur et vice versa. Peut-être via Modbus. Peut-être DMX. Mais plus l'interface est proche, moins il y aura d'hémorroïdes à l'avenir. TCP / IP est le plus natif. Je vous conseille de ne pas abuser de l'ESP8266, même si vous en avez vraiment envie. Il est possible de poser un câble - utilisez un câble.Ensuite, revenons aux règles. Nous travaillons à travers les capteurs de et vers, afin que l'état actuel soit évalué en un coup d'œil, afin que tout fonctionne clairement et sans ambiguïté. Si le capteur est discret (zéro ou un), le niveau au milieu ne doit pas y apparaître. Nous soudons les torsions ou pas du tout, distribuant tout sur les boucliers / cartes. Nous n'économisons pas sur les fils. Nous ne confondons pas la polarité. Nous le savons avec certitude: si vous oubliez quelque chose, allumez-le incorrectement, seul un imbécile peut le casser - oui, c'est vrai, un tel imbécile peut être trouvé. Allume, oublie, casse. Par conséquent, protection, protection et même des tonnes de protection.Même soi-même devrait être considéré comme un imbécile. J'étais à l'aise avec le connecteur arduino ISP habituel, mais un jour, le port MOSI / D12 est mort dans mon programmeur. Le programmeur, bien sûr, j'en ai un autre, mais le connecteur est différent - une seule ligne. Et il a sept fils, pas six. D'abord, plus, puis vide, puis moins et tout le reste. Le coller au contraire était généralement impossible. Vous dites - et où sont les résistances 100-300 ohms pour chacun de ces fils? Et cela fonctionnerait avec la norme, et à l'envers, rien ne brûlerait. C'est vrai, et maintenant j'ai aussi des résistances. Mais je ne ferai jamais de connecteur symétrique.Un autre point concerne les capteurs de courant. Ils sont bon marché, c'est une puissante résistance à faible résistance, une résistance de rognage et la moitié d'un LM393. Mais on verra que la porte s'est déjà ouverte, mais le moteur qui la tire est toujours en marche, et ses enroulements ne l'aiment pas. Je recommande de les mettre sur tout ce qui peut être activé à distance. Ce n'est pas nécessaire pour les LED / bande, mais s'il y a vraiment beaucoup de LED, alors c'est souhaitable. Un tas de ruban charge la source d'alimentation ainsi que les moteurs.Si vous n'avez pas besoin de créer une minuterie supplémentaire à partir de Watchdog, nous l'utilisons à sa destination. De sorte que tout dispositif pendant pendant un maximum de 4 secondes n'est plus pendant. D'ailleurs, rien , absolument pasles informations qui déterminent le mode de fonctionnement de la quête (inaccessibilité des portes qui s'ouvrent, verrous fermés / ouverts, etc., immunité des capteurs) ne doivent pas être stockées dans la RAM. Nous devons partir de l'hypothèse qu'absolument tout peut pendre, à tout moment. Cela ne doit pas fausser / violer la logique des tâches et des décisions, attribuer la responsabilité de l'état du système n'est possible que sur un seul appareil - l'ordinateur de l'opérateur, afin qu'il ait toujours une image complète de l'état devant ses yeux.Si vousconstruisez un pistolet automoteur, c'est l'essentiel: chaque boîtier doit avoir un condensateur en céramique de 0,1 μF. Chaque registre à décalage, chaque comparateur. De plusau microcontrôleur. De plus, un tel condensateur, plus un électrolyte uF, donc 100 doivent être soudés à nRF24L01 +, ESP8266, ENC28J60. Directement sur les broches de la carte ou sur des fils à proximité immédiate de la carte. Le terrain sur la zone libre du plateau n'est pas superflu. Le toner est bon marché, mais il est plus rapide. De plus, hypothétiquement, quelque chose protège le plateau. Le quartz est nécessaire partout. Sans quartz, vous pouvez faire de l'arduino sur atmega8, à condition qu'il ne compte pas les intervalles plus précisément que des centaines de microsecondes. Atmega8 est moins cher que Attiny85 / 2313.Si vous avez le choix entre les batteries LiIon et NiMH, il est plus facile de charger le lithium: les cartes sur TP4056 peuvent être prises et enduites, comme le disait banane, mais il n'y a toujours pas de contrôleurs spéciaux pour le nickel.S'il y a des artistes dans le système qui ne peuvent pas supporter une mise en marche à long terme (serrures, solénoïdes, réchauffeurs, éventuellement certains moteurs puissants, moteurs avec traction finale qui peuvent accidentellement casser / casser quelque chose), ils devraient en outre être protégés contre une commutation à long terme. Par exemple, si vous allumez l'actionneur de la serrure de voiture pendant une longue période, le bobinage du moteur générera de la chaleur, le moteur chauffera et fera fondre la boîte de vitesses, car il est en plastique. Nous savons tous qu'une seconde lui suffit pour ouvrir / fermer. Nous faisons juste un deuxième shaper d'impulsion, tout ce dont nous avons besoin est 555 et un tas de cerclage. Ou une chaîne RC avec un déclencheur CMOS.Le chargeur est, en règle générale, mauvais. Écrivez via ISP, ou changez au moins la norme en optiboot.Arduino est soudainement capable d'être un appareil MIDI. Si vous avez besoin de son sur un ordinateur, il serait préférable qu'il apparaisse dans un lecteur ou un instrument VST, et non dans un navigateur sous Javascript. C'est le cas si le son local n'est pas possible / n'est pas confortable. VST laboure et héberge maintenant en enfer, y compris gratuitement.Aspect psychologique
Les entrepreneurs les plus intelligents de notre monde sont des putes. Vous pouvez et devez leur prendre un exemple: ils disent clairement et clairement au client ce qu'il peut faire et ce qu'il évitera de quelque manière que ce soit. Mon erreur n'a pas été de participer au projet à un poste spécifique, mais à plusieurs - cela a conduit à une responsabilité inutile et à une dépense de temps sous-optimale. Par exemple, deux semaines ont été consacrées à une chose, qui n'était en fait qu'un bouton / interrupteur / paire de contacts. Bien que vous puissiez simplement ouvrir la bouche et dire: "Comme vous le souhaitez, faites-le, j'ai besoin d'un fil pour être connecté à l'autre lorsqu'il est exposé à cette chose." Et je suis responsable du programme et pour lequel de ces fils sera mis à la terre et quelle entrée numérique.Quatre semaines ont été consacrées aux réglages de la couleur de l'éclat de la bande, puis le résultat est loin d'être idéal. Et c'est impossible à contrôler. Vous pouvez simplement créer une radio / un câble et émettre la couleur complètement sur l'ordinateur, enfin, ou au moins certains facteurs. Ou brutalement, pour fournir une zone dans l'EEPROM, qui peut être contrôlée par un parasite externe avec un écran 1602 et un bouton, car il ne serait pas difficile de faire un tel parasite.Trois semaines, ils ont attrapé un montant dans la mécanique des portes, bien que ce soit ma frange qui se soit cassée, quelques rouleaux se sont détachés d'eux. Eh bien, rien de spécial. Nous appelons cette affirmation pleurnicheries ordinaires.Et te te et te pe. Ces gens ont essayé de faire bouger une charge de 100 livres avec un moteur de 40 watts. Quarante watts, Carl. Ces personnes m'ont systématiquement posé une question pourquoi ne pas le faire, ne plongeant absolument pas dans les subtilités de cette option. Oui, certaines de leurs décisions étaient sensées. Mais certains m'ont fait brûler violemment et me sont demandé - pourquoi m'aboyer après l'achat d'un chien?En général, sous cet aspect, seuls deux principes peuvent être distingués:- Connaissez votre insistance et insistez dessus. Pensez-vous que l'air peut être pompé par un compresseur? Ne les laissez pas grimper avec votre pompe d'aquarium.
- Étiquetez les règles. Seulement avec une bande élastique, uniquement dans une pose classique, vous savez, j'espère. Désolé pour la vulgarité, mais il n'y a pas d'autres métaphores à retenir.
À ce sujet, je pense avoir fourni suffisamment d'informations. Pensez, souvenez-vous, partagez votre expérience. Le mien n'était pas le meilleur, mais il est précieux, et le reste sera plus facile, plus nous transmettons d'expérience dans les commentaires. Alors allez-y.Pour info: l'article est dépourvu d'illustrations, car je ne vois pas l'intérêt de dessiner deux connecteurs ISP, l'un est standard, l'autre est le mien, et de signer correctement / incorrectement. Toutes les solutions décrites ci-dessus sont facilement google, cependant, si nécessaire, écrivez dans les commentaires. Les options d'édition sont disponibles et toutes les illustrations d'intérêt peuvent être ajoutées.