Satura rādītājs:

TfCD - Plus: 7 soļi
TfCD - Plus: 7 soļi

Video: TfCD - Plus: 7 soļi

Video: TfCD - Plus: 7 soļi
Video: Webs para Intercambios fotográficos 2024, Jūlijs
Anonim
Image
Image
Sastāvdaļas
Sastāvdaļas

Plus ir minimāla viedā gaisma, kas ne tikai informē cilvēkus par laika apstākļiem, bet arī rada patīkamu pieredzi lietotājiem, mainot gaismas krāsu, pagriežot plus. Tā forma dod lietotājam iespēju apvienot vairākus plus moduļus vai izveidot milzīgu lampu ar daudziem plusiem, ko ievietojuši draugi. Šis apgaismojuma projekts ir daļa no uzlabotā koncepta dizaina (ACD) kursa TU Delftas universitātē, un tehnoloģija, kas ieviesta, izmantojot iedvesmas avotu, izmantojot TfCD praktisko.

1. solis: Sastāvdaļas

Sastāvdaļas
Sastāvdaļas
Sastāvdaļas
Sastāvdaļas

1 Raspberry pi zero w

1 Groove Adxl345 akselerometrs

4 Ws2812b LED

1 prototipēšanas dēlis

3D drukāti un ar lāzeru sagriezti korpusi

2. darbība. Aparatūra

Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra
Aparatūra

Gaismas diodes

Neopixel gaismas diodēm ir 4 tapas ar nosaukumu: +5V, GND, Data In un Data out.

  1. Aveņu pi 4. tapa ir savienota ar visu gaismas diožu +5 V
  2. Aveņu pi 6. tapa ir savienota ar visu gaismas diožu GND
  3. Dati Pirmās gaismas diodes tapā ir savienoti ar aveņu pi 12. tapu.
  4. Pirmās gaismas diodes izejas tapa ir savienota ar otrā un tā tālāk esošajiem datiem.

Lūdzu, apskatiet elektroinstalācijas shēmu, lai labāk izprastu.

Akselerometrs

Akselerometram ir 4 tapas ar nosaukumu: VCC, GND, SDA un SCL.

  1. Aveņu pi 1. tapa ir savienota ar VCC.
  2. Aveņu pi 3. tapa ir savienota ar SCL.
  3. Raspberry pi 5. tapa ir pievienota SDA.
  4. Aveņu pi 9. tapa ir savienota ar GND.

Būvēt

  1. Ērtības labad gaismas diodes var pielodēt uz prototipēšanas plates. Mēs nolēmām dēli sagriezt plusa formā, lai tas labi iederētos 3D projektētajā korpusā.
  2. Kad esam lodējuši gaismas diodes uz tāfeles, mēs lodējam džemperu vadus, lai izveidotu savienojumus starp 0,1 collu galvenes savienojumu un gaismas diodēm. Galvenes savienotājs tiek izmantots, lai aveņu pi atvienotu un atkal izmantotu turpmākajam projektam.

3. darbība: programmatūra

Programmatūra
Programmatūra

Raspberry Pi operētājsistēmas attēls

Vispirms mums jāsāk darboties ar Raspberry Pi. Lai to izdarītu, mēs rīkojamies šādi:

  1. Lejupielādējiet jaunāko Raspbian versiju no šejienes. To var lejupielādēt tieši vai caur straumēm. Jums būs nepieciešams attēlu rakstītājs, lai ierakstītu lejupielādēto OS SD kartē (micro SD karte Raspberry Pi B+ modeļa un Raspberry Pi Zero gadījumā).
  2. Tāpēc lejupielādējiet "win32 diska attēlveidotāju" no šejienes. Ievietojiet SD karti klēpjdatorā/datorā un palaidiet attēlu rakstītāju. Pēc atvēršanas pārlūkojiet un atlasiet lejupielādēto Raspbian attēla failu. Izvēlieties pareizo ierīci, proti, disku, kas attēlo SD karti. Ja izvēlētais disks (vai ierīce) atšķiras no SD kartes, tad otrs izvēlētais disks tiks bojāts. Tāpēc esiet uzmanīgi.
  3. Pēc tam noklikšķiniet uz pogas "Rakstīt" apakšā. Kā piemēru skatiet zemāk redzamo attēlu, kur SD kartes (vai micro SD) diskdzinis ir apzīmēts ar burtu "G: \". Tagad OS ir gatava normālai lietošanai. Tomēr šajā apmācībā mēs izmantosim Raspberry Pi bezgalvainā režīmā. Tas nozīmē, ka bez fiziska monitora un tam pievienotas tastatūras!
  4. Pēc SD kartes ierakstīšanas neizņemiet to no datora! Izmantojiet teksta redaktoru, lai atvērtu failu config.txt, kas atrodas SD kartē. Dodieties uz leju un pievienojiet dtoverlay = dwc2 kā pēdējo rindu:
  5. Saglabājiet failu config.txt kā vienkāršu tekstu un pēc tam atveriet cmdline.txt Pēc rootwait (pēdējais vārds pirmajā rindā) pievienojiet atstarpi un pēc tam modules-load = dwc2, g_ether.
  6. Tagad izņemiet SD karti no datora un ievietojiet to Raspberry Pi un pievienojiet to datoram, izmantojot USB kabeli. Kad OS ir sākusies, jums vajadzētu redzēt jaunu Ethernet sīkrīka ierīci.
  7. Jūs varat izmantot ssh [email protected], lai izveidotu savienojumu ar paneli un vadītu to attālināti. Lai iegūtu detalizētākus norādījumus par darbību bez galvas, dodieties šeit.

Bibliotēka rpi_ws281x ir atslēga, kas ļauj izmantot NeoPixels ar Raspberry Pi.

Vispirms mums jāinstalē bibliotēkas apkopošanai nepieciešamie rīki. Savā Raspberry Pi izpildē: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Tagad palaidiet šīs komandas, lai lejupielādētu un apkopotu bibliotēku:

git clone https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Visbeidzot, pēc veiksmīgas bibliotēkas apkopošanas mēs varam to instalēt python, izmantojot:

cd python && sudo python setup.py install Tagad nāk python kods, kas vada gaismas diodes. Kods ir diezgan vienkāršs, un daži komentāri jums palīdzēs. no neopikseļu importēšanas * # NeoPixel konfigurācijas LED_PIN = 18 # Raspberry Pi GPIO tapa, kas savienota ar pikseļiem LED_BRIGHTNESS = 255 # Iestatiet uz 0 tumšākajam un 255 spilgtākajam LED_COUNT = 4 # LED pikseļu skaits = Adafruit_NeoPixel (LED_COUNT, LED_PIN, 800 5, False, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Inicializējiet bibliotēkas sloksni.begin () strip.setPixelColor (0, Color (255, 255, 255)) strip.show ()

ADXL345 draiveris

Mūsu izvēlētajam akselerometra sensoram ir I2C saskarne saziņai ar ārpasauli. Par laimi mums Raspberry Pi ir arī I2C saskarne. Mums vienkārši jāiespējo, lai to izmantotu savā kodā.

Zvaniet uz Raspbian konfigurācijas rīku, izmantojot sudo raspi-config. Pēc palaišanas dodieties uz saskarnes opcijas, papildu opcijas un pēc tam iespējojiet I2C. Instalējiet atbilstošos python moduļus, lai mēs varētu izmantot I2C saskarni python:

sudo apt-get install python-smbus i2c-tools Šis python kods ļauj mums sazināties ar akselerometra sensoru un nolasīt tā reģistra vērtības mūsu pašu vajadzībām. importēt smbus importa struktūru # Akselerometra konfigurācijas kopne = smbus. SMBus (1) adrese = 0x53 pastiprinājums = 3.9e-3 bus.write_byte_data (adrese, 45, 0x00) # Dodieties gaidīšanas režīmā bus.write_byte_data (adrese, 44, 0x06) # Joslas platums 6,5 Hz bus.write_byte_data (adrese, 45, 0x08) # Pāriet uz mērīšanas režīmu # Nolasīt datus no sensora buf = bus.read_i2c_block_data (adrese, 50, 6) # Izpakojiet datus no int16_t uz python integer data = structure.unpack_from ("> hhh", buferis (bytearray (buf)), 0)

x = pludiņš (dati [0]) * pieaugums

y = pludiņš (dati [1]) * pieaugums

z = pludiņš (dati [2]) * pastiprinājums

Kustību detektors

Viena no mūsu radītās gaismas iezīmēm ir tā, ka tā var noteikt kustību (vai tās trūkumu), lai ieietu interaktīvā režīmā (kur gaisma mainās atkarībā no rotācijas) un laika prognozes režīmā (kur gaisma mainās atkarībā no laika prognozes) uz šodienu). Šis kods izmanto iepriekšējo funkciju, lai nolasītu 3 asu paātrinājuma vērtības un brīdinātu mūs par kustību.

accel = getAcceleration ()

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

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

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

ja dx> moveThreshold vai dy Lai> moveThreshold vai dz> moveThreshold:

izdruka "pārvietota"

pārvietots = taisnība

cits:

pārvietots = nepatiess

Laika API

Lai saņemtu laika prognozi, mēs varam izmantot Yahoo Weather. Tas ietver sarunu ar Yahoo Weather Rest API, kas var būt diezgan sarežģīta. Mums par laimi, par cieto daļu jau ir parūpēts python laika apstākļu api moduļa veidā.

  1. Vispirms mums jāinstalē šis modulis, izmantojot: sudo apt install python-pip && sudo pip install weather-api
  2. Lūdzu, apmeklējiet autora vietni, lai iegūtu vairāk informācijas par šo moduli.

Pēc instalēšanas šāds kods parāda laika apstākļus šim brīdim

no laika importa Weatherweather = Laiks ()

location = weather.lookup_by_location ('dublin')

stāvoklis = atrašanās vieta.nosacījums ()

drukāt (condition.text ())

Visu saliekot kopā

Viss projekta kods, kas savieno visus iepriekš minētos fragmentus, ir atrodams šeit.

Automātiska python skripta palaišana sāknēšanas laikā

Lai varētu ievietot aveņu pi kastē un likt tai palaist mūsu kodu katru reizi, kad to pievienojam strāvas padevei, mums jāpārliecinās, ka kods tiek automātiski palaists sāknēšanas laikā. Lai to izdarītu, mēs izmantojam rīku ar nosaukumu cron.

  1. Vispirms izsauciet cron rīku, izmantojot: sudo crontab -e
  2. Iepriekšējās darbības atvērs konfigurācijas failu, kurā mēs pievienosim šādu rindu:

    @pārstartējiet python /home/pi/light.py &

4. darbība: modelēšana un 3D drukāšana

Modelēšana un 3D druka
Modelēšana un 3D druka
Modelēšana un 3D druka
Modelēšana un 3D druka

Plus 3D modelis ir izveidots Solidworks un saglabāts kā. Stl formāts. Pēc tam modeļa 3D drukāšanai. Stl fails tika importēts Cura programmatūrā. Katras plusa puses izgatavošana prasīja 2:30 stundas; tāpēc katra pilna Plus drukāšana prasīja apmēram 5 stundas. Un caurspīdīgajām pusēm plexiglass tika sagriezts ar lāzeru.

5. solis: montāža

Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža
Montāža

Izmantojot 3D drukāto daļu, elektroniku un programmatūru, mēs beidzot varam salikt galaproduktu.

  1. 3D drukātās augšējās un apakšējās plāksnes atklājām, ka tās ir caurspīdīgākas, nekā paredzēts. Alumīnija folijas slānis atrisināja gaismas noplūdes problēmu.
  2. Tomēr šīs loksnes ir vadošas un var radīt īssavienojumus mūsu neaizsargātajā ķēdē. Tātad virsū tiek pielīmēts vēl viens baltas kartona plāksnes slānis.
  3. Izkliedētie plexiglas segmenti ir pielīmēti pie vienas no sānu plāksnēm.
  4. Vienā no sānu 3D drukātajiem paneļiem tiek urbts caurums. Tas ir tāpēc, lai mēs varētu iziet cauri strāvas vadam.
  5. Kad strāvas vads ir ievietots caurumā, mēs to pielodējam uz mūsu prototipa plāksnes.
  6. Mēs pievienojam sensoru aveņu pi un pēc tam pievienojiet to savienotājam.
  7. Mēs pievienojam 2 gabalus kopā, lai iegūtu mūsu galaproduktu.
  8. Pēc izvēles jūs varat pielīmēt 2 gabalus, lai izveidotu pastāvīgāku savienojumu. Tomēr ņemiet vērā, ka var būt grūti iekļūt kastē pēc tam, kad tā ir pielīmēta, ja vēlaties mainīt kodu vēlāk.

Ieteicams: