Indholdsfortegnelse:

TfCD - Plus: 7 trin
TfCD - Plus: 7 trin

Video: TfCD - Plus: 7 trin

Video: TfCD - Plus: 7 trin
Video: EHRA free webinar: New data in anticoagulation for patients with AF and PCI 2024, Juli
Anonim
Image
Image
ingredienser
ingredienser

Plus er et minimalt smart lys, som ikke kun giver folk besked om vejrforholdene, men også skaber en behagelig oplevelse for brugerne ved de ændringer, der er foretaget i lysets farve ved at dreje pluset. Dens form giver brugeren mulighed for at kombinere flere plusmoduler eller oprette en kæmpe lampe med masser af plusstykker placeret af venner. Dette belysningsprojekt er en del af Advanced Concept Design (ACD) kursus på TU Delft universitet, og teknologien implementeret ved at bruge TfCD praktisk som inspirationskilde.

Trin 1: Ingredienser

ingredienser
ingredienser
ingredienser
ingredienser

1 Hindbær pi zero w

1 Groove Adxl345 accelerometer

4 Ws2812b LED

1 prototypebord

3D-printede og laserskårne kabinetter

Trin 2: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

LED'er

Neopixel LED'erne har 4 ben benævnt: +5V, GND, Data In og Data out.

  1. Pin 4 af hindbær pi er forbundet til +5V på alle lysdioder
  2. Pin 6 af hindbær pi er forbundet til GND for alle lysdioder
  3. Data I pin på den første LED er forbundet til pin 12 på hindbær pi.
  4. Data out -stiften på den første LED er forbundet med Data in i den anden og så videre.

Se venligst ledningsdiagrammet for en bedre forståelse.

Accelerometer

Accelerometeret har 4 ben benævnt: VCC, GND, SDA og SCL.

  1. Pin 1 af hindbær pi er forbundet til VCC.
  2. Pin 3 af hindbær pi er forbundet til SCL.
  3. Pin 5 af hindbær pi er forbundet til SDA.
  4. Pin 9 af hindbær pi er forbundet til GND.

Byg

  1. For nemheds skyld kan lysdioderne loddes på et prototypebord. Vi har besluttet at skære brættet i form af et plus, så det passer godt ind i 3D -designet etui.
  2. Når vi har loddet lysdioderne på tavlen, lodder vi jumperkabler for at lave forbindelserne mellem en 0,1 "header-forbindelse og LED'erne. Header-stikket bruges til at tillade, at hindbær-pi frakobles og genbruges til et fremtidigt projekt.

Trin 3: Software

Software
Software

Raspberry Pi -operativsystembillede

Vi skal først få Raspberry Pi i gang. For at gøre dette følger vi disse trin:

  1. Download den nyeste version af Raspbian herfra. Du kan downloade det direkte eller via torrents. Du skal bruge en billedskriver til at skrive det downloadede operativsystem til SD -kortet (micro SD -kort i tilfælde af Raspberry Pi B+ -model og Raspberry Pi Zero).
  2. Så download "win32 diskimager" herfra. Indsæt SD -kortet i den bærbare computer/pc, og kør billedskriveren. Når den er åben, skal du gennemse og vælge den downloadede Raspbian -billedfil. Vælg den korrekte enhed, det er drevet, der repræsenterer SD -kortet. Hvis det valgte drev (eller enhed) er forskelligt fra SD -kortet, bliver det andet valgte drev beskadiget. SÅ vær forsigtig.
  3. Klik derefter på knappen "Skriv" i bunden. Som et eksempel kan du se billedet herunder, hvor SD -kort (eller micro SD) -drevet er repræsenteret med bogstavet "G: \" OS'et er nu klar til normal brug. Men i denne vejledning vil vi bruge Raspberry Pi i hovedløs tilstand. Det betyder, at uden en fysisk skærm og et tastatur er knyttet til det!
  4. Efter at have brændt SD -kortet, må du ikke skubbe det ud fra din computer! Brug en teksteditor til at åbne filen config.txt, der er på SD -kortet. Gå til bunden, og tilføj dtoverlay = dwc2 som den sidste linje:
  5. Gem config.txt-filen som ren tekst, og åbn derefter cmdline.txt Efter rootwait (det sidste ord på den første linje) tilføj et mellemrum og derefter modules-load = dwc2, g_ether.
  6. Fjern nu SD -kortet fra din pc, og indsæt det i Raspberry Pi og tilslut det til din pc ved hjælp af et USB -kabel. Når operativsystemet er startet, skal du se en ny Ethernet Gadget -enhed blive opdaget.
  7. Du kan bruge ssh [email protected] til at oprette forbindelse til kortet og fjernstyre det. For mere detaljerede instruktioner vedrørende hovedløs betjening, gå her. Neopixel Driver

Rpi_ws281x -biblioteket er nøglen, der gør det muligt at bruge NeoPixels med Raspberry Pi.

Først skal vi installere de værktøjer, der er nødvendige for at kompilere biblioteket. I din Raspberry Pi-kørsel: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Kør nu disse kommandoer for at downloade og kompilere biblioteket:

git -klon https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Endelig, efter at biblioteket blev kompileret, kan vi installere det til python ved hjælp af:

cd python && sudo python setup.py install Nu kommer python -koden, der driver lysdioderne. Koden er ret enkel med nogle kommentarer til at hjælpe dig. fra neopixel import * # NeoPixel konfigurationer LED_PIN = 18 # Raspberry Pi's GPIO pin tilsluttet pixel LED_BRIGHTNESS = 255 # Indstillet til 0 for mørkeste og 255 for lyseste LED_COUNT = 4 # Antal LED pixels strip = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 800000, 5, Falsk, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Initialiser biblioteket strip.begin () strip.setPixelColor (0, Color (255, 255, 255)) strip.show ()

Driver til ADXL345

Accelerometersensoren, som vi har valgt, har en I2C -interfae til kommunikation med omverdenen. Heldigvis for os har Raspberry Pi også I2C -interface. Vi skal bare gøre det muligt at bruge det i vores egen kode.

Ring til Raspbian-konfigurationsværktøjet ved hjælp af sudo raspi-config. Når du har kørt, skal du gå til Interfacing Options, Advanced Options og derefter aktivere I2C. Installere de relevante python -moduler, så vi kan bruge I2C -grænsefladen i python:

sudo apt-get install python-smbus i2c-tools Følgende python-kode giver os mulighed for at kommunikere med accelerometersensoren og læse dens registerværdier til vores egne formål. import smbus import struct # Accelerometer konfigurationer bus = smbus. SMBus (1) adresse = 0x53 gain = 3.9e-3 bus.write_byte_data (adresse, 45, 0x00) # Gå til standby mode bus.write_byte_data (adresse, 44, 0x06) # Båndbredde 6,5 Hz bus.write_byte_data (adresse, 45, 0x08) # Gå til målingstilstand # Læs data fra sensoren buf = bus.read_i2c_block_data (adresse, 50, 6) # Pak dataene ud fra int16_t til python -heltaldata = struct.unpack_from ("> hhh", buffer (bytearray (buf)), 0)

x = float (data [0]) * forstærkning

y = float (data [1]) * gain

z = float (data [2]) * forstærkning

Bevægelsesdetektor

En af funktionerne i det lys, vi laver, er, at det kan registrere bevægelse (eller mangel der) for at gå ind i interaktiv tilstand (hvor lyset ændres baseret på rotation) og vejrudsigtsmodus (hvor lyset ændres afhængigt af vejrudsigten for i dag). Den følgende kode bruger den tidligere funktion til at læse accelerationsværdierne for 3-akserne og advare os, når der er bevægelse.

accel = getAcceleration ()

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

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

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

hvis dx> moveThreshold eller dy Til> moveThreshold eller dz> moveThreshold:

tryk 'flyttet'

flyttet = sandt

andet:

flyttet = Falsk

Vejr -API

For at modtage vejrudsigter kan vi bruge Yahoo Weather. Dette indebærer at tale med Yahoo Weather Rest API, som kan være ret kompleks. Heldigvis for os er den hårde del allerede taget sig af i form af weather-api-modulet til python.

  1. Først skal vi installere dette modul ved hjælp af: sudo apt install python-pip && sudo pip install weather-api
  2. Besøg forfatterens websted for mere information om dette modul.

Efter installationen får følgende kode vejrforholdene for dette øjeblik

fra vejrimport Weatherweather = Vejr ()

location = weather.lookup_by_location ('dublin')

condition = location.condition ()

print (condition.text ())

Samler det hele

Hele koden til projektet, der forbinder alle de ovenstående stykker, kan findes her.

Start automatisk python -scriptet ved opstart

For at kunne sætte raspberry pi i en boks og få den til at køre vores kode, hver gang vi slutter den til strømmen, skal vi sikre os, at koden automatisk startes under opstart. For at gøre dette bruger vi et værktøj kaldet cron.

  1. Ring først til cron -værktøjet ved hjælp af: sudo crontab -e
  2. De foregående trin åbner en konfigurationsfil, hvor vi tilføjer følgende linje:

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

Trin 4: Modellering og 3D -udskrivning

Modellering og 3D -print
Modellering og 3D -print
Modellering og 3D -print
Modellering og 3D -print

3D -modellen af Plus er lavet i Solidworks og gemt som. Stl -format. Til 3D -udskrivning blev modellen,. Stl -fil importeret i Cura -softwaren. Hver side af pluset tog 2:30 timer at producere; så hver fuld Plus tog cirka 5 timer at udskrive. Og for de gennemsigtige sider blev plexiglas laserskåret.

Trin 5: Montering

montage
montage
montage
montage
montage
montage
montage
montage

Med den 3D -trykte del, elektronikken og softwaren ved hånden, kan vi endelig samle det endelige produkt.

  1. De 3D -printede top- og bundplader fandt vi ud til at være mere gennemsigtige end forventet. Et lag aluminiumsfolie løste problemet med lyslækage.
  2. Disse ark er imidlertid ledende og kan forårsage shorts i vores ubeskyttede kredsløb. Så endnu et lag hvidt karton limes ovenpå.
  3. De diffuse plexiglasegmenter limes til en af sidepladerne.
  4. Der bores et hul i et af de 3D -printede sider. Dette er for at vi kan passere gennem netledningen.
  5. Når strømkablet er monteret gennem hullet, lodder vi det på vores prototypebord.
  6. Vi fastgør sensoren til hindbær pi og sætter den derefter i stikket.
  7. Vi vedhæfter det 2 stykke for at få vores endelige produkt.
  8. Eventuelt kan du lime det 2 stykke for at skabe en mere permanent forbindelse. Vær dog opmærksom på, at det måske er svært at komme ind i boksen, efter at den er limet fast, hvis du vil ændre koden senere.

Anbefalede: