Lampe intelligente

Bonjour, Habr! J'attire votre attention sur une traduction de l'article «DIY Smart Lamp» de Maciej Matuszewski .

Un guide étape par étape sur la façon de passer d'une idée inventée à un produit fonctionnel.

image

Attendre contre la réalité

image

Vous êtes-vous déjà posé les questions suivantes?


  • La colle chaude peut-elle tout réparer?
  • Les équipements intelligents sont-ils difficiles à fabriquer?
  • Pouvez-vous verser du béton sous forme de carton?

Sinon, il est peut-être temps. Mais si c'est le cas, alors bienvenue au club! Nous avons récemment eu un hackathon interne à EL Passion , et j'ai eu une idée difficile. Faire une lampe!

Lampe intelligente.
Lampe intelligente en béton.
Lampe intelligente bois / béton avec bande LED RGB ...
ET BLUETOOTH!

En deux jours de hackathon (avec peu de frais généraux), nous avons tout fait!

Tout a commencé avec l'électronique


Il y a environ deux mois, j'ai commencé à jouer avec l'électronique. Je voulais élargir mes horizons, savoir quels câbles couper en cas de soulèvement de machines intelligentes, et dépasser mes connaissances en ingénierie frontale. Je pense que la plupart d'entre vous peuvent être similaires.

J'ai commencé avec les bases, obtenu quelques composants, regardé les tutoriels, puis je n'ai pas pu décider quoi faire ensuite.

Après environ deux mois, je me suis souvenu qu'un hackathon était en préparation!

J'ai aussi récemment vu Stephanie Nemeth parler lors d'une conférence où elle a montré des choses fantastiques que vous pouvez faire avec le rétro-éclairage Arduino et RGB. J'ai donc décidé de faire quelque chose d'aussi soigné que ça.

Mais je voulais faire quelque chose qui serait utile, fonctionnel et nécessiterait des compétences en bricolage, en programmation et en électronique.

J'ai choisi la chose la plus évidente qui puisse être faite à l'aide de lampes - des lampes. Et j'ai trouvé l'assemblage de bricolage parfait que je voulais imiter.

image

Lampe de bricolage à partir d'un tutoriel YouTube DIY Creators

J'avais déjà une idée. Maintenant, j'ai besoin d'une équipe.

Pitching - Team Building


Trois jours avant le hackathon, nous avons généralement une présentation où nous présentons nos idées au reste de l'entreprise et rassemblons les personnes qui travailleront sur notre projet. Je ne suis pas un gros vendeur, alors le mien ressemblait à ceci:
Hmmm, alors oui, je veux faire une lampe intelligente en béton. Merci beaucoup.

Malgré le manque d'informations, mon équipe comptait cinq personnes intéressées à se joindre! Nous avions un ensemble impressionnant de compétences:

  • Maciej - J'étais en tant que PDG du groupe. J'ai planifié l'assemblage, vérifié que nous avions tout ce dont nous avions besoin et aidé à assembler toutes les pièces (au figuré et au figuré).
  • Wojtek - il a assumé le poste de chef du département électronique. Il a planifié le circuit, créé un prototype et travaillé avec Yakub (iOS) pour s'assurer que Bluetooth fonctionne. Il s'est également assuré que nous n'avons pas brûlé le bâtiment.
  • Ula - Chef béton de l'atelier de menuiserie et colle chaude. Elle s'est assurée que nous faisions tout correctement, respectait les délais et travaillait sur le boîtier de la lampe en bois.
  • Ouais - Team Handyman. Il est apparu lorsque nous en avions le plus besoin, et s'est assuré que notre partie «manuelle» de l'assemblage fonctionnerait.
  • Yakub est le chef du département de développement mobile. Assurez-vous que nous avons une incroyable multiplateforme native, mais en fait la seule application ios, car qui utilise Android pour contrôler la lampe.

Achats


Regardons la liste de courses . J'ai énuméré seulement ce que nous avons utilisé et constamment intégré à la lampe. Tous les équipements supplémentaires, Arduino (prototypage, chargement de code dans AVR) et les composants que nous avons piratés ne sont pas pris en compte.

Coût total: 159 zlotys (environ 43 dollars américains).

Vous pouvez obtenir tous les articles à un prix inférieur, mais dans notre cas, c'était assez urgent.

image
Planches, béton, papier abrasif et autres choses utiles.

Partie 1: Fondation en béton


image

La phase de construction du projet a été un test passionnant. Les deux premières heures que nous avons passées à discuter de la façon de créer une fondation pour le béton qui répondrait aux exigences suivantes:

  • Laisser de l'espace en bas pour l'électronique
  • Laisser deux trous pour les boutons de teinte et de saturation
  • Laissez de la place pour une main en bois

Nous avons trouvé quelque chose comme ça:

image

Cela semble simple, mais ce n'était pas si facile à faire. Pour créer la base, nous avons utilisé une boîte en carton, beaucoup de ruban gris, une boîte de "souris magique 2", deux pailles en plastique et de la colle chaude.

image
Plus tard, nous avons mélangé et ajouté du béton.

image
Pas pour les personnes intolérantes au lactose, désolé.

Nous ne voulions pas que le pansement se déforme, nous avons donc utilisé plus de ruban adhésif et quatre litres de lait. Nous avons également posé la base en bois dans du béton afin d'avoir plus tard une place (bien que nous l'ayons presque oublié). Tout cela équivaut à une «solution miracle» dans les systèmes de production, mais comme on dit:
Si ça a l'air stupide mais ça marche, ce n'est pas stupide
Des gens intelligents
Cette citation est devenue notre devise pour le reste de l'assemblée.

Je n'ai pas d'image de la base immédiatement après l'avoir retirée du plâtre, mais la voici après un peu de meulage et déjà avec le levier en bois installé. Nous avons également ajouté des pieds en silicone pour empêcher le béton de rayer le comptoir.

image

Partie 2: Main en bois


image

Le support se compose de deux parties distinctes: le haut de la lampe et la base avec un câble à l'intérieur. Nous les avons connectés avec une grande vis, pour laquelle nous avons percé des trous dans les parties supérieure et inférieure.

image
Miraculeusement, nous n'avons pas brûlé le bureau.

image
Il s'avère que mesurer correctement les choses est difficile.

Nous avons commencé par faire le haut du bras.


image
Vue complète.

image

La partie supérieure était plutôt compliquée car elle nécessitait un travail délicat avec un fer à souder, mais commençons par les bases. Nous l'avons fabriqué à partir de trois morceaux de bois, deux fins (latéraux) et carrés. Tout d'abord, nous avons tout collé ensemble, percé un trou pour la grande vis qui maintient les parties supérieure et inférieure ensemble. Après un peu de meulage, pour compenser le fait que les planches étaient légèrement incurvées, Ula a peint sa main, et quand elle a séché, j'ai continué et j'ai commencé à installer des bandes LED dessus.

La première chose que j'ai faite a été de déterminer comment couper la bande LED. Nous ne voulions pas mettre une longue partie à l'intérieur, car cela ne donnerait pas autant de lumière, donc, mesurant la taille que nous ajustons, j'ai coupé en trois bandes, chacune ayant une taille de 35 cm. Ensuite, j'ai soudé le câble principal avec la première partie Bande LED et utilisé un tube thermorétractable pour sécuriser la connexion.

image
Les tubes thermorétractables et les joints de soudure relient deux bandes LED.

Après avoir collé la première bande à l'arbre, j'ai réalisé que j'avais oublié quels câbles je connectais aux sorties Rouge, Vert, Bleu et 12V +. C'était un petit revers, mais heureusement, nous avions un multimètre qui nous permettait de vérifier les connexions.

La prochaine chose que je devais faire était de souder les deux bandes LED en série avec la première partie. Cela m'a pris du temps, mais j'ai réussi à le faire, malgré le fer à souder à 8 $ avec une pointe, qui diminuait à chaque utilisation. Nous avons testé cela en connectant le câble à la maquette et en utilisant l'un des encodeurs rotatifs pour changer la couleur.

image

Le bras inférieur, comme le montre la figure ci-dessus, était également assez complexe


image

image

La partie inférieure du bras était compliquée car nous devions insérer le câble à l'intérieur. Nous avons pensé à le couper en deux, à allouer un peu d'espace, puis à le plier ensemble, mais ce sera source d'erreurs et de temps. À la fin, nous avons décidé de coller trois morceaux de bois supplémentaires pour faire de la place pour le câble, comme le montre le graphique. C'est aussi la raison pour laquelle la partie à l'intérieur de la base est un peu plus étroite.

Il nous manquait quelques pièces, des morceaux de bois et une vis qui tiendraient notre main ensemble. Nous avons pris une courte pause de travail et sommes allés au magasin pour acheter toutes ces choses.

La couleur naturelle du pin n'était pas si bonne, donc Ula a peint les parties supérieure et inférieure de la lampe pour qu'elles deviennent un peu plus sombres. Nous l'avons laissé sécher pour la nuit, et le lendemain nous l'avons branché, et il avait l'air super!

image
Le processus de peinture.

image
L'emplacement des câbles à l'intérieur de la lampe.

Partie 3: Logiciel d'application iOS


Je n’étais pas impliqué dans le processus de création d’une application iOS, je ne peux donc pas mieux comprendre le code. Yakub a pris les devants et a livré l'application de travail jusqu'à la fin du premier jour. Le deuxième jour, il l'a élargi en ajoutant des fonctionnalités plus incroyables, telles que le support Ambilight, lorsque la lampe synchronise les couleurs avec elle pendant la lecture vidéo (démo à la fin de l'article).

Il y avait quelques problèmes avec la connexion Bluetooth, plus précisément, un module Bluetooth était connecté à iOS, mais pas à Android, et l'autre allait dans le sens inverse. Maintenant, la lampe ne fonctionne qu'avec iOS, mais pour MVP, cela suffit. Et le module Bluetooth peut être facilement commuté si nécessaire, car il n'est pas soudé en place.

Code d'application IOS

D'après mon expérience, je peux dire que l'application a l'air impressionnante, et la vitesse à laquelle Yakub l'a fournie est également incroyable!

image

Code Arduino / ATmega


Tout le code source ouvert sur GitHub . Vous pouvez passer par là. Je ne vais pas entrer dans les détails techniques profonds de la façon dont cela fonctionne. Wojtek, qui a écrit la plupart du code, serait mieux pour cela, j'ai donc créé un aperçu général de la façon dont tout fonctionne. Un algorithme simplifié est le suivant:

Algorithme logiciel de lampe simplifié

Passer d'Arduino à ATmega


Wojtek a écrit la première version du code pour Arduino, et plus tard je l'ai mis à jour pour fonctionner sur une puce ATmega régulière. Les différences sont minimes puisque je n'ai introduit que deux changements majeurs:
J'ai supprimé l'une des connexions série - auparavant, nous avions une connexion série, que nous utilisions pour le débogage (impression sur la console de l'ordinateur), et l'autre pour Bluetooth. Lorsque nous sommes passés à ATmega, nous n'avions plus besoin d'un débogage, ce qui libérait deux broches et simplifiait les connexions.

J'ai changé l'emplacement des broches - pour mieux placer tout sur la mise en page, j'ai changé l'emplacement physique, ce qui a nécessité un changement dans les broches de référence dans le code.

Si vous êtes intéressé, vous pouvez voir une demande de réception, qui contient les différences de toutes les modifications.


Partie 4: Electronique


Notre plan était assez ambitieux pendant si peu de temps, mais heureusement, Wojtek était assez intelligent et avait l'habitude de jouer avec l'électronique, il était donc le «leader» dans cette partie.

image

Nous avons commencé par les étapes pour les enfants, en testant diverses solutions par essais et erreurs. Wojtek a travaillé sur le code et le circuit en même temps et vérifié comment tout fonctionnait. La partie électronique de la lampe se composait de:

  • Microcontrôleur - Cerveau
  • Deux boutons avec boutons pour contrôler la luminosité, la teinte et la saturation
  • Module Bluetooth pour le contrôle sans fil
  • Bande LED pour la lumière

Tout d'abord, nous avons utilisé un Arduino au lieu d'un microcontrôleur autonome et avons tout placé sur la mise en page pour simplifier le processus de développement. À la fin de la deuxième journée, nous avions tout ce qui concernait la carte prototype. Bluetooth, encodeurs rotatifs et Arduino. Voici à quoi cela ressemblait lors de la session de démonstration:

image

Nous avons également réussi à graver une puce Bluetooth ...

Partie 5: Rendons-le plus petit!


Après le hackathon, je voulais passer un peu de temps et presser l'électronique pour qu'elle rentre à l'intérieur de la lampe afin que l'assemblage soit complet. Pour compresser l'électronique, j'ai dû:

  • Remplacez Arduino par ATmega328
  • Planifier les connexions sur carton
  • Souder la prise AVR pour pouvoir la remplacer si nécessaire
  • Souder des éléments non amovibles (transistors, prise DC, etc.)
  • Mettez tout cela ensemble

J'ai commencé par remplacer l'Arduino. Pour ce faire, j'avais besoin d'installer le bootloader sur l'AVme ATmega (c'est la même chose que sur Arduino). J'ai regardé plusieurs tutoriels sur la façon d'installer un chargeur de démarrage et comment utiliser Arduino en tant que programmeur ISP (il vous permet de télécharger des logiciels sur un microcontrôleur sans matériel supplémentaire). Après cela, j'ai mis à jour le code pour utiliser des contacts légèrement différents et le tour est joué!

image
Arduino s'est déconnecté avec succès!

Ensuite, j'ai dû tout souder sur un petit carton.

C'était la première fois que je travaillais avec des cartes ruban, et je ne pouvais pas trouver de logiciel simple qui pourrait aider à la conception de circuits physiques, alors je suis allé dans une vieille école et je l'ai planifié manuellement. J'ai imprimé une feuille de papier avec une grille en pointillés, où les points étaient des trous dans le carton. Ensuite, j'ai dessiné toutes les connexions et comment elles devraient s'adapter en fonction du schéma de disposition actuel.

image

La planification du circuit du circuit lui-même m'a pris plus d'une heure.

Pour le rendre plus compréhensible et visible, j'ai créé un graphique qui représente un diagramme sur carton.

image

Représentation du schéma créé. Dans une vraie construction, j'ai dû l'ajuster un peu pour s'adapter à tous les composants, mais il semble 90% plus élevé.

Après une dizaine d'heures de soudure (encore débutant) et deux doigts brûlés (ne touchez pas les composants si quelque chose sent mauvais), j'ai réussi à le faire fonctionner! Tout s'est mieux passé que prévu.

image

image
Toutes les pièces combinées. Les câbles blancs sont des poignées, les petits fils avec une isolation noire sont des connexions LED

image
Vue d'en bas. J'ai utilisé un mince fil de cuivre pour connecter les joints

image
Si vous regardez assez près, vous pouvez voir toute la colle que nous avons utilisée.

image

Produit prêt!


Regardez une démo complète où je vais parler de toutes les fonctionnalités de cette lampe. Malgré plusieurs problèmes, par exemple, des boutons rotatifs incurvés et un affichage couleur incorrect, cela fonctionne!

image
image

Pour moi et, je l'espère, pour le reste de l'équipe, ce fut l'un des projets de hackathon les plus agréables. Le processus et le résultat ont été incroyables, nous nous sommes beaucoup amusés et nous avons beaucoup appris sur le travail du bois, du béton et de l'électronique.

Si quelqu'un veut créer une lampe similaire ou a besoin d'informations plus détaillées, n'hésitez pas à commenter et à me demander quelque chose!

Source: https://habr.com/ru/post/fr475868/


All Articles