Sisällysluettelo:

TfCD - Plus: 7 vaihetta
TfCD - Plus: 7 vaihetta

Video: TfCD - Plus: 7 vaihetta

Video: TfCD - Plus: 7 vaihetta
Video: TFCD Arduino face tracking device 2024, Heinäkuu
Anonim
Image
Image
Ainesosat
Ainesosat

Plus on minimaalinen älyvalo, joka ei ainoastaan ilmoita ihmisille sääolosuhteista, vaan myös luo käyttäjille miellyttävän kokemuksen valon värin muutoksista kääntämällä plusmerkkiä. Sen muoto antaa käyttäjälle mahdollisuuden yhdistää useita plusmoduuleja tai luoda valtava lamppu, jossa on paljon ystävien asettamia pluskappaleita. Tämä valaistusprojekti on osa TU Delftin yliopiston Advanced Concept Design (ACD) -kurssia ja tekniikka, joka on toteutettu käyttämällä TfCD -käytännön inspiraation lähteenä.

Vaihe 1: Ainekset

Ainesosat
Ainesosat
Ainesosat
Ainesosat

1 Vadelma pi nolla w

1 Groove Adxl345 -kiihtyvyysanturi

4 Ws2812b LED

1 Prototyyppikortti

3D-tulostetut ja laserleikatut kotelot

Vaihe 2: Laitteisto

Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto
Laitteisto

LEDit

Neopixel -LED -valoissa on neljä nastaista: +5V, GND, Data In ja Data out.

  1. Vadelma pi: n nasta 4 on kytketty kaikkien LED -valojen +5 V.
  2. Vadelma pi: n nasta 6 on kytketty kaikkien LED -valojen GND: hen
  3. Tiedot ensimmäisen LED -valon nasta on kytketty vadelman pi piikkiin 12.
  4. Ensimmäisen LED -valon Data out -nasta on kytketty toisen datan sisäänmenoon ja niin edelleen.

Katso kytkentäkaaviota ymmärtääksesi paremmin.

Kiihtyvyysmittari

Kiihtyvyysmittarissa on 4 nastaa: VCC, GND, SDA ja SCL.

  1. Vadelman pi nasta 1 on kytketty VCC: hen.
  2. Vadelma pi: n nasta 3 on kytketty SCL: ään.
  3. Vadelma pi: n nasta 5 on kytketty SDA: hon.
  4. Vadelman pi nasta 9 on kytketty GND: hen.

Rakentaa

  1. Mukavuuden vuoksi LEDit voidaan juottaa prototyyppikortille. Olemme päättäneet leikata levyn plus -muotoon niin, että se sopii hyvin 3D -muotoiltuun koteloon.
  2. Kun olemme juottaneet piirilevyn LED-valot, juotamme hyppyjohtimet, jotta voimme muodostaa liitännät 0,1 tuuman otsakytkennän ja LEDien välille. Otsikkoliitintä käytetään, jotta vadelmapi voidaan irrottaa ja käyttää uudelleen tulevaa projektia varten.

Vaihe 3: Ohjelmisto

Ohjelmisto
Ohjelmisto

Raspberry Pi -käyttöjärjestelmän kuva

Meidän on ensin saatava Raspberry Pi käyttöön. Voit tehdä tämän seuraavasti:

  1. Lataa uusin Raspbian -versio täältä. Voit ladata sen suoraan tai torrentien kautta. Tarvitset kuvakirjoittajan kirjoittaaksesi ladatun käyttöjärjestelmän SD -kortille (mikro -SD -kortti, jos kyseessä on Raspberry Pi B+ -malli ja Raspberry Pi Zero).
  2. Joten lataa "win32 -levynkuvaaja" täältä. Aseta SD -kortti kannettavaan tietokoneeseen ja suorita kuvankäsittelyohjelma. Kun olet avannut, selaa ja valitse ladattu Raspbian -kuvatiedosto. Valitse oikea laite, eli asema, joka edustaa SD -korttia. Jos valittu asema (tai laite) on eri kuin SD -kortti, toinen valittu asema vioittuu. Joten ole varovainen.
  3. Napsauta sen jälkeen "Kirjoita" -painiketta alareunassa. Katso esimerkki alla olevasta kuvasta, jossa SD -kortti (tai micro SD) -asemaa edustaa kirjain "G: \". Käyttöjärjestelmä on nyt valmis normaalikäyttöön. Tässä opetusohjelmassa aiomme kuitenkin käyttää Raspberry Pi: tä päättömässä tilassa. Tämä tarkoittaa, ettei siihen ole liitetty fyysistä näyttöä ja näppäimistöä!
  4. Älä poista SD -korttia tietokoneesta polttamisen jälkeen! Avaa tekstinkäsittelyohjelmalla SD -kortilla oleva config.txt -tiedosto. Siirry alareunaan ja lisää dtoverlay = dwc2 viimeiseksi riviksi:
  5. Tallenna config.txt-tiedosto pelkkänä tekstinä ja avaa sitten cmdline.txt rootwaitin (ensimmäisen rivin viimeinen sana) jälkeen lisää välilyönti ja sitten modules-load = dwc2, g_ether.
  6. Poista SD -kortti tietokoneesta ja aseta se Raspberry Pi -laitteeseen ja liitä se tietokoneeseen USB -kaapelilla. Kun käyttöjärjestelmä on käynnistetty, sinun pitäisi nähdä uusi Ethernet -gadget -laite.
  7. Voit käyttää korttia ssh [email protected] muodostaaksesi yhteyden korttiin ja ohjataksesi sitä etäyhteydellä.

Rpi_ws281x -kirjasto on avain, joka tekee mahdolliseksi NeoPixelien käytön Raspberry Pi: n kanssa.

Ensin meidän on asennettava kirjaston kokoamiseen tarvittavat työkalut. Raspberry Pi -käytössäsi: sudo apt-get update && sudo apt-get install build-essential python-dev git scons swig Suorita nyt nämä komennot ladataksesi ja kääntääksesi kirjaston:

git klooni https://github.com/jgarff/rpi_ws281x.git && cd rpi_ws281x && scons Lopuksi, kun kirjasto on koottu onnistuneesti, voimme asentaa sen pythonille käyttämällä:

cd python && sudo python setup.py install Nyt tulee python -koodi, joka ohjaa LED -valoja. Koodi on melko yksinkertainen, ja joitakin kommentteja auttaa sinua. Neopixel -tuonnista * # NeoPixel -kokoonpanot LED_PIN = 18 # Raspberry Pi: n GPIO -nasta, joka on liitetty pikseleihin 5, False, LED_BRIGHTNESS, 0, ws. WS2811_STRIP_GRB) # Alusta kirjasto strip.begin () strip.setPixelColor (0, Color (255, 255, 255)) strip.show ()

Kuljettaja ADXL345

Valitsemassamme kiihtyvyysanturianturissa on I2C -rajapinta kommunikointiin ulkomaailman kanssa. Meille onneksi Raspberry Pi: llä on myös I2C -käyttöliittymä. Meidän on vain sallittava se käyttää sitä omassa koodissamme.

Soita Raspbian-määritystyökalulle sudo raspi-config -ohjelmalla. Kun olet käynnissä, siirry kohtaan Liitäntäasetukset, Lisäasetukset ja ota sitten I2C käyttöön. Asenna asiaankuuluvat python -moduulit, jotta voimme käyttää I2C -käyttöliittymää pythonissa:

sudo apt-get install python-smbus i2c-tools Seuraavan python-koodin avulla voimme kommunikoida kiihtyvyysanturianturin kanssa ja lukea sen rekisteriarvot omiin tarkoituksiimme. tuoda smbus tuontirakenne # Kiihtyvyysmittarin konfiguraatiot väylä = smbus. SMBus (1) osoite = 0x53 vahvistus = 3.9e-3 bus.write_byte_data (osoite, 45, 0x00) # Siirry valmiustilaan bus.write_byte_data (osoite, 44, 0x06) # Kaistanleveys 6,5 Hz väylä.write_byte_data (osoite, 45, 0x08) # Siirry mittaustilaan # Lue tiedot anturista buf = bus.read_i2c_block_data (osoite, 50, 6) # Pura tiedot int16_t: stä python -kokonaislukuun data = structure.unpack_from ("> hhh", puskuri (bytearray (buf)), 0)

x = kelluva (data [0]) * vahvistus

y = float (data [1]) * vahvistus

z = float (data [2]) * vahvistus

Liikeilmaisin

Yksi tekemämme valon ominaisuus on, että se voi havaita liikkeen (tai sen puuttumisen) siirtyäkseen vuorovaikutteiseen tilaan (jossa valo muuttuu pyörimisen perusteella) ja sääennusteeseen (jossa valo muuttuu sääennusteen mukaan) tänään). Seuraava koodi käyttää edellisen toiminnon avulla 3-akselisten kiihtyvyysarvojen lukemista ja varoittaa meitä liikkeen esiintymisestä.

accel = getAcceleration ()

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

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

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

jos dx> moveThreshold tai dy To> moveThreshold tai dz> moveThreshold:

printti "siirretty"

siirretty = Totta

muu:

siirretty = väärä

Sää -sovellusliittymä

Voimme saada sääennusteen Yahoo Weather -sovelluksella. Tähän liittyy puhuminen Yahoo Weather Rest -sovellusliittymään, joka voi olla melko monimutkainen. Onneksi meille kova osa on jo hoidettu pythonin sää-api-moduulin muodossa.

  1. Ensin meidän on asennettava tämä moduuli käyttämällä: sudo apt install python-pip && sudo pip install weather-api
  2. Käy tekijän verkkosivustolla saadaksesi lisätietoja tästä moduulista.

Kun olet asentanut seuraavan koodin, saat tämän hetken sääolosuhteet

säätuonnista Weatherweather = Sää ()

location = weather.lookup_by_location ('dublin')

condition = location.condition ()

tulosta (condition.text ())

Kokoaminen yhteen

Koko projektin koodi, joka yhdistää kaikki yllä olevat osat, löytyy täältä.

Python -komentosarjan automaattinen käynnistys käynnistyksen yhteydessä

Voidaksemme laittaa vadelma pi laatikkoon ja antaa sen ajaa koodimme aina, kun kytket sen virtalähteeseen, meidän on varmistettava, että koodi käynnistyy automaattisesti käynnistyksen aikana. Tätä varten käytämme työkalua nimeltä cron.

  1. Soita ensin cron -työkalulle käyttämällä: sudo crontab -e
  2. Edelliset vaiheet avaavat asetustiedoston, johon lisäämme seuraavan rivin:

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

Vaihe 4: Mallinnus ja 3D -tulostus

Mallinnus ja 3D -tulostus
Mallinnus ja 3D -tulostus
Mallinnus ja 3D -tulostus
Mallinnus ja 3D -tulostus

Plus -mallin 3D -malli on tehty Solidworksissa ja tallennettu. Stl -muodossa. Sitten malli,. Stl -tiedosto tuotiin 3D -tulostusta varten Cura -ohjelmistoon. Plussan kumpikin puoli kesti 2:30 tuntia; niin jokainen täysi Plus kesti noin 5 tuntia tulostamiseen. Ja läpinäkyville puolille plexiglass leikattiin laserilla.

Vaihe 5: Kokoonpano

Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano
Kokoonpano

Kun 3D -tulostettu osa, elektroniikka ja ohjelmistot ovat käsillä, voimme lopulta koota lopullisen tuotteen.

  1. 3D -tulostetut ylä- ja alalevyt havaitsimme olevan odotettua läpinäkyvämpiä. Kerros alumiinifoliota ratkaisi valovuotongelman.
  2. Nämä levyt ovat kuitenkin johtavia ja voivat aiheuttaa oikosulkuja suojaamattomassa piirissämme. Joten toinen kerros valkoista korttilevyä liimataan päälle.
  3. Hajakuituiset pleksilasisegmentit on liimattu yhteen sivulevyistä.
  4. Reikä porataan johonkin 3D -tulostetuista sivupaneeleista. Näin voimme kulkea virtajohdon läpi.
  5. Kun virtajohto on asennettu reiän läpi, juotamme sen prototyyppikortillemme.
  6. Kiinnitämme anturin vadelma pi: hen ja liitämme sen sitten liittimeen.
  7. Kiinnitämme 2 kappaletta yhteen saadaksemme lopputuotteen.
  8. Vaihtoehtoisesti voit liimata 2 kappaletta pysyvämmän liitoksen luomiseksi. Huomaa kuitenkin, että saattaa olla vaikeaa päästä laatikkoon sen liimaamisen jälkeen, jos haluat muuttaa koodia myöhemmin.

Suositeltava: