Table des matières:

Indicateur de vélo minimaliste, tactile ! : 10 étapes (avec photos)
Indicateur de vélo minimaliste, tactile ! : 10 étapes (avec photos)

Vidéo: Indicateur de vélo minimaliste, tactile ! : 10 étapes (avec photos)

Vidéo: Indicateur de vélo minimaliste, tactile ! : 10 étapes (avec photos)
Vidéo: Conversations pour apprendre le Français - 10 Heures de Pratique Orale - Apprends et progresse 2024, Novembre
Anonim
Image
Image

Salut! C'est mon premier Instructable. J'ai toujours voulu faire des choses à partir de zéro juste pour voir comment cela fonctionne et qui n'aime pas les trucs de bricolage (faites-le vous-même) quand vous pouvez modifier quelque chose en fonction de vos besoins, n'est-ce pas ? Aussi intéressant que puisse paraître un bricolage, il faut un peu d'effort pour y arriver. Parcourir le site Web Instructables est un excellent moyen de démarrer vos aspirations de bricolage et c'est ainsi que j'ai commencé à construire certains de mes projets plus tôt, mais je n'ai jamais pensé que j'en ferais un.

Juste au moment où l'opportunité s'est présentée à moi, j'ai créé un indicateur de vélo au design minimaliste et tactile. Je sais qu'il existe de nombreux Instructables ou sources en ligne pour un indicateur de vélo, mais la plupart d'entre eux ont pris plus de place ou n'étaient pas assez intelligents pour les modifier d'une manière particulière. Si vous recherchez un indicateur suffisamment intelligent pour répondre à vos besoins et vous donner la possibilité de les modifier selon vos besoins, alors ce Instructable est fait pour vous !

Pourquoi indicateur de vélo?

J'adore faire du vélo autour de la ville! Je prends mon vélo et je fais un tour le matin ou le soir. Parfois, la nuit, il est difficile de rouler, car la circulation derrière vous ne pourra pas vous remarquer et c'est un signe dangereux. C'est pourquoi j'ai voulu construire moi-même un indicateur avec tous les matériaux que j'avais avec moi à la maison et aussi il a fière allure sur le vélo lorsque vous roulez en ville en allumant les indicateurs !

Faire un projet sans avoir à faire face à aucun problème, ça n'arrive pas ! Mais je vais vous dire toutes les erreurs que j'ai commises, en construisant ceci, comme un « conseil pratique » afin que vous n'essayiez pas de les faire. La vidéo YouTube contient une illustration de la façon dont le projet est construit, de petites animations pour expliquer comment les choses fonctionnent et à quoi ressemble l'indicateur sur la route ! Les informations les plus élaborées sont données dans ce Instructable. Au fur et à mesure que vous avancez, je baliserai les segments de ma vidéo youtube comme "Chronologie:" à chaque étape pour que vous puissiez voir comment les choses fonctionnent dans la pratique. Vous pouvez obtenir plus d'informations en cliquant sur les liens en surbrillance fournis.

Caractéristiques de ce projet:

  • Indicateur de virage à droite
  • Indication de virage à gauche
  • Indication de la vue nocturne
  • tactile

Étape 1: Matériel pour commencer

Tester les composants
Tester les composants
  • Résistances (330 ohms et 120 ohms): 330 ohms et 120 ohms
  • Raspberry Pi 3: RPi 3
  • Planche à pain: Planche à pain
  • Fils de cavalier (mâle-mâle, mâle-femelle, femelle-femelle): Fils de cavalier
  • Fils multibrins: Fil multibrins
  • Capteur tactile capacitif (TTP223) - (2): Lien
  • LED RVB (type de cathode commune) - (13): LED RVB à cathode commune
  • LED normales - (2): LED
  • Matériaux de soudure: Kit de soudure
  • Tableaux de Perf: Tableau de Perf
  • Banque d'alimentation: banque d'alimentation
  • 1 micro condensateur électrolytique Farad: condensateur électrolytique
  • LDR (Résistance dépendante de la lumière): LDR
  • Attaches de câble: Attaches de câble
  • Correcteur de câble: Correcteur de câble
  • Peinture acrylique et pinceaux (facultatif): peinture et pinceaux
  • Deux boîtes de rangement pour l'assemblage. (1 grand et 1 moyen)

Gardez toujours une quantité supplémentaire par rapport à ce qui est mentionné ci-dessus. J'ai lié les composants sur Amazon et certains des meilleurs kits d'achat pour les matériaux de soudure !

Chronologie: Rassembler des matériaux

Étape 2: Tester les composants

Tester les composants
Tester les composants
Tester les composants
Tester les composants
Tester les composants
Tester les composants

Mettons vos composants à l'épreuve ! C'est vraiment utile pour séparer les composants qui sont endommagés ou qui agissent bizarrement pour une raison quelconque. Cette phase vous permet également d'acquérir une première expérience pratique avec les composants et de faire un peu d'apprentissage avant de passer à la construction de l'ensemble du projet.

Testez le type de LED RVB

Il existe deux types de LED RGB que l'on trouve sur le marché. Le type à cathode commune et le type à anode commune.

C'est une astuce pratique (bien que plus grande) car j'ai connecté les LED comme on le voit dans cette vidéo ici et la LED ne s'est pas allumée comme prévu même après avoir vérifié plusieurs fois le circuit. Puis je me suis rendu compte qu'il existe deux types de cette LED et en parcourant la fiche technique j'ai enfin eu une solution ! Le problème avec mon circuit était que la broche de cathode commune était connectée à 3,3 V comme mentionné et j'avais gardé la broche GPIO sur HIGH, de sorte que la broche de cathode commune et les 3 autres broches étaient au même potentiel.

Solution: j'ai connecté la broche cathodique commune à la terre et la LED s'est allumée ! La raison pour laquelle je n'ai pas changé mon code pour garder les broches GPIO BAS car nous utiliserons plus de LED plus tard et le RPi ne nous donne que deux broches à 3,3 V dont nous avons également besoin à d'autres fins !

Comment tester le type ?

Gardez le multimètre en mode continuité. Appuyez sur le fil le plus long avec la pointe rouge du multimètre et avec la pointe noire, appuyez sur l'un des autres fils. Si la LED s'allume en effectuant l'étape ci-dessus, il s'agit d'une LED RVB à anode commune. Si ce n'est pas le cas, inversez la pointe du multimètre maintenant. Appuyez sur le fil le plus long avec une pointe noire et une pointe rouge avec n'importe quel autre fil. Il s'allumera maintenant pour indiquer que la LED est une LED RVB à cathode commune.

Astuce pratique: j'ai utilisé le type de cathode commune dans ce projet. Essayez d'obtenir ces types uniquement, mais même si l'autre type est disponible, ne vous inquiétez pas. Les connexions du circuit restent les mêmes, la seule différence doit être faite dans le code que je donnerai en commentaire à côté de la ligne de code réelle où vous devez changer. Respirez.

Chronologie: tester RVB

Référence: Comment tester RVB

La LED RVB s'allume

Pour ce faire, consultez le schéma de connexion donné dans les images ci-dessus et connectez-vous selon les broches via une planche à pain (pour le garder en sécurité pour commencer).

ROUGE: Broche 11 (résistance de 330 ohms)

VERT: broche 13 (résistance de 120 ohms)

BLEU: broche 15 (résistance de 120 ohms)

Les valeurs de résistance varient en raison des tensions directes variables des conducteurs.

Une fois que vous les avez correctement connectés, codez le RPi dans son IDE python intégré.

importer RPi. GPIO en tant que GPIO

#Les numéros de broche correspondent au numéro exact sur le RPi GPIO Red_pin = 11 Green_pin = 13 Blue_pin = 15 #Connectez la broche de cathode commune à la broche 6 def turnOn(pin): GPIO.setmode(GPIO. BOARD) GPIO.setup(pin, GPIO. OUT) GPIO.output(pin, GPIO. HIGH) #GPIO.output(pin, GPIO. LOW) pour le type d'anode commun def turnOff(pin): GPIO.setmode(GPIO. BOARD) GPIO.setup(pin, GPIO. OUT) GPIO.output(pin, GPIO. LOW) #GPIO.output(pin, GPIO. HIGH) def redOn(): turnOn(Red_pin) def redOff(): turnOff(Red_pin) def greenOn(): turnOn(Green_pin) def greenOff(): turnOff(Green_pin) def blueOn(): turnOn(Blue_pin) def blueOff(): turnOff(Blue_pin) try: while True: cmd = input("Tapez votre commande: ") if cmd == "red on ": #type de commandes d'entrée comme mentionné exactement à l'intérieur de "" redOn() elif cmd == "red off": redOff() elif cmd == "green on": greenOn() elif cmd == "green off": greenOff() elif cmd == "blue on": blueOn() elif cmd == "blue off": blueOff() else: print("Not a valid command") sauf KeyboardInterrupt: GPIO.cleanup()

J'ai fait référence à ce Instructable, vérifiez ceci pour une description détaillée et le code !

En utilisant le même code ci-dessus, vous pouvez vérifier plusieurs LED ensemble en les connectant en parallèle sur la planche à pain et en retirant le point unique de l'une des broches connectées ensemble. Utilisez différentes valeurs de résistance pour chaque broche pour vérifier la luminosité de vos LED

Astuce pratique: Assurez-vous de connecter le même type de broche parallèle. C'est-à-dire que la broche rouge d'une LED se connecte à la broche rouge de l'autre LED uniquement.

Chronologie: Faites-les briller !

Test du pavé tactile

La connexion du circuit est comme indiqué ici (Chronologie). Connectez-les comme indiqué et testez vos pavés tactiles à l'aide du code suivant.

Code:

importer RPi. GPIO en tant que GPIO

from time import sleep GPIO.setmode(IO. BOARD) touchpad1 = 11 #pin 11 touchpad2 = 13 #pin 13 GPIO.setup(touchpad1, GPIO. IN) GPIO.setup(touchpad2, GPIO. IN) # Nous pouvons instructions ci-dessus ensemble comme # GPIO.setup([touchpad1, touchpad2], GPIO. IN) try: while True: if(GPIO.input(touchpad1) == True): print ("Touchpad 1 touché") sleep(2) elif (GPIO.input(touchpad2) == True): print ("Touchpad 2 touché") sleep(2) else: print ("Not Touched") sauf KeyboardInterrupt: GPIO.cleanup() #CTRL-C pour quitter

Tester une LED

Reportez-vous à ce génial instructable pour tester votre LED !

Une fois que vous avez testé tous les composants ci-dessus, vous êtes prêt à en créer une version plus grande.

Étape 3: Souder le panneau indicateur

Souder le panneau indicateur
Souder le panneau indicateur
Souder le panneau indicateur
Souder le panneau indicateur
Souder le panneau indicateur
Souder le panneau indicateur

Si vous débutez dans la soudure, consultez ce tutoriel pour en apprendre les bases ici (Comment souder). Si vous êtes un pro de la soudure, laissez-nous commencer !

Le panneau indicateur

Vous pouvez trouver l'illustration de la façon de les souder sur la carte de perforation dans les images ci-dessus.

Nous utilisons 13 LED RVB pour le panneau. Séparez-les en trois sections: gauche, droite et centre pour souder en conséquence.

Important: Espacement des LED

J'ai laissé 3 rangées entre les LED. Comme le montre la deuxième image. Ceci est important pour que le panneau LED ait l'air et se sente bien. Nous ne voulons pas que les LED soient trop éloignées pour augmenter l'espace ou trop proches pour ne pas pouvoir distinguer la lumière de loin.

Astuce pratique: commencez par souder toutes les broches cathodiques communes en premier

Astuce pratique: utilisez des fils multibrins pour connecter les LED entre elles car elles sont moins robustes et faciles à plier. Vous pouvez utiliser les broches de coupure supplémentaires des LED pour connecter les distances plus courtes

Section de droite: (5 LED)

  • Connectez toutes les broches rouges ensemble
  • Connectez toutes les broches vertes ensemble
  • Connectez toutes les broches cathodiques communes ensemble

Section gauche: (5 LED)

  • Connectez toutes les broches rouges ensemble
  • Connectez toutes les broches vertes ensemble
  • Connectez toutes les broches cathodiques communes ensemble

Section centrale: (3 LED)

Conseil pratique: cette section requiert suffisamment de prudence. Ne soudez pas toutes les broches ensemble comme nous l'avons fait dans les deux sections ci-dessus !

  • Connectez toutes les broches rouges ensemble
  • Connectez uniquement les LED supérieure et inférieure, la broche verte.
  • Connectez toutes les broches cathodiques communes ensemble

Fils

Nous avons besoin de fils plus longs pour connecter le panneau à la carte GPIO.

Conseil pratique:

  • Utilisez des fils monobrins ! Ils sont suffisamment robustes pour résister aux contraintes mécaniques qui leur sont appliquées !
  • Gardez les fils un peu plus longs que la longueur réelle nécessaire entre le panneau et le RPi (c'est très pratique pour gérer les fils plus tard ! (Chronologie: Mesures)
  • Isoler après soudure ! Très important

Utilisez un fil de liaison et un fil monobrin pour souder. L'une des extrémités du cavalier doit être un connecteur femelle. Soudez-les comme indiqué ici (Chronologie)

Codez les fils par couleur en rouge, vert et noir. qui correspond respectivement à la broche rouge, à la broche verte et à la broche cathodique commune.

Nous avons besoin de 3 fils noirs, 3 fils rouges et 3 fils verts.

Une fois les fils prêts. Soudez les fils aux voyants LED.

Conseils pratiques:

  • Assurez-vous que les LED sont soudées selon les connexions indiquées.
  • Assurez-vous d'avoir soudé les bonnes valeurs de résistance en place. Si les valeurs sont modifiées, cela affectera la luminosité des LED
  • Une façon de vous assurer que toutes vos LED fonctionnent est d'utiliser le multimètre donné à l'étape 2. C'est très pratique car vous saurez s'il y a un court-circuit, les LED ne s'allumeront pas.
  • Ne dénudez pas les extrémités des fils plus longtemps que nécessaire. Ce sera difficile de les maintenir en place et aussi un risque plus élevé de court-circuit.
  • Utilisez un fil multibrin pour la connexion entre les LED.
  • Utilisez un fil monobrin pour connecter les sections au RPi.

Étape 4: Testez le panneau indicateur

Mettez le panneau indicateur à l'épreuve
Mettez le panneau indicateur à l'épreuve
Mettez le panneau indicateur à l'épreuve
Mettez le panneau indicateur à l'épreuve
Mettez le panneau indicateur à l'épreuve
Mettez le panneau indicateur à l'épreuve

Gloire! Si vous avez correctement soudé le panneau. Passons maintenant au codage de l'indicateur !

Comme mentionné précédemment, nous indiquerons un virage à droite, un virage à gauche et allumer/éteindre la vue nocturne.

Reportez-vous à la connexion du circuit à l'étape 3.

Connectez les fils du panneau comme indiqué ci-dessous:

  • Rouge Droite -- Broche 7
  • Vert Droite -- Broche 11
  • Cathode commune droite -- broche 6 (GND)
  • Rouge gauche -- Pin 13
  • Vert gauche -- Pin 15
  • Cathode commune gauche -- broche 9 (GND)
  • Centre Rouge -- Pin 16
  • Centre vert (haut et bas) -- Pin 18
  • Cathode commune centrale -- Broche 14 (GND)

Code d'essai:

importer RPi. GPIO en tant que GPIO

à partir de l'heure import sleep #Connect selon les numéros de broche ci-dessous Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 GPIO.setmode(GPIO. BOARD) def right_turn(): print ("Tourner à droite") clignoter (Green_right, Green_top_bottom, 0) def left_turn(): print ("Tourner à gauche") blink(Green_left, Green_top_bottom, 0) def blink(pin1, pin2, pin3): if(pin3 == 0): GPIO.setup([pin1, pin2], GPIO. OUT) pour x dans la plage (10): GPIO.output([pin1, pin2], GPIO. HIGH) sleep(0.5) GPIO.output([pin1, pin2], GPIO. LOW) sleep (0.5) sinon: GPIO.setup([pin1, pin2, pin3], GPIO. OUT) pour x dans la plage (10): GPIO.output([pin1, pin2, pin3], GPIO. HIGH) sleep(0.5) GPIO.output([pin1, pin2, pin3], GPIO. LOW) sleep(0.5) def night_sight(): print("Night Sight ON") blink(Red_left, Red_right, Red_center) try: while True: cmd = input(" Tester la LED pour: ") if cmd == "right turn": right_turn() elif cmd == "left turn": left_turn() elif cmd == "night sight": night_sight() else: print("Invalid Command") sauf Ke yboardInterrupt: GPIO.cleanup()

Si votre panneau efface toutes les phases de test comme dans le code, Bravo ! Préparez-vous pour la prochaine étape

Si le panneau ne s'allume pas, assurez-vous d'avoir suivi toutes les étapes correctement et consulté les conseils pratiques auparavant. Si le problème persiste, vous pouvez commenter ci-dessous, je serai prêt à vous aider.

Chronologie: Test ONE (Consultez la vidéo pour le prototype fonctionnel)

Étape 5: Intégration du panneau indicateur avec le pavé tactile

Intégration du panneau indicateur avec le pavé tactile
Intégration du panneau indicateur avec le pavé tactile
Intégration du panneau indicateur avec le pavé tactile
Intégration du panneau indicateur avec le pavé tactile
Intégration du panneau indicateur avec le pavé tactile
Intégration du panneau indicateur avec le pavé tactile

Le connecter au RPi

Effectuez les connexions comme indiqué sur l'image ci-dessus.

Panneau de droite

Pavé tactile:

  • Broche GND -- Broche 34
  • Broche VCC -- Broche 1
  • Broche SIG -- Broche 29

LED:

Broche d'anode (+) -- Broche 33

Panneau de gauche

Pavé tactile:

  • Broche GND -- Broche 30
  • Broche VCC -- Broche 17
  • Broche SIG -- Broche 31

LED:

Broche d'anode (+) -- Broche 35

GND commun: broche 39 (pour les deux cathodes des LED) - Soudure à la masse commune (Timeline)

Code d'essai:

importer RPi. GPIO en tant que GPIO

à partir du moment de l'importation du sommeil Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 trigger = 0 GPIO.setmode(GPIO. BOARD) GPIO.setup([right_led, left_led], GPIO. OUT) GPIO.setup(right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn(channel): GPIO.output (right_led, GPIO. HIGH) déclenché global déclenché = 1 impression ("Tourner à droite") blink(Green_right, Green_top_bottom) def left_turn(channel): GPIO.output(left_led, GPIO. HIGH) déclenché global déclenché = 1 impression ("Tourner Left") blink(Green_left, Green_top_bottom) GPIO.add_event_detect(right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect(left_touch, GPIO. FALLING, callback = left_turn, bouncetime = 500) def blink(pin1, pin2): GPIO.setup([pin1, pin2], GPIO. OUT) pour x dans la plage (10): GPIO.output([pin1, pin2], GPIO. HIGH) sleep(0.5) GPIO.outpu t([pin1, pin2], GPIO. LOW) sleep(0.5) GPIO.output([right_led, left_led], GPIO. LOW) déclenché global déclenché = 0 def night_sight(): tandis que (True): GPIO.setup([Red_center, Red_left, Red_right], GPIO. OUT) déclenché globalement si (déclenché == 0): print ("Night Sight ON") GPIO.output([Red_center, Red_left, Red_right], GPIO. HIGH) sleep(0.27) GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) sleep(0.27) else: print ("Night Sight OFF") GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) try: night_sight() sauf KeyboardInterrupt: GPIO.cleanup()

Touchez le pavé tactile pour voir votre lumière briller

Chronologie (sans LED d'indication): test deux

Chronologie (avec LED d'indication):Test 3

Explication du code: nous voulons que le viseur nocturne fonctionne en continu et lorsque nous touchons le pavé tactile, il doit s'arrêter et exécuter la fonction du pavé tactile. Pour ce faire simultanément, nous utilisons quelque chose appelé "Interruptions" en python. Cela nous permet d'exécuter notre code normal qui est la vue nocturne ici et cela déclenche également un événement lorsqu'un toucher est détecté. Nous utilisons une variable déclenchée comme indicateur pour arrêter la vision nocturne.

Pour plus d'informations sur les interruptions, consultez ce lien.

Souder le panneau

Soudons maintenant les panneaux du touchpad qui iront au guidon du vélo. Référez-vous aux connexions comme indiqué dans l'image ci-dessus.

Maintenant que vous avez testé votre LED et le pavé tactile, vous êtes prêt à partir. Si vous n'avez pas encore testé, veuillez vous référer à cette étape et aux étapes précédentes.

Placez le pavé tactile près du guidon comme indiqué dans la vidéo. C'est-à-dire que pour le pavé tactile droit, le pavé tactile est à droite et à gauche à sa gauche. De même, pour le touchpad gauche, la led est à droite et le touchpad à gauche ce qui facilite l'accès au pouce.

PS: je n'ai pas soudé le touchpad au perf board car je devais le réutiliser. Par conséquent, je l'ai juste mis sur le panneau avec du ruban adhésif double face.

Connectez le panneau au RPi en utilisant des fils plus longs

Étape 6: Soyez intelligent

Rendez-le intelligent !
Rendez-le intelligent !
Rendez-le intelligent !
Rendez-le intelligent !
Rendez-le intelligent !
Rendez-le intelligent !

Oui! Maintenant que nous avons tous nos éléments essentiels de l'indicateur opérationnels. Allons plus loin pour le rendre intelligent.

Ici, smart définit également l'économie de la batterie. Comme vous l'avez peut-être remarqué, le viseur de nuit est toujours allumé et parfois cela peut ne pas être nécessaire par une belle journée ensoleillée. Pour surmonter ce problème, intégrons une LDR (Light Dependent Resistor) pour nous donner les données d'intensité lumineuse que nous pouvons collecter et traiter notre indicateur en conséquence.

Tester le LDR

Je me suis référé à ce site Web pour tester le LDR afin de vérifier l'intensité lumineuse et la valeur qu'il renvoie.

Reportez-vous au site Web étiqueté ci-dessus pour le circuit et l'exemple de code pour le fonctionnement du LDR.

Intégrer le LDR à notre code

Soudez le LDR au panneau droit du pavé tactile comme indiqué dans le schéma de connexion ci-dessus.

Après avoir soudé les broches au bon endroit, il est temps pour le dernier bit du codage. Le code final !

  • Connectez le point commun de la cathode (-) du condensateur et du LDR à la broche 36 du RPi
  • L'anode du condensateur est connectée au point de masse commune visé à l'étape 5

Code final:

importer RPi. GPIO en tant que GPIO

à partir du moment de l'importation du sommeil Red_right = 7 Green_right = 11 Red_left = 13 Green_left = 15 Red_center = 16 Green_top_bottom = 18 right_touch = 29 left_touch = 31 right_led = 33 left_led = 35 ldr = 36 trigger = 0 GPIO.setmode(GPIO. BOARD) GPIO. setup([right_led, left_led], GPIO. OUT) GPIO.setup(right_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) GPIO.setup(left_touch, GPIO. IN, pull_up_down = GPIO. PUD_UP) def right_turn(channel): GPIO.output(right_led, GPIO. HIGH) déclenché global déclenché = 1 impression ("Tourner à droite") clignotement (Green_right, Green_top_bottom) def left_turn(channel): GPIO.output(left_led, GPIO. HIGH) déclenché global déclenché = 1 impression ("Tourner à gauche") blink(Green_left, Green_top_bottom) GPIO.add_event_detect(right_touch, GPIO. FALLING, callback = right_turn, bouncetime = 500) GPIO.add_event_detect(left_touch, GPIO. FALLING, callback = left_turn, bouncetime = 500) def light_sensing (ldr): count = 0 #Sortie sur la broche pour GPIO.setup(ldr, GPIO. OUT) GPIO.output(ldr, GPIO. LOW) sleep(0.1) #Chang e la broche revient à l'entrée GPIO.setup(ldr, GPIO. IN) #Comptez jusqu'à ce que la broche passe au niveau haut tandis que (GPIO.input(ldr) == GPIO. LOW): count += 1 return count def blink(pin1, pin2): GPIO.setup([pin1, pin2], GPIO. OUT) pour x dans la plage (10): GPIO.output([pin1, pin2], GPIO. HIGH) sleep(0.5) GPIO.output([pin1, pin2], GPIO. LOW) sleep(0.5) GPIO.output([right_led, left_led], GPIO. LOW) déclenché global déclenché = 0 def night_sight(): while (True): GPIO.setup([Red_center, Red_left, Red_right], GPIO. OUT) déclenché global if(light_sensing(ldr) > 7800): if (déclenché == 0): print ("Night Sight ON") GPIO.output([Red_center, Red_left, Red_right], GPIO. HIGH) sleep (0.27) GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) sleep(0.27) else: print ("Night Sight OFF") GPIO.output([Red_center, Red_left, Red_right], GPIO. LOW) essayez: night_sight() sauf KeyboardInterrupt: GPIO.cleanup()

Voila ! Et l'indicateur est prêt à rouler.

Astuce pratique: avant d'assembler le RPi et d'autres composants au cycle, assurez-vous de tester correctement ce programme ! Exécutez-le plusieurs fois pour déboguer les erreurs.

Étape 7: Peinture et assemblage

Peinture et assemblage
Peinture et assemblage
Peinture et assemblage
Peinture et assemblage
Peinture et assemblage
Peinture et assemblage

Matériaux nécessaires:

  • Outils de coupe/dénudage de fil
  • Une grande boîte de rangement pour le Raspberry Pi
  • Une petite boîte de rangement pour s'adapter au panneau indicateur
  • Peindre
  • Pinceaux

Commencez par peindre le panneau indicateur et les panneaux du pavé tactile en noir. J'ai utilisé des peintures acryliques ici, vous pouvez les utiliser de votre choix qui se marient bien avec le panneau perforé. Utilisez un fond noir pour rendre le panneau LED vibrant et plus visible. Faites les trous à l'aide d'un tournevis chauffant ou en utilisant n'importe quel objet métallique pour faire fondre le plastique.

Remarque: soyez prudent lorsque vous faites des trous.

Chronologie: Peinture

Astuce pratique: j'ai utilisé des boîtes en plastique et la peinture s'enlève facilement. Assurez-vous d'utiliser des peintures de bonne qualité

Une fois que l'indicateur et les panneaux sont peints, séchez-les au soleil et préparez-vous pour l'assemblage.

J'ai coupé des bords supplémentaires du panneau de perforation dans le panneau indicateur et le panneau avant pour économiser de l'espace.

Regardez la vidéo pour l'assemblage!

Chronologie: Avengers ! Assembler. (Assemblage du panneau indicateur et du RPi avec les boîtiers)

Comme on le voit dans la vidéo, placez les fils en conséquence en faisant trois trous dans la plus grande boîte. Un pour le fil de la banque d'alimentation RPi, un pour les panneaux du pavé tactile et un pour le panneau indicateur. Un seul trou est nécessaire pour la plus petite boîte.

Astuce pratique: Vérifiez l'isolation des fils et vérifiez si les fils sont correctement soudés avant de les connecter dans la boîte.

Étape 8: Test à distance avec VNC et code final

Test à distance avec VNC et code final
Test à distance avec VNC et code final
Test à distance avec VNC et code final
Test à distance avec VNC et code final

Un dernier test avant que l'indicateur ne soit complètement prêt. Connectez votre RPi à la visionneuse VNC et exécutez le programme.

J'utilise toujours un serveur VNC pour exécuter le programme et déboguer les erreurs du programme. De cette façon, je peux placer le RPi directement à l'endroit où je veux tester sans connecter le moniteur en externe.

Consultez cette page pour connecter votre RPi au serveur VNC. (Serveur VNC)

Une fois que vous avez connecté le RPi au serveur VNC. Vous pouvez exécuter le code sur le bureau virtuel et déboguer les erreurs.

Chronologie: Exécuter au démarrage

Astuce pratique: Une fois que vous avez connecté votre Raspberry Pi au bureau virtuel, vous vous connecterez avec l'adresse IP du RPi. Mais si vous obtenez une erreur indiquant que le RPi a refusé la connexion, c'est à cause du changement d'adresse IP dans le RPI. Cela peut se produire lorsque vous redémarrez votre routeur ou un point d'accès WiFi, puis essayez de vous connecter avec l'ancienne adresse. Le routeur attribue une nouvelle adresse IP à chaque redémarrage. Mais si vous vous souvenez de l'ancienne adresse IP du RPi, incrémentez simplement le dernier chiffre de 1 et connectez-vous. Exemple: Si l'ancienne adresse IP est 190.148.1.100, connectez-vous en utilisant 190.148.1.101

Une fois que vous avez vérifié si tout fonctionne correctement, il est temps de procéder à l'assemblage final.

Nous ne pouvons toujours pas avoir de bureau virtuel pour surveiller ou exécuter le script python. Faisons-le donc au démarrage.

Nous voulons que notre programme s'exécute une fois que le RPi démarre. Consultez ce site Web pour plus de détails à ce sujet!

Si votre RPi est en configuration de connexion automatique, continuez;

Exécutez les commandes suivantes dans le terminal du RPi

sudo nano /etc/profil

Faites défiler vers le bas et ajoutez la ligne suivante:

sudo python file_path &

Le file_path ici fait référence au chemin du fichier python où votre code final est stocké.

Remarque: l'esperluette (&) à la fin du fichier doit être ajoutée pour que votre programme s'exécute parallèlement au démarrage du système. Parce que notre programme contient une boucle sans fin, cette étape est obligatoire afin que même si le programme ne s'exécute pas comme prévu, nous pouvons toujours utiliser le bureau RPi pour modifier les paramètres.

Après cela, appuyez sur CTRL-X, puis sur YAppuyez deux fois sur Entrée et vous reviendrez au terminal de commande.

Redémarrez le Pi

Maintenant, le code devrait s'exécuter au démarrage

Étape 9: Gestion des câbles et assemblage final

Gestion des câbles et assemblage final
Gestion des câbles et assemblage final
Gestion des câbles et assemblage final
Gestion des câbles et assemblage final
Gestion des câbles et assemblage final
Gestion des câbles et assemblage final

Toutes nos félicitations! à la fin de ce projet. Je lui ai donné le mot Minimal comme vous l'avez vu nous avons utilisé moins de LED pour afficher toutes les indications nécessaires et également avec des couleurs personnalisées. N'hésitez pas à utiliser différentes couleurs pour vos leds comme le jaune pour les clignotants ou tout autre.

Si vous avez réalisé ce projet, cliquez sur "I made It" et partagez votre expérience. Partagez vos réflexions ainsi que vos suggestions ou commentaires sur ce projet. J'aimerais entendre ça !

Gestion des câbles

Oui! Comme vous l'avez peut-être remarqué, il y a tellement de fils qui entrent et autour des cycles et leur gestion est mouvementée. J'ai utilisé des étiquettes de câble, des rubans isolants et une gaine de câble pour cacher les fils et les ai également peints en noir comme vous l'avez vu sur la photo.

Astuce pratique: parce que vous avez laissé des centimètres supplémentaires sur vos câbles, il est maintenant utile de les gérer correctement sans les stresser ! les fils de raccordement connectés au RPi, il y aura un contact lâche. Si cela persiste, utilisez un cavalier mâle-femelle pour rallonger le fil et les connecter. Utilisez des serre-câbles pour maintenir les fils en place afin qu'ils ne bougent pas.

Maintenant, l'indicateur est prêt pour un tour ! Profitez-en

PS: dans un autre instructable, j'aimerais vraiment réduire le nombre de fils dans le circuit et proposer un meilleur plan. Si je fais ça, je partagerai un Instructable là-dessus !

Étape 10: Quelques images de l'indicateur

Quelques photos de l'indicateur
Quelques photos de l'indicateur
Quelques photos de l'indicateur
Quelques photos de l'indicateur
Quelques photos de l'indicateur
Quelques photos de l'indicateur
Quelques photos de l'indicateur
Quelques photos de l'indicateur

Merci d'avoir lu ce Instructable. J'espère que vous l'avez apprécié autant que moi à le faire

Chronologie: Test finalDans le segment ci-dessus, vous pouvez voir que dès que la pièce s'assombrit, le "Night Sight" s'allume et à mesure qu'il devient plus lumineux, il s'éteint immédiatement !

Chronologie: Prêt à roulerCertaines vidéos que j'ai prises pour mettre l'indicateur sous les feux de la rampe. Tous les crédits au cyclisme de mes sœurs pour la vidéo !

Conseillé: