La Caverne du néophyte | Arduino - Nano-ordinateur, microcontrôleurs, FPGA - Electronique, domotique, DIY
Marsh Posté le 30-12-2017 à 17:23:36
Salut
Bon aujourd'hui j'ai commencé un peu a bosser sur mon projet de lampe de chevet !
J'ai donc commencer a réaliser des plans afin de mieux visualiser la forme que je veux lui donner !
J'ai fais des plans sur papier et je compte les repasser au propre sur support numérique rapidement (Pour pouvoir vous les partager)
J'ai aussi réaliser le modèle .STL du "Haut" de ma lampe sur Fusion 360 (je vous passe le lien dans les prochains jours) !
J'ai également commander un bandeau de LED d'1m de long dont les LED sont adressables individuellement !
Lien : https://www.amazon.fr/gp/product/B0 [...] UTF8&psc=1
En ce qui concerne les fonctionnalité j'aimerais partir sur :
- Base de la lampe en bois
- Haut de la lampe en PLA Translucide (Impression 3D)
- Usage d'un Bandeau de LED 5V DC
- 2 Boutons (ON/OFF) & (SELECT) pour la selection du mode d'éclairage
- 1 module IR pour permettre un control de la lampe a distance a l'aide d'une télécommande
- ?? Un Module MB 102 Pour l'alimentation de la carte et des led ??
Question :
L'usage d'un arduino nano est-il envisageable dans ce projet ?
Sachant qu'il devra assurer :
- Alimentation du bandeau de LED
- Gestion des modes d'éclairage
- Gestion des boutons
- Gestion du module IR
J'ai a ma disposition un power supply de ce type : http://www.dx.com/fr/p/mb102-bread [...] ke8Vt_ibIU
Je pense qu'il doit être possible d'alimenter le bandeau a partir de cette alim et au passage alimenter l'arduino ?
En ce qui concerne le module IR j'ai essayé de faire fonctionner celui présent dans mon kit sans grand succès !
J'éditerais ce post prochainement pour les plans et modèles
@+ et bonnes fêtes
Marsh Posté le 30-12-2017 à 18:05:54
Tu comptes faire comment pour alimenter ton bandeau qui doit bouffer facile 3A ou plus avec ce que tu nous montres là ? . A moins de réduire le bandeau à quelques cm y a un truc qui m'échappe...
Marsh Posté le 30-12-2017 à 20:12:48
Citation : Tu comptes faire comment pour alimenter ton bandeau qui doit bouffer facile 3A ou plus avec ce que tu nous montres là ? . A moins de réduire le bandeau à quelques cm y a un truc qui m'échappe... |
Disons que initialement c'était un peu ma question
Citation : |
Et je pense que la taille du bandeau n’excédera pas les 10 cm ! J'ai prévu de faire une lampe de chevet, pas un phare côtier
Marsh Posté le 30-12-2017 à 22:55:28
- 10cm... Tu veux un truc qui puisse vraiment éclairer (genre pour lire en dessous) ou juste une loupiotte d'ambiance ? Tu as déjà vu ce que produisent ces bandeaux ?
- La description du bandeau est très moisie mais il me semble qu'il faut y ajouter un driver de led non ?
- Pour moi ton MB102 est loin du compte et ne fera quasiment rien de plus que le régulateur présent de base sur l'Arduino, mais bon pour 10cm pourquoi pas.
Marsh Posté le 31-12-2017 à 10:13:32
Je te trouve un peu dur TotalRecall, Bad_57 débute.
Le MB102 n'est pas destiné à être utilisé dans un produit fini, c'est destiné à alimenter un breadboard comme ça :
Je ne pense pas qu'il y ai besoin de driver pour ce bandeau. D'après le descriptif, c'est du WS2812b, donc pilotable avec un Arduino avec la lib NeoPixel ou FastLED.
Par contre, c'est sûr que c'est pour de l'éclairage d'ambiance uniquement ; ne serait-ce que parce que lire sous une lumière violette, orange ou bleue, non merci
Il faut compter 50-60 mA par LED. Un Arduino seul ne pourra donc pas être utilisé pour alimenter le ruban (il sera même trop juste pour alimenter une seule de ces LEDs). 10cm d'un bandeau à 60 LEDs/m, ça sera donc 6 LEDs à alimenter. En se donnant une marge de sécurité, ça fait à peu près 400mA à débiter pour allumer tes 10cm de LEDs. Pourquoi ne pas alimenter tout ça avec une alimentation 5V / 500 mA ? N'importe quel chargeur de téléphone est capable de débiter ça, par exemple.
Pour ma part, je partirai sur un prototype sur Arduino, puis une réalisation du produit fini avec un simple ATTiny qui prendra bien moins de place et qui ne proposera que le strict nécessaire. Avec 6 I/O, il serait amplement suffire pour ce que tu veux faire.
Marsh Posté le 31-12-2017 à 11:55:18
Merci pour ta réponse !
Citation : Par contre, c'est sûr que c'est pour de l'éclairage d'ambiance uniquement ; ne serait-ce que parce que lire sous une lumière violette, orange ou bleue, non merci |
Je ne suis pas amateur de lecture donc disons que c'est vraiment sur un principe d'éclairage d'ambiance que je réalise ce projet ! Apres si j'arrive a trouver une teinte de blanc qui tire un peu sur le jaune ça restera tout a fait possible de lire Dans la limite ou l'intensité de l'éclairage le permet !
Citation : Il faut compter 50-60 mA par LED. Un Arduino seul ne pourra donc pas être utilisé pour alimenter le ruban (il sera même trop juste pour alimenter une seule de ces LEDs). 10cm d'un bandeau à 60 LEDs/m, ça sera donc 6 LEDs à alimenter. En se donnant une marge de sécurité, ça fait à peu près 400mA à débiter pour allumer tes 10cm de LEDs. Pourquoi ne pas alimenter tout ça avec une alimentation 5V / 500 mA ? N'importe quel chargeur de téléphone est capable de débiter ça, par exemple. |
Je me suis pas mal documenter hier soir suite aux remarques interessantes de TotalRecall sur le fait de devoir alimenter tout ce petit monde et j'ai donc lu pas mal de docs et vu pas mal de videos ! Et je parvenais au meme résultat que toi ! En partant du principe que je ne garde que 10 cm du bandeau je tapperais comme tu las dit 400mA max et j'ai vu sur une vidéo que l'on pouvois pomper jusqua 500mA max sur un arduino uno ! ce qui me laisse croire que c'est faisable !
Citation : Pour ma part, je partirai sur un prototype sur Arduino, puis une réalisation du produit fini avec un simple ATTiny qui prendra bien moins de place et qui ne proposera que le strict nécessaire. Avec 6 I/O, il serait amplement suffire pour ce que tu veux faire. |
J'ai aussi vu ce procédé sur une vidéo que je suivrais sans doute dans la phase finale du projet !
En ce qui concerne le pilotage des LED comme tu l'as dis il faut utiliser la lib FastLED ou NeoPixel (au passage simple d'utilisation) pour contrôler tout ça donc a priori pas de driver ou quoique ce soit d'autre !
Merci beaucoup pour vos réponses et votre aide ! Je vais continuer a récupérer quelques petites infos ici et la pour peaufiner tout ça et avancer dans la partie matérielle du projet !
A bientôt et bon réveillon
Marsh Posté le 31-12-2017 à 12:27:13
Bad_57 a écrit : Merci pour ta réponse ! |
Tu peux tirer 40 mA par pin, après ça crame. A moins d'alimenter 1 LED par PIN (bon courage pour les soudures direct sur le bandeau), la solution de l'alim externe sera plus viable.
D'une manière générale, on considère que le régulateur de l'Arduino peut délivrer 200-250 mA avant de commencer à chauffer sérieusement.
Marsh Posté le 31-12-2017 à 14:10:15
Citation : D'une manière générale, on considère que le régulateur de l'Arduino peut délivrer 200-250 mA avant de commencer à chauffer sérieusement. |
Ok c'est bon a savoir ! De toute manière l'arduino sera alimenté depuis un petit transfo de téléphone portable donc je devrais réussir a modifier le câble pour alimenter et les led et l'arduino
Marsh Posté le 31-12-2017 à 14:23:38
MossieurPropre a écrit : Tu peux tirer 40 mA par pin, après ça crame. |
40mA c'est déjà le "absolute maximum", il vaut mieux rester bien en dessous pour ne pas endommager le AVR à long terme. Et il faut aussi penser que la somme des courants tirés sur les sorties passe par les broches d'alimentation du AVR qui ont un "absolute maximum" de 200mA.
(source doc du mega2560, je sais pas quelle variante est utilisée sur tel ou tel Arduino mais les valeurs limites doivent être partout pareil je pense.)
Marsh Posté le 31-12-2017 à 14:26:08
rat de combat a écrit : 40mA c'est déjà le "absolute maximum", il vaut mieux rester bien en dessous pour ne pas endommager le AVR à long terme. Et il faut aussi penser que la somme des courants tirés sur les sorties passe par les broches d'alimentation du AVR qui ont un "absolute maximum" de 200mA. |
D'une manière générale, si y'a plus q'une LED à alimenter, j'utilise une alim externe
Marsh Posté le 31-12-2017 à 15:13:39
MossieurPropre a écrit : D'une manière générale, si y'a plus q'une LED à alimenter, j'utilise une alim externe |
Il faut distinguer deux choses ici:
Déjà le courant dont on a besoin doit être disponible quelque part, il faut donc une alim adaptée pour l'Arduino (qui peut-être un alim à brancher sur une prise, une pile, un port USB, ...). Il faut aussi penser au fait que le régulateur de tension de l'Arduino ne peut pas délivrer une quantité infinie de courant même si l'alim devant le permettrait, il faut regarder le courant maximal du régulateur et aussi/surtout la puissance dissipée (régulateur linéaire). (Ceci à condition d'utiliser ce régulateur, on peut aussi alimenter l'Arduino directement avec du 5V/3,3V, dans ce cas on n'a pas besoin du régulateur intégré.)
Ensuite si on veut commander une charge par l'Arduino il faut voir si on peut brancher la charge directement sur une sortie (avec tout le courant que tire la charge qui passe par la broche du µC) ou si il faut rajouter un transistor/MOSFET/relais.
Marsh Posté le 08-01-2018 à 08:41:34
Salut tout le monde
Je voulais faire un petit topo de ma progression vis a vis de mon projet de lampe de chevet !
J'ai reçu courant de semaine dernière le bandeau de LED et j'ai déjà pu réaliser plusieurs tests !
Après mes tests j'ai réaliser que 10 cm de bandeau ne serais pas suffisant j'ai donc pour le moment décider de prendre 20 cm.
Forcement qui dit plus de longueur dit plus de LED et donc plus d'intensité nécessaire du coup j'ai refait mon calcul et j'ai trouvé 800 mA (12*60mA = 720mA)
En ce qui concerne la question de l'alimentation j'ai trouvé plusieurs transfos chez moi qui devrais faire l'affaire (5V/1.5A, 5V/1A, etc)
J'ai fini les différents modèles 3D pour la partie Boitier :
Haut : (Perdu pour le moment je l'ajoute plus tard ici !)
Base : https://www.thingiverse.com/thing:2741537
J'ai encore quelques modifications a apporter au modèle de la base du boitier (Emplacement Alimentation etc) mais la forme générale est la !
Comme je l'avais dit dans mon tout premier post sur ce topic je voulais réaliser une base en bois, mais après deux essaies ratés de confection de ce dernier j'ai pris la décision de le réaliser en 3D.
Je referais un essaie avec le bois plus tard et procéderais a l'échange quand j'aurais obtenu un résultat satisfaisant
A l'heure actuelle je pense que le projet a déjà pas mal avancer ! Il ne me reste plus qu'a écrire le programme pour la gestion de l'éclairage (différents modes avec sélection via bouton poussoir) et l'impression du boiter. Après cela il ne me restera plus qu'a procéder a l'assemblage final
Je pense que je ferais un gros post récapitulatif quand j'aurais tout fini avec toutes les infos et des photos afin d'aider les autres débutants dans mon genre a s'en sortir
Encore merci de votre aide et a bientôt
Marsh Posté le 10-01-2018 à 15:22:48
Yo
Bon j'ai encore avancé sur mon petit projet et je dois dire que je touche au but.
J'ai en parti terminé la partie programmation hier, bien que je ne sois pas parvenue a faire tout ce que je voulais !
Mais ça fonctionne et c'est le principal
Voici le code commenté
Code :
|
Je suis presque sur que mon code est loin d’être optimisé mais bon comme je l'ai dis tout fonctionne donc ça me va
A l'heure actuelle je pars du principe que la phase "recherche & développement" du projet est terminée !
Maintenant il ne me reste plus que la partie réalisation du boitier et le montage final a faire
Je reviendrais surement sur mon code plus tard afin de le peaufiner et le rendre plus fonctionnel.
Je pense aussi commencer a réaliser de beaux schémas de câblage (que je posterais ici bien-sur !) d'ici fin de semaine pour bien illustrer tout le process
Si vous avez des suggestion par rapport au code je suis preneur
A Bientôt
Marsh Posté le 10-01-2018 à 16:03:49
Bad_57 a écrit : Yo
|
Niveau lisibilité :
Niveau fonctionnel :
Sinon, ça devrait aller
Marsh Posté le 10-01-2018 à 18:59:02
Citation : |
Merci
J'ai corrigé la ou je pouvais
Code :
|
Citation : |
Du coup comment faire pour éviter d'utiliser cette fonction ? Il y a une alternative ?
Marsh Posté le 11-01-2018 à 08:26:36
Bad_57 a écrit :
|
L'idée c'est d'utiliser millis() qui retourne un unsigned long qui contient le nombre de millisecondes depuis le démarrage de l'Arduino. A chaque tour de la main loop, tu compares le temps actuel avec le temps de début de ton compteur et tu déclenches ce que tu as à déclencher une fois que la différence entre les 2 atteint le nombre de millisecondes voulu. L'avantage c'est que tant que la durée voulue n'a pas été atteinte, la main loop peut continuer de tourner pour faire d'autres choses.
Après, tant que ça marche comme ça, tu n'est pas obligé de te prendre la tête avec ça (surtout que le but de ton delay(500) c'est justement, quelque part, de bloquer l'exécution ), mais tu peux le garder dans un coin de ta tête pour la suite.
Personnellement, pour gérer le cas de l'appui sur le bouton, plutôt que de vérifier que l'état du bouton passe à LOW, je vérifie plutôt si il y a eu un changement d'état depuis le dernier tour de boucle, et j'ajoute un timer de 200ms pour faire le debouncing :
Code :
|
EDIT : et en relisant le code, je me rends compte que ça pourrait être optimisé en inversant les 2 if : pas besoin de tester pour le debouncing si il n'y a pas eu de changement d'état du bouton
Marsh Posté le 11-01-2018 à 20:47:44
Citation : L'idée c'est d'utiliser millis() qui retourne un unsigned long qui contient le nombre de millisecondes depuis le démarrage de l'Arduino. |
Super merci beaucoup ! Je vais me renseigner sur cette fonction et j'essaierais de la mettre en application
Merci de ton aide !
Je reviens vers vous dans les prochains jours quand j'aurais vraiment des choses intéressantes a partager
Bonne soirée
A bientôt
Marsh Posté le 27-12-2017 à 13:53:19
Salut tout le monde
J'écris aujourd'hui ces quelques lignes car j'ai depuis quelques semaines développé un intérêt particulier pour les technologies "embarquées" type Arduino, Raspberry etc...
J'ai acheté il y a peu un starter kit Arduino composé d'une chié de capteurs en tout genre et autres composants électroniques !
Grand amateur du faire sois même (DIY) et autre technologies numérique etc, je prends pas mal de plaisir a faire des petits montages vraiment bidons et je commence donc a me faire une liste non exhaustive de projets plutôt ambitieux ( a mes yeux)
La Fameuse liste de mes projets :
- Une lampe de chevet/bureau
- Un Radio réveil intelligent
- Domotique (Lumières, média, etc)
Si j'écris ce post c'est dans un premier temps pour partager mon expérience ! Il y a encore une semaine je ne souvenais même plus de certaines bases en électronique (pourtant acquises il y a pas si longtemps).
Je suis en pleine progression et je pars de zéro ce qui je pense permet de vraiment montrer aux débutants qu'avec un peu de détermination et d'ambition on peux accomplir de grandes choses
Dans un second temps c'est bien évidement pour apprendre, demander conseil quand google ne parvient pas a m'aider.
(Je vais pas vous bombarder de questions rassurez vous ! )
En ce qui concerne toute la partie réalisation j'ai comme je l'ai dit plus haut un kit Arduino acheté sur Amazon
Pour les intéressés : https://www.amazon.fr/gp/product/B0 [...] UTF8&psc=1
Je fait actuellement des études dans le milieu de l'informatique et j'ai des cours sur la programmation en C# ce qui fait que j'ai déjà des bonnes bases sur le fonctionnement du langage ainsi que sa syntaxe
J'ai aussi tout le matériel nécessaire au bon déroulement de tout projet (Outillage, imprimante 3D etc)
J'insiste sur le fait que je créer principalement ce topic dans un but de partager mon expérience (certes faibles pour le moment) et mes démarches aux autres personnes dans ma situation.
J'ai été surpris de la quantité d'informations que l'on trouve sur le web mais du peux de projet vraiment partagés et expliqués dans le détail !
Je vais donc dans les prochains jours commencer par mon tout premier projet, et de loin le plus simple je pense, j'ai nommé : La lampe de Chevet !
Je vous mettrais le plus régulièrement possible a jour ce topic de manière a ce que vous puissiez suivre mon avancement dans ma quête du savoir
Si vous avez des suggestions de projets ou quoi que ce soit que vous jugeriez intéressant de me partager ne vous en privez pas On est la pour ça avant tout je pense
@+
Message édité par Bad_57 le 27-12-2017 à 13:53:51