Indholdsfortegnelse:
- Trin 1: Ingredienser
- Trin 2: Hardware
- Trin 3: Software
- Trin 4: Modellering og 3D -udskrivning
- Trin 5: Montering
- Trin 6: Afsluttende test
Video: TfCD - Plus: 7 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
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
1 Hindbær pi zero w
1 Groove Adxl345 accelerometer
4 Ws2812b LED
1 prototypebord
3D-printede og laserskårne kabinetter
Trin 2: Hardware
LED'er
Neopixel LED'erne har 4 ben benævnt: +5V, GND, Data In og Data out.
- Pin 4 af hindbær pi er forbundet til +5V på alle lysdioder
- Pin 6 af hindbær pi er forbundet til GND for alle lysdioder
- Data I pin på den første LED er forbundet til pin 12 på hindbær pi.
- 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.
- Pin 1 af hindbær pi er forbundet til VCC.
- Pin 3 af hindbær pi er forbundet til SCL.
- Pin 5 af hindbær pi er forbundet til SDA.
- Pin 9 af hindbær pi er forbundet til GND.
Byg
- 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.
- 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
Raspberry Pi -operativsystembillede
Vi skal først få Raspberry Pi i gang. For at gøre dette følger vi disse trin:
- 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).
- 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.
- 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!
- 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:
- 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.
- 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.
- 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.
- Først skal vi installere dette modul ved hjælp af: sudo apt install python-pip && sudo pip install weather-api
- 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.
- Ring først til cron -værktøjet ved hjælp af: sudo crontab -e
-
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
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
Med den 3D -trykte del, elektronikken og softwaren ved hånden, kan vi endelig samle det endelige produkt.
- 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.
- Disse ark er imidlertid ledende og kan forårsage shorts i vores ubeskyttede kredsløb. Så endnu et lag hvidt karton limes ovenpå.
- De diffuse plexiglasegmenter limes til en af sidepladerne.
- Der bores et hul i et af de 3D -printede sider. Dette er for at vi kan passere gennem netledningen.
- Når strømkablet er monteret gennem hullet, lodder vi det på vores prototypebord.
- Vi fastgør sensoren til hindbær pi og sætter den derefter i stikket.
- Vi vedhæfter det 2 stykke for at få vores endelige produkt.
- 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:
HAIKU, når mode og teknologi smelter sammen. TfCD -projekt. TU Delft .: 4 trin
HAIKU, når mode og teknologi smelter sammen. TfCD -projekt. TU Delft .: Haiku er et koncept udviklet af Mucahit Aydin til et TU Delft MSc -kursus. Hovedprincippet for denne kimono er at forlænge følelsen af at blive krammet af nogen. For at gøre dette vil kimonoen afsløre et mønster efter at være blevet rørt. Hvordan? Af implementerer
Akustisk levitation med Arduino Uno trin for trin (8 trin): 8 trin
Akustisk levitation med Arduino Uno Step-by Step (8-trin): ultralyds lydtransducere L298N Dc kvindelig adapter strømforsyning med en han-DC-pin Arduino UNOBreadboard Sådan fungerer det: Først uploader du kode til Arduino Uno (det er en mikrokontroller udstyret med digital og analoge porte til konvertering af kode (C ++)
Gem og gendan forudindstillede værdier med NFC (TfCD): 4 trin
Gem og gendan forudindstillede værdier med NFC (TfCD): Vi vil teste, hvordan det fungerer at justere en bestemt værdi eller indstilling og senere huske denne indstilling. Til dette eksperiment brugte vi et NFC -tag til at læse og derefter gemme værdien på det. Senere kan mærket scannes igen og sende værdien tilbage for at gendanne en cer
Bærbart tilpasset lyspanel (Technology Exploration Course - TfCD - Tu Delft): 12 trin (med billeder)
Bærbart brugerdefineret lyspanel (Technology Exploration Course - TfCD - Tu Delft): I denne instruktionsbog lærer du, hvordan du laver dit eget oplyste billede, som du kan bære! Dette gøres ved at bruge EL -teknologi dækket med et vinylmærkat og fastgøre bånd til det, så du kan bære det om din arm. Du kan også ændre dele af denne side
Registrering af visuelt objekt med et kamera (TfCD): 15 trin (med billeder)
Visual Object Detection With a Camera (TfCD): Kognitive tjenester, der kan genkende følelser, ansigter hos mennesker eller simple objekter, er i øjeblikket stadig på et tidligt udviklingsstadium, men med maskinlæring udvikler denne teknologi sig i stigende grad. Vi kan forvente at se mere af denne magi i