Kazalo:
- Korak: Sestavine
- 2. korak: Strojna oprema
- 3. korak: Programska oprema
- 4. korak: Modeliranje in 3D tiskanje
- 5. korak: Montaža
- 6. korak: Končni preizkus
Video: TfCD - Plus: 7 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:07
Plus je minimalna pametna luč, ki ne le obvešča ljudi o vremenskih razmerah, ampak tudi ustvarja prijetno izkušnjo za uporabnike s spremembami barve svetlobe z vrtenjem plus. Njegova oblika daje uporabniku možnost, da združi več modulov plus ali ustvari ogromno svetilko z veliko plus kosov, ki so jih postavili prijatelji. Ta projekt razsvetljave je del tečaja naprednega konceptualnega oblikovanja (ACD) na univerzi TU Delft in tehnologije, ki se uporablja kot praktičen TfCD kot vir navdiha.
Korak: Sestavine
1 malina pi nič w
1 Merilnik pospeška Groove Adxl345
4 LED Ws2812b
1 Plošča za izdelavo prototipov
3D-tiskana in lasersko izrezana ohišja
2. korak: Strojna oprema
LED
LED diode Neopixel imajo 4 nožice z imenom: +5V, GND, Data In in Data out.
- Pin 4 maline pi je priključen na +5V vseh LED
- Pin 6 maline pi je povezan z GND vseh LED
- Data In pin prve LED diode je priključen na pin 12 na malini pi.
- Zatič za izhod podatkov prve LED je povezan s podatki za drugo in tako naprej.
Za boljše razumevanje si oglejte shemo ožičenja.
Merilnik pospeška
Merilnik pospeška ima 4 zatiči z imenom: VCC, GND, SDA in SCL.
- Pin 1 maline pi je povezan z VCC.
- Pin 3 maline pi je priključen na SCL.
- Pin 5 maline pi je povezan s SDA.
- Pin 9 maline pi je povezan z GND.
Zgradite
- Za udobje je mogoče LED spajkati na ploščo za izdelavo prototipov. Odločili smo se, da ploščo razrežemo v plus, tako da se dobro prilega 3D ohišju.
- Ko spajamo LED diode na plošči, spajkamo mostične žice, da vzpostavimo povezavo med 0,1-palčnim priključkom glave in LED-diodami. Konektor za glavo se uporablja za izključitev maline pi, da se odklopi in ponovno uporabi za prihodnji projekt.
3. korak: Programska oprema
Slika operacijskega sistema Raspberry Pi
Najprej moramo zagnati Raspberry Pi. Če želite to narediti, sledite tem korakom:
- Od tu prenesite najnovejšo različico Raspbiana. Prenesete ga lahko neposredno ali prek torrentov. Za zapisovanje prenesenega operacijskega sistema na kartico SD (kartica micro SD v primeru modelov Raspberry Pi B+ in Raspberry Pi Zero) boste potrebovali zapisovalnik slik.
- Zato prenesite "win32 disk imager" od tukaj. Vstavite kartico SD v prenosnik/računalnik in zaženite program za zapisovanje slik. Ko odprete, brskajte in izberite preneseno slikovno datoteko Raspbian. Izberite pravo napravo, to je pogon, ki predstavlja kartico SD. Če se izbrani pogon (ali naprava) razlikuje od kartice SD, bo drugi izbrani pogon poškodovan. Zato bodite previdni.
- Po tem kliknite gumb "Napiši" na dnu. Kot primer si oglejte spodnjo sliko, kjer je pogon kartice SD (ali mikro SD) predstavljen s črko "G: \" OS je zdaj pripravljen za običajno uporabo. Vendar bomo v tej vadnici uporabljali Raspberry Pi v načinu brez glave. To pomeni brez fizičnega monitorja in tipkovnice!
- Po zapisovanju kartice SD je ne odstranite iz računalnika! Z urejevalnikom besedila odprite datoteko config.txt, ki je na kartici SD. Pojdite na dno in dodajte dtoverlay = dwc2 kot zadnjo vrstico:
- Shranite datoteko config.txt kot navadno besedilo in nato odprite cmdline.txt Po rootwaitu (zadnja beseda v prvi vrstici) dodajte presledek in nato moduli-load = dwc2, g_ether.
- Zdaj odstranite kartico SD iz računalnika in jo vstavite v Raspberry Pi ter jo s kablom USB povežite z računalnikom. Ko se operacijski sistem zažene, bi morali odkriti novo napravo Ethernet Gadget.
- Za povezavo s ploščo in njeno daljinsko upravljanje lahko uporabite ssh [email protected]. Za podrobnejša navodila glede brezglavega delovanja pojdite tukaj.
Knjižnica rpi_ws281x je ključ, ki omogoča uporabo NeoPixels z Raspberry Pi.
Najprej moramo namestiti orodja, potrebna za sestavljanje knjižnice. V vašem zagonu Raspberry Pi: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Zdaj zaženite te ukaze za prenos in prevedbo knjižnice:
git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Končno, potem ko je knjižnica uspešno prevedena, jo lahko namestimo za python z:
cd python && sudo python setup.py install Zdaj prihaja koda python, ki poganja LED. Koda je precej preprosta z nekaj komentarji, ki vam bodo v pomoč. iz uvoza neopixel * # konfiguracije NeoPixel LED_PIN = 18 # GPIO pin Pin Raspberry Pi, povezan s slikovnimi pikami LED_BRIGHTNESS = 255 # Nastavljen na 0 za najtemnejše in 255 za najsvetlejšo LED_COUNT = 4 # Število LED pikslov = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 800000, 5, False, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Inicializirajte knjižnico strip.begin () strip.setPixelColor (0, Color (255, 255, 255)) strip.show ()
Gonilnik ADXL345
Senzor merilnika pospeška, ki smo ga izbrali, ima vmesnik I2C za komunikacijo z zunanjim svetom. Na srečo ima Raspberry Pi tudi vmesnik I2C. Omogočiti mu moramo le uporabo v lastni kodi.
Pokličite konfiguracijsko orodje Raspbian z uporabo sudo raspi-config. Ko se zažene, pojdite na Možnosti vmesnika, Napredne možnosti in nato omogočite I2C. Namestite ustrezne module python, da bomo lahko uporabili vmesnik I2C v pythonu:
sudo apt-get install python-smbus i2c-tools Naslednja koda python nam omogoča komunikacijo s senzorjem merilnika pospeška in branje njegovih vrednosti registra za lastne namene. import smbus import struct # vodilo za konfiguracije merilnika pospeška = smbus. SMBus (1) naslov = 0x53 gain = 3.9e-3 bus.write_byte_data (naslov, 45, 0x00) # Pojdi v način pripravljenosti bus.write_byte_data (naslov, 44, 0x06) # Pasovna širina 6,5 Hz bus.write_byte_data (naslov, 45, 0x08) # Pojdite v način merjenja # Preberite podatke iz senzorja buf = bus.read_i2c_block_data (naslov, 50, 6) # Razpakirajte podatke iz int16_t v python integer data = struct.unpack_from ("> hhh", medpomnilnik (bytearray (buf)), 0)
x = float (podatki [0]) * dobiček
y = float (podatki [1]) * dobiček
z = float (podatki [2]) * dobiček
Detektor gibanja
Ena od značilnosti svetlobe, ki jo ustvarjamo, je, da lahko zazna gibanje (ali pomanjkanje) za vstop v interaktivni način (kjer se svetloba spreminja glede na vrtenje) in način vremenske napovedi (kjer se svetloba spreminja glede na vremensko napoved za danes). Naslednja koda uporablja prejšnjo funkcijo za branje vrednosti pospeškov za 3 osi in nas opozori, ko pride do premika.
accel = getAcceleration ()
dx = abs (prevAccel [0] - pospešek [0])
dy = abs (prevAccel [1] - pospešek [1])
dz = abs (prevAccel [2] - pospešek [2])
če je dx> moveThreshold ali dy To> moveThreshold ali dz> moveThreshold:
tiskanje "premaknjeno"
premaknjeno = res
drugače:
premaknjeno = Napačno
Weather API
Za prejemanje vremenske napovedi lahko uporabimo Yahoo Weather. To vključuje pogovor z API -jem Yahoo Weather Rest, ki je lahko precej zapleten. Na srečo za nas je za trdi del že poskrbljeno v obliki modula weather-api za python.
- Najprej moramo namestiti ta modul z uporabo: sudo apt install python-pip && sudo pip install weather-api
- Za več informacij o tem modulu obiščite avtorjevo spletno mesto.
Ko namestite, naslednja koda dobi vremenske razmere za ta trenutek
from weather import Weatherweather = Vreme ()
location = weather.lookup_by_location ('dublin')
condition = location.condition ()
tiskanje (condition.text ())
Vse skupaj
Celotno kodo projekta, ki povezuje vse zgornje dele, najdete tukaj.
Samodejni zagon skripta python ob zagonu
Če želite vstaviti malino pi v polje in izvesti njeno kodo vsakič, ko jo priključimo na napajanje, moramo poskrbeti, da se koda med zagonom samodejno zažene. Če želite to narediti, uporabite orodje, imenovano cron.
- Najprej pokličite orodje cron z uporabo: sudo crontab -e
-
V prejšnjih korakih se odpre konfiguracijska datoteka, v katero dodamo naslednjo vrstico:
@reboot python /home/pi/light.py &
4. korak: Modeliranje in 3D tiskanje
3D model Plus je izdelan v Solidworks in shranjen kot format. Stl. Nato so za 3D tiskanje model. Stl datoteko uvozili v programsko opremo Cura. Za izdelavo vsake strani plus je trajalo 2:30 ure; tako da je vsak polni Plus natisnil približno 5 ur. Za prozorne stranice pa so lasersko izrezali pleksi steklo.
5. korak: Montaža
S 3D -tiskanim delom, elektroniko in programsko opremo pri roki lahko končno sestavimo končni izdelek.
- Ugotovili smo, da so zgornje in spodnje 3D tiskane plošče bolj pregledne, kot je bilo pričakovano. Plast aluminijaste folije je rešila problem uhajanja svetlobe.
- Vendar so ti listi prevodni in lahko povzročijo kratke stike v našem nezaščitenem vezju. Tako je na vrh zlepljena še ena plast bele kartonske plošče.
- Segmenti razpršenega pleksi stekla so zlepljeni na eno od stranskih plošč.
- V eni od stranskih 3D tiskanih plošč je izvrtana luknja. Tako lahko gremo skozi napajalni kabel.
- Ko je napajalni kabel nameščen skozi luknjo, ga spajkamo na ploščo za izdelavo prototipov.
- Senzor pritrdimo na malino pi in ga nato priključimo v priključek.
- Dva dela povežemo skupaj, da dobimo končni izdelek.
- Po želji lahko lepite 2 kosa, da vzpostavite trajnejšo povezavo. Vendar se zavedajte, da je morda težko vstopiti v škatlo, potem ko je lepljena, če želite kodo spremeniti pozneje.
Priporočena:
Nosljiva svetlobna plošča po meri (Tečaj za raziskovanje tehnologije - TfCD - Tu Delft): 12 korakov (s slikami)
Nosljiva svetlobna plošča po meri (Tečaj za raziskovanje tehnologije - TfCD - Tu Delft): V tem navodilu se boste naučili, kako narediti svojo osvetljeno podobo, ki jo lahko nosite! To naredite z uporabo tehnologije EL, prekrite z vinilno nalepko in nanjo pritrdite trakove, tako da jo lahko nosite okoli roke. Del te strani lahko tudi spremenite
Odkrivanje vizualnih predmetov s kamero (TfCD): 15 korakov (s slikami)
Odkrivanje vizualnih predmetov s kamero (TfCD): Kognitivne storitve, ki lahko prepoznajo čustva, obraze ljudi ali preproste predmete, so trenutno še v zgodnji fazi razvoja, vendar se s strojnim učenjem ta tehnologija vse bolj razvija. Več te čarovnije lahko pričakujemo v
Projekt e-tekstila: Majica Sweat Light (TfCD): 7 korakov (s slikami)
E-tekstilni projekt: Majica Sweat Light (TfCD): Elektronski tekstil (E-tekstil) so tkanine, ki omogočajo vgradnjo digitalnih komponent in elektronike. Ta nova tehnologija prinaša veliko možnosti. V tem projektu boste izdelali prototip športne majice, ki zaznava, kako
Rotacijski vrt DIY (TfCD): 12 korakov (s slikami)
Rotacijski vrt DIY (TfCD): Živjo! Zbrali smo majhno vadnico o tem, kako narediti svojo majhno različico vrtljivega vrta, ki bi po našem mnenju lahko predstavljala vrtnarjenje prihodnosti. Z zmanjšano količino električne energije in prostora je ta tehnologija primerna za hitro
DeskMagic - Izdelava aplikacije za slušalke Aryzon AR (TfCD): 22 korakov
DeskMagic - Izdelava aplikacije za vaše slušalke Aryzon AR (TfCD): V tem navodilu bomo korak za korakom prešli skozi postopek ustvarjanja preproste aplikacije za razširjeno resničnost (AR) za slušalke Aryzon AR. Kodiranje ali druge izkušnje niso potrebne. Čeprav je aplikacija precej osnovna, je zabaven in enostaven način