[{"data":1,"prerenderedAt":228},["ShallowReactive",2],{"post-\u002Fposts\u002Fradar-arduino":3},{"id":4,"title":5,"body":6,"cover":212,"date":213,"description":214,"draft":215,"extension":216,"meta":217,"navigation":218,"path":219,"seo":220,"stem":221,"tags":222,"__hash__":227},"posts\u002Fposts\u002Fradar-arduino.md","Un radar ultrason : Arduino, impression 3D et Processing",{"type":7,"value":8,"toc":201},"minimark",[9,14,28,36,40,44,59,66,70,77,102,106,145,149,156,160,181,185,194],[10,11,13],"h2",{"id":12},"pourquoi-ce-projet","Pourquoi ce projet",[15,16,17,18,22,23,27],"p",{},"Je prépare un cours du soir sur les drones roulants et volants, et je voulais\nun premier projet qui intègre ",[19,20,21],"strong",{},"tout ce qu'on va y toucher"," : un peu\nd'électronique, un peu de code embarqué, de la modélisation 3D, et une\ninterface qui affiche des données en temps réel. Le radar ultrason est un\nclassique des tutos Arduino — mais le refaire ",[24,25,26],"em",{},"proprement",", en concevant le\nsupport soi-même et en comprenant chaque delay, c'est une autre histoire.",[15,29,30,31,35],{},"Le principe : un capteur ultrason HC-SR04 (les deux « yeux ») monté sur un\nservo SG90 balaie l'horizon de 0 à 180°. À chaque angle, l'Arduino mesure la\ndistance et envoie ",[32,33,34],"code",{},"angle,distance"," sur le port série. Un sketch Processing\nlit ce flux et dessine l'écran radar vert phosphorescent réglementaire.",[10,37,39],{"id":38},"le-montage","Le montage",[41,42],"gallery",{":images":43},"[\"\u002Fimages\u002Fposts\u002Fradar-arduino\u002Fmontage-final.jpg\", \"\u002Fimages\u002Fposts\u002Fradar-arduino\u002Ftour-detail.jpg\", \"\u002Fimages\u002Fposts\u002Fradar-arduino\u002Fcablage.jpg\"]",[15,45,46,47,50,51,58],{},"Le support est une petite tour imprimée en PLA sur ma Bambu Lab : socle\ncirculaire avec les graduations d'angle gravées, colonne cannelée, et une\nnacelle qui tient le capteur sur le palonnier du servo. Elle a été modélisée\n",[19,48,49],{},"en Python"," avec ",[52,53,57],"a",{"href":54,"rel":55},"https:\u002F\u002Fbuild123d.readthedocs.io\u002F",[56],"nofollow","build123d"," — du CAD\nparamétrique en code : chaque cote est une variable, on change une valeur et\ntoute la pièce se régénère.",[60,61,63],"video-player",{"src":62},"\u002Fimages\u002Fposts\u002Fradar-arduino\u002Fradar-demo.mp4",[15,64,65],{},"Le radar en action : balayage 0-180° et affichage temps réel.",[10,67,69],{"id":68},"ce-qui-a-raté-et-cest-le-plus-intéressant","Ce qui a raté (et c'est le plus intéressant)",[15,71,72,73,76],{},"Il a fallu ",[19,74,75],{},"cinq versions"," de la nacelle pour arriver au bout. Florilège :",[78,79,80,88,99],"ul",{},[81,82,83,84,87],"li",{},"La v1 avait une fente pour le câble du servo qui s'arrêtait à ",[24,85,86],{},"0.5 mm"," de\ndéboucher. Invisible sur les rendus 3D. On a fini par écrire un script de\nvalidation qui vérifie par booléens que chaque découpe traverse vraiment la\nmatière — comme des tests unitaires, mais pour de la géométrie.",[81,89,90,91,94,95,98],{},"La v3 était géométriquement parfaite… et ",[19,92,93],{},"impossible à monter"," : les yeux\ndu capteur traversent la plaque avant, donc le module ne peut s'insérer que\npar l'arrière — et rien n'était prévu pour, ni le passage, ni le dégagement\ndu quartz qui dépasse du circuit. Leçon : valider ",[24,96,97],{},"la séquence de montage",",\npas seulement l'objet assemblé.",[81,100,101],{},"La v4 se montait enfin… sauf que la vis fournie avec le servo fait 8.9 mm,\net mon empilement de plastique en faisait 10.3. La vis n'atteignait jamais\nl'axe. La longueur des vis est une cote comme les autres : maintenant elle\nest dans le modèle, avec un garde-fou qui refuse de générer la pièce si\nl'engagement est insuffisant.",[10,103,105],{"id":104},"ce-que-jai-appris","Ce que j'ai appris",[78,107,108,114,121,127,138],{},[81,109,110,113],{},[19,111,112],{},"Mesurer avant de modéliser"," : tout est parti de mesures au pied à\ncoulisse (dont j'ai appris… le nom). Les datasheets des kits mentent — la\nmienne annonçait un servo de 9 g pesant 134 g.",[81,115,116,117,120],{},"Le vocabulaire qui va avec : ",[19,118,119],{},"entraxe"," (distance entre les centres de deux\ntrous — le mot que je cherchais depuis le début), trou pilote, press-fit.",[81,122,123,126],{},[19,124,125],{},"Imprimer un gabarit de test"," de 10 minutes avant une pièce de 3 heures :\nle patron pour la taille des trous, les jeux d'impression, tout se calibre\nsur un petit coupon.",[81,128,129,130,133,134,137],{},"Les ",[19,131,132],{},"delays côté Arduino"," : celui d'avant la mesure laisse le servo se\nstabiliser (un ",[32,135,136],{},"write()"," n'attend pas que le servo arrive !) ; celui d'après\nest inutile, la mesure ultrason est déjà bloquante.",[81,139,140,141,144],{},"Et les éternels ",[19,142,143],{},"sinus et cosinus"," pour convertir du polaire en cartésien\ndans Processing — avec le piège de l'axe Y qui pointe vers le bas à l'écran.",[10,146,148],{"id":147},"les-limites","Les limites",[15,150,151,152,155],{},"Le HC-SR04 n'est pas un capteur de précision : cône de détection large, échos\nperdus sur les surfaces molles ou obliques, mesures aberrantes à filtrer. Pour\nun radar pédagogique c'est parfait — on ",[24,153,154],{},"voit"," les limites physiques du\ncapteur à l'écran, et ça fera un excellent sujet de discussion en cours.",[10,157,159],{"id":158},"la-suite","La suite",[78,161,162,165,168,171,174],{},[81,163,164],{},"Un châssis plus compact qui cache l'électronique (intégrer un Arduino Nano)",[81,166,167],{},"Un moteur 360° (ou deux servos 180° dos à dos)",[81,169,170],{},"Un écran OLED pour les mesures, voire un écran intégré pour l'affichage radar",[81,172,173],{},"Un capteur plus performant (ToF laser type VL53L0X ?)",[81,175,176,177,180],{},"Et le vrai objectif : transposer tout ça ",[19,178,179],{},"sur un robot roulant"," pour le cours",[10,182,184],{"id":183},"code-fichiers-3d-et-crédits","Code, fichiers 3D et crédits",[15,186,187,188,193],{},"Tout est sur GitHub : ",[52,189,192],{"href":190,"rel":191},"https:\u002F\u002Fgithub.com\u002Fopmvpc\u002Fradar-ultrason",[56],"radar-ultrason"," — firmware\nArduino, sketch Processing, modèles Python paramétriques, STL prêts à\nimprimer, et le journal de bord complet du projet.",[15,195,196,197,200],{},"Projet mené en collaboration avec ",[19,198,199],{},"Claude"," (Anthropic) pour l'encadrement\npédagogique, la modélisation 3D et la rédaction, avec des coups de main\nponctuels de ChatGPT sur l'électronique et Processing. Documentation :\ndatasheets Elegoo (SG90, HC-SR04) et docs Processing.",{"title":202,"searchDepth":203,"depth":203,"links":204},"",2,[205,206,207,208,209,210,211],{"id":12,"depth":203,"text":13},{"id":38,"depth":203,"text":39},{"id":68,"depth":203,"text":69},{"id":104,"depth":203,"text":105},{"id":147,"depth":203,"text":148},{"id":158,"depth":203,"text":159},{"id":183,"depth":203,"text":184},"\u002Fimages\u002Fposts\u002Fradar-arduino\u002Fmontage-final.jpg","2026-07-24","Mon premier projet intégré : un capteur HC-SR04 sur un servo SG90, une tour imprimée en 3D modélisée en Python, et un écran radar codé en Processing. Récit honnête, ratés compris.",false,"md",{},true,"\u002Fposts\u002Fradar-arduino",{"title":5,"description":214},"posts\u002Fradar-arduino",[223,224,225,226],"arduino","impression-3d","processing","électronique","3ejH3lFFo_dUxGqN54TTGeSqIdu9gIvdX4ZE3EDtNgI",1785064845325]