Table des matières:

TfCD - Plus : 7 étapes
TfCD - Plus : 7 étapes

Vidéo: TfCD - Plus : 7 étapes

Vidéo: TfCD - Plus : 7 étapes
Vidéo: Про риски работы на условиях TFP #макияж #макияжмосква #tfp 2024, Novembre
Anonim
Image
Image
Ingrédients
Ingrédients

Plus est une lumière intelligente minimale, qui non seulement informe les gens des conditions météorologiques, mais crée également une expérience agréable pour les utilisateurs grâce aux changements apportés à la couleur de la lumière en faisant pivoter le plus. Sa forme donne à l'utilisateur la possibilité de combiner plusieurs modules plus ou de créer une énorme lampe avec beaucoup de pièces plus placées par des amis. Ce projet d'éclairage fait partie du cours Advanced Concept Design (ACD) de l'université TU Delft et de la technologie mise en œuvre en utilisant TfCD practice comme source d'inspiration.

Étape 1: Ingrédients

Ingrédients
Ingrédients
Ingrédients
Ingrédients

1 Framboise pi zéro w

1 accéléromètre Groove Adxl345

4 LED Ws2812b

1 planche de prototypage

Boîtiers imprimés en 3D et découpés au laser

Étape 2: Matériel

Matériel
Matériel
Matériel
Matériel
Matériel
Matériel
Matériel
Matériel

LED

Les LED Neopixel ont 4 broches nommées: +5V, GND, Data In et Data out.

  1. La broche 4 du raspberry pi est connectée au +5V de toutes les LED
  2. La broche 6 du raspberry pi est connectée au GND de toutes les LED
  3. La broche Data In de la première LED est connectée à la broche 12 du Raspberry Pi.
  4. La broche de sortie de données de la première LED est connectée à l'entrée de données de la seconde et ainsi de suite.

Veuillez consulter le schéma de câblage pour une meilleure compréhension.

Accéléromètre

L'accéléromètre a 4 broches nommées: VCC, GND, SDA et SCL.

  1. La broche 1 du raspberry pi est connectée à VCC.
  2. La broche 3 du raspberry pi est connectée au SCL.
  3. La broche 5 du raspberry pi est connectée au SDA.
  4. La broche 9 du raspberry pi est connectée à GND.

Construire

  1. Pour plus de commodité, les LED peuvent être soudées sur une carte de prototypage. Nous avons décidé de découper la planche en forme de plus afin qu'elle s'intègre bien dans le boîtier conçu en 3D.
  2. Une fois que nous avons soudé les LED sur la carte, nous soudons des fils de liaison pour établir les connexions entre un connecteur d'en-tête de 0,1" et les LED. Le connecteur d'en-tête est utilisé pour permettre au raspberry pi d'être déconnecté et réutilisé pour un futur projet.

Étape 3: Logiciel

Logiciel
Logiciel

Image du système d'exploitation Raspberry Pi

Nous devons d'abord faire fonctionner le Raspberry Pi. Pour ce faire, nous suivons ces étapes:

  1. Téléchargez la dernière version de Raspbian à partir d'ici. Vous pouvez le télécharger directement ou via les torrents. Vous aurez besoin d'un graveur d'images pour écrire le système d'exploitation téléchargé sur la carte SD (carte micro SD dans le cas du modèle Raspberry Pi B+ et Raspberry Pi Zero).
  2. Téléchargez donc "l'imageur de disque win32" à partir d'ici. Insérez la carte SD dans l'ordinateur portable/pc et exécutez l'éditeur d'images. Une fois ouvert, parcourez et sélectionnez le fichier image Raspbian téléchargé. Sélectionnez le bon périphérique, c'est-à-dire le lecteur représentant la carte SD. Si le lecteur (ou périphérique) sélectionné est différent de la carte SD, l'autre lecteur sélectionné sera corrompu. Donc sois prudent.
  3. Après cela, cliquez sur le bouton "Ecrire" en bas. A titre d'exemple, voir l'image ci-dessous, où le lecteur de carte SD (ou micro SD) est représenté par la lettre "G:\" Le système d'exploitation est maintenant prêt pour une utilisation normale. Cependant dans ce tutoriel nous allons utiliser le Raspberry Pi en mode sans tête. Cela signifie qu'il n'y a pas de moniteur physique ni de clavier qui y sont attachés !
  4. Après avoir gravé la carte SD, ne l'éjectez pas de votre ordinateur ! Utilisez un éditeur de texte pour ouvrir le fichier config.txt qui se trouve sur la carte SD. Allez en bas et ajoutez dtoverlay=dwc2 comme dernière ligne:
  5. Enregistrez le fichier config.txt en texte brut, puis ouvrez cmdline.txt Après rootwait (le dernier mot de la première ligne), ajoutez un espace, puis modules-load=dwc2, g_ether.
  6. Retirez maintenant la carte SD de votre PC et insérez-la dans le Raspberry Pi et connectez-la à votre PC à l'aide d'un câble USB. Une fois que le système d'exploitation a démarré, vous devriez voir un nouveau périphérique Ethernet Gadget découvert.
  7. Vous pouvez utiliser ssh [email protected] pour vous connecter à la carte et la contrôler à distance. Pour des instructions plus détaillées concernant le fonctionnement sans tête, allez ici. Pilote Neopixel

La bibliothèque rpi_ws281x est la clé qui permet d'utiliser NeoPixels avec le Raspberry Pi.

Nous devons d'abord installer les outils nécessaires pour compiler la bibliothèque. Dans votre Raspberry Pi, exécutez: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Exécutez maintenant ces commandes pour télécharger et compiler la bibliothèque:

git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Enfin, une fois la bibliothèque compilée avec succès, nous pouvons l'installer pour python en utilisant:

cd python && sudo python setup.py install Maintenant vient le code python qui pilote les LED. Le code est assez simple avec quelques commentaires pour vous aider. depuis l'import neopixel * # Configurations NeoPixel LED_PIN = 18 # Pin GPIO du Raspberry Pi connecté aux pixels LED_BRIGHTNESS = 255 # Mis à 0 pour le plus sombre et 255 pour le plus lumineux LED_COUNT = 4 # Nombre de bande de pixels LED = Adafruit_NeoPixel(LED_COUNT, LED_PIN, 800000, 5, False, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Initialise la bibliothèque strip.begin() strip.setPixelColor(0, Color(255, 255, 255)) strip.show()

Pilote ADXL345

Le capteur accéléromètre que nous avons sélectionné dispose d'une interface I2C pour communiquer avec le monde extérieur. Heureusement pour nous, le Raspberry Pi dispose également d'une interface I2C. Nous avons juste besoin de l'activer pour l'utiliser dans notre propre code.

Appelez l'outil de configuration Raspbian à l'aide de sudo raspi-config. Une fois exécuté, allez dans Options d'interfaçage, Options avancées, puis activez I2C. Installez les modules python pertinents afin que nous puissions utiliser l'interface I2C en python:

sudo apt-get install python-smbus i2c-tools Le code python suivant nous permet de communiquer avec le capteur de l'accéléromètre et de lire ses valeurs de registre à nos propres fins. import smbus import struct # Configurations de l'accéléromètre bus = smbus. SMBus(1) address = 0x53 gain = 3.9e-3 bus.write_byte_data(address, 45, 0x00) # Passe en mode veille bus.write_byte_data(address, 44, 0x06) # Bande passante 6.5Hz bus.write_byte_data(address, 45, 0x08) # Passer en mode mesure # Lire les données du capteur buf = bus.read_i2c_block_data(address, 50, 6) # Décompresser les données de int16_t vers python integer data = struct.unpack_from (">hhh", buffer(bytearray(buf)), 0)

x = float(data[0]) * gain

y = float(données[1]) * gain

z = float(data[2]) * gain

Détecteur de mouvement

L'une des caractéristiques de la lumière que nous fabriquons est qu'elle peut détecter le mouvement (ou son absence) pour entrer en mode interactif (où la lumière change en fonction de la rotation) et en mode prévisions météorologiques (où la lumière change en fonction des prévisions météorologiques pour aujourd'hui). Le code suivant utilise la fonction précédente pour lire les valeurs d'accélération pour les 3 axes et nous alerter en cas de mouvement.

accel = getAcceleration()

dx = abs(prevAccel[0] - accel[0])

dy = abs(prevAccel[1] - accel[1])

dz = abs(prevAccel[2] - accel[2])

if dx > moveThreshold ou dy To > moveThreshold ou dz > moveThreshold:

imprimer 'déplacé'

déplacé = vrai

autre:

déplacé = Faux

API météo

Pour recevoir les prévisions météo, nous pouvons utiliser Yahoo Météo. Cela implique de parler à l'API Yahoo Weather Rest qui peut être assez complexe. Heureusement pour nous, le plus dur est déjà pris en charge sous la forme du module weather-api pour python.

  1. Nous devons d'abord installer ce module en utilisant: sudo apt install python-pip && sudo pip install weather-api
  2. Veuillez visiter le site Web de l'auteur pour plus d'informations sur ce module.

Une fois installé, le code suivant obtient les conditions météorologiques pour ce moment

à partir de l'importation météo Weatherweather = Weather()

location = météo.lookup_by_location('dublin')

condition = emplacement.condition()

print(condition.text())

Mettre tous ensemble

Le code complet du projet qui relie toutes les pièces ci-dessus peut être trouvé ici.

Démarrage automatique du script python au démarrage

Pour pouvoir mettre le raspberry pi dans une boîte et lui faire exécuter notre code à chaque fois que nous le connectons à l'alimentation, nous devons nous assurer que le code est automatiquement lancé lors du démarrage. Pour ce faire, nous utilisons un outil appelé cron.

  1. Appelez d'abord l'outil cron en utilisant: sudo crontab -e
  2. Les étapes précédentes ouvriront un fichier de configuration, dans lequel nous ajoutons la ligne suivante:

    @reboot python /home/pi/light.py &

Étape 4: Modélisation et impression 3D

Modélisation et impression 3D
Modélisation et impression 3D
Modélisation et impression 3D
Modélisation et impression 3D

Le modèle 3D de Plus a été réalisé dans Solidworks et enregistré au format. Stl. Ensuite, pour l'impression 3D du modèle, des fichiers. Stl ont été importés dans le logiciel Cura. Chaque côté du plus a pris 2h30 pour produire; il fallait donc environ 5 heures pour imprimer chaque Plus complet. Et pour les côtés transparents, le plexiglas a été découpé au laser.

Étape 5: Assemblage

Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée
Assemblée

Avec la pièce imprimée en 3D, l'électronique et le logiciel à portée de main, nous pouvons enfin assembler le produit final.

  1. Les plaques supérieure et inférieure imprimées en 3D se sont révélées plus transparentes que prévu. Une couche de papier d'aluminium a résolu le problème de fuite de lumière.
  2. Cependant, ces feuilles sont conductrices et peuvent provoquer des courts-circuits dans notre circuit non protégé. Ainsi, une autre couche de carton blanc est collée sur le dessus.
  3. Les segments diffus en plexiglas sont collés sur l'une des plaques latérales.
  4. Un trou est percé dans l'un des panneaux latéraux imprimés en 3D. C'est pour que nous puissions passer à travers le cordon d'alimentation.
  5. Une fois le cordon d'alimentation inséré dans le trou, nous le soudons sur notre carte de prototypage.
  6. Nous attachons le capteur au raspberry pi puis le branchons sur le connecteur.
  7. Nous attachons les 2 pièces ensemble pour obtenir notre produit final.
  8. En option, vous pouvez coller les 2 pièces pour créer une connexion plus permanente. Cependant, sachez qu'il peut être difficile d'entrer dans la boîte une fois qu'elle est collée si vous souhaitez modifier le code plus tard.

Conseillé: