Sisällysluettelo:
- Vaihe 1: Kuinka kaikki toimii: Suunnitteluvaihtoehdot selitetty
- Vaihe 2: Osat - aivot: mikrokontrolleri ja näyttö
- Vaihe 3: Osat - optiikka: Kompromissin löytäminen
- Vaihe 4: Osat - säiliö niiden säilyttämiseksi
- Vaihe 5: Protokollan luominen moduulillemme
- Vaihe 6: Koodi: ESP32 Side
- Vaihe 7: Koodi: Android Side
- Vaihe 8: Mitä seuraavaksi?
- Vaihe 9: Johtopäätös ja erityiset kiitokset
Video: Älykäs moottoripyörän HUD-prototyyppi (vaiheittainen navigointi ja paljon muuta): 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 08:59
Hei !
Tämä Instructables on tarina siitä, miten suunnittelin ja rakensin HUD (Heads-Up Display) -alustan, joka on suunniteltu asennettavaksi moottoripyöräkypäriin. Se on kirjoitettu "kartat" -kilpailun yhteydessä. Valitettavasti en pystynyt saattamaan projektia kokonaan päätökseen ajoissa kilpailun määräaikaan mennessä, mutta halusin silti kertoa edistymisestäni projektissa sekä dokumentoida kaikki tekemäni kokeilut ja virheet.
Idea tähän projektiin tuli ensimmäisen kerran mieleeni muutama vuosi sitten, kun ryhdyin moottoripyöriin, ja aloin miettiä, mitä varusteita minun pitäisi ostaa, jotta ajamisistani tulisi miellyttävämpää. Tuolloin hämmästytti minua siitä, että paras tapa saada perus GPS -navigointi ajon aikana oli kiinnittää älypuhelimesi pyörän ohjaustankoon. Olen kuitenkin sitä mieltä, että varmasti voisi olla parempi tapa saada tällaista tietoa lennossa.
Silloin se tuli minulle: heads-up-näyttö voisi olla tapa saada navigointi ajon aikana tyhjentämättä puhelimen akkua ja altistamalla se elementeille.
Ajan myötä tämä ajatus kypsyi mielessäni, ja vaikka HUD olisi aina edessäni, mahdollistaisi paljon enemmän käyttötarkoituksia kuin yksinkertainen navigointi. Tästä syystä suunnitelmani on tehdä alusta julkiseksi ja modulaariseksi, jotta kuka tahansa voi luoda moduulin, joka näyttää tarvitsemansa tiedot omalla HUD: lla
Vaikka on olemassa kaupallisesti saatavilla olevia tuotteita, jotka täyttävät tämän tehtävän, niitä ei ole yhtä modulaarisia kuin alustani, ja ne ovat myös yleensä hieman kalliita. Joka tapauksessa, tervetuloa tähän projektiin.
Mikä toimii tällä hetkellä
Kuten sanottu, tämä projekti on edelleen hyvin kehitysvaiheessa, ja tämä toimii tällä hetkellä.
- Viestintä älypuhelimen ja ESP32 -pohjaisen levyn välillä (puhelin hereillä)
- Optiikan suunnittelu tehty (saattaa tarvita pieniä säätöjä pitkällä aikavälillä)
- Android -navigointisovellus, joka käyttää Mapbox -navigointi -SDK: ta:
- Pystyy laskemaan ja näyttämään käyttäjän sijainnin kartalla sekä reitin siitä määränpäähän
- Pystyy muodostamaan yhteyden Bluetooth -laitteeseen (laitteen MAC -osoite on kovakoodattu toistaiseksi)
- Pystyy reaaliaikaiseen navigointiin, mukaan lukien tulevan liikkeen tietojen poimiminen ja lähettäminen sarjaliikenteen Bluetoothin kautta (tukee vain käännöksiä toistaiseksi)
Mikä vaatii työtä
Tämä luettelo sisältää kohteita, jotka ovat ehdottoman välttämättömiä HUD: n aiotulle käytölle, mutta eivät ole vielä valmiita toteutettavaksi.
- Yleinen muotoilu (kypärän kiinnitys, heijastimen kulman säätömekanismi,..)
- Android -sovellus:
- Ota käyttöön reitin ulkopuolinen tunnistus ja korjaus
- Käyttäjän kyky syöttää kohdeosoite
- Reittipisteet?
- Ergonomia / estetiikka
Tarvikkeet:
Essentials
- Esp32 -pohjainen kehityskortti
- Mikä tahansa hiljattain Android -älypuhelin (Bluetooth käytössä)
- SSD1306 tai muu käytössä oleva 96 tuuman OLED -näyttö (minun koko oli 128 x 64 pikseliä, katso osa "Aivot: mikrokontrolleri ja näyttö")
- Heijastin (mikä tahansa akryyli-/lasi-/pleksilasi palaa)
- Fresnel -linssi (minun F. -pituus oli noin 13 cm, katso "Linssin valinta" -osa)
Työkalut
- Juotosrauta
- Leipälauta
- Muutama hyppyjohto
- 3D -tulostin / 3D -tulostuspalvelu
Vaihe 1: Kuinka kaikki toimii: Suunnitteluvaihtoehdot selitetty
Heads Up -näytön perusidea on näyttää kuva jonkun näön edessä, joten hänen ei tarvitse katsoa pois kaikesta, mitä hän tekee (olipa se sitten lentokoneen ohjaaminen tai moottoripyörän ajaminen, esimerkkitapaus).
Optiikka
Teknisesti tämä voitaisiin saavuttaa asettamalla näyttö suoraan käyttäjän silmien eteen. Näyttö ei kuitenkaan ole läpinäkyvä ja haittaisi sen vuoksi käyttäjän näkemystä. Voit sitten asettaa näytön heijastavan pinnan eteen, joka heijastaa näytön sisältöä samalla kun se on riittävän läpinäkyvä, jotta käyttäjä voi nähdä edessään olevan sisällön.
Tällä lähestymistavalla on kuitenkin valtava puute: todellinen näyttö on yleensä lähempänä käyttäjän silmiä kuin se, mihin käyttäjän on todella keskityttävä (esim. Edessään oleva tie). Tämä tarkoittaa, että heijastavan pinnan lukemiseksi käyttäjän silmien on sopeuduttava näytön etäisyyteen silmistä (sanotaan esimerkiksi 20 cm) ja sitten sen on sopeuduttava uudelleen keskittyäkseen edessä olevaan tielle (~ 2/5 metriä). Koko tämän toimenpiteen aika on arvokasta aikaa, joka tulisi käyttää tien katseluun, ja usein sopeutuminen saattaa olla käyttäjälle epämukavaa vain muutaman minuutin kuluttua.
Siksi päätin lisätä linssin näytön ja heijastimen väliin. Jos tämä objektiivi valitaan huolellisesti, sen pitäisi mahdollistaa virtuaalisen kuvan luominen näytöstä (katso yllä oleva kaavio), joka sitten näyttäisi olevan kauempana käyttäjän silmistä sellaisena kuin se todellisuudessa on, mikä edellyttää vähemmän äkillisiä mukautuksia (tai ei ollenkaan, täydellisessä skenaariossa). Tämän suunnittelun ansiosta käyttäjä voi nopeasti katsoa heijastimeen, saada tarvitsemansa tiedot ja katsoa heti takaisin tielle.
Älypuhelimen rooli
Koska oli epärealistista yrittää ottaa käyttöön kokonainen navigointisovellus vain ESP32: lla, päätin tehdä Android -sovelluksen, joka huolehtii tästä. Sovelluksen tarvitsee vain kertoa ESP32: lle, mitä käyttäjän on tehtävä päästäkseen määränpäähänsä, ja ESP32 välittää nämä tiedot HUD: n kautta (katso "Kuinka moduuli toimii").
Vaihe 2: Osat - aivot: mikrokontrolleri ja näyttö
Kuten edellä todettiin, suunnittelin, että moduulini näyttää navigointitiedot, vaikka en todellakaan ole laskenut niitä todellista paikannusta, seurantaa ja reaaliaikaista navigointia varten. käyttäjän puhelin kommunikoi sen sijaan moduulin kanssa ja lähettää sille tiedot, jotka sitten näytetään HUD: ssä.
Helpottaakseni viestintää käyttäjän puhelimen ja moduulin välillä, päätin käyttää ESP32 -pohjaista levyä tähän projektiin. Tämä valinta johtui tästä moduulista, jossa on integroidut Bluetooth-ominaisuudet, sekä muutamasta muusta mielenkiintoisesta teknisestä tiedosta (helppokäyttöinen haihtumaton tallennus, kaksoisydinsuoritin, tarpeeksi RAM-muistia OLED-näytön ajamiseen I2C: n kautta,…). On suhteellisen helppoa suunnitella piirilevyjä ESP32: n ympärille, minkä otin huomioon. Minulla on myös ammatillista kokemusta piirien käytöstä ja suunnittelusta ESP32: n kanssa, mikä vaikutti ehdottomasti valintaani.
Näytön valinta perustui pohjimmiltaan siihen, mitä voisin havaita, että olisin kuitenkin tarpeeksi kirkas y -käyttöön, mutta samalla myös mahdollisimman pieni. En ollut kovin huolissani näytön pikselimäärästä, koska tavoitteeni oli saada erittäin minimalistinen ja yksinkertainen käyttöliittymä.
On huomattava, että näytönohjainta pitäisi tukea kirjasto, joka mahdollistaa kuvan peilaamisen. Tämä johtuu siitä, että näytetty kuva kääntyy, kun se menee linssin läpi ja näkyy heijastimessa, eikä se tarvitse manuaalisesti kääntää sitä, mitä näytetään, on valtava paino hartioiltamme rakentajina.
Vaihe 3: Osat - optiikka: Kompromissin löytäminen
Tämän projektin optiikkaa oli melko vaikea lähestyä, koska minulla ei ollut aavistustakaan mitä etsin, kun aloitin tämän projektin. Jonkin tutkimuksen jälkeen ymmärsin, että halusin tehdä OLED -näytöltäni "virtuaalisen kuvan", joka näyttäisi olevan kauempana silmästä kuin se todellisuudessa on. Ihanteellinen etäisyys tämän virtuaalisen kuvan muodostamiseksi olisi noin 2-5 metriä kuljettajan edessä, ja tämä näyttää olevan etäisyys kohteisiin, joihin keskitymme ajaessamme (muut autot, kuoppia tiellä jne.)).
Tämän tavoitteen saavuttamiseksi päätin käyttää Fresnel -objektiivia, koska ne ovat melko suuria ja halpoja, ne näyttivät tarjoavan riittävän hyvän polttovälin projektilleni, ja ne voidaan leikata yksinkertaisilla saksilla (mikä ei ole hienostuneempia pyöreitä lasilinssejä). Fresnel -linssit löytyvät nimistä, kuten "taskun suurennuslasi" tai "lukukortin suurennuslasi", koska ne ovat erittäin sopivia auttamaan huonon näköisiä ihmisiä lukemaan.
Periaatteessa temppu oli kyse oikean kompromissin löytämisestä seuraavien välillä:
- Ottaa kohtuullisen virtuaalisen kuvan etäisyyden (eli kuinka kauas HUD näyttää olevan käyttäjälle tai kuinka pitkälle käyttäjän on säädettävä silmänsä nähdäkseen HUD: n sisällön)
- Objektiivi (joka on pohjimmiltaan suurennuslasi) ei suurenna näytön tekstiä liikaa
- Kohtuullinen etäisyys OLED -näytön ja linssin välillä, mikä muutoin johtaisi erittäin tilavaan moduuliin
Tilasin henkilökohtaisesti muutamia erilaisia linssejä Amazonista ja määritin niiden polttovälit ennen kuin valitsin sellaisen, jonka F. pituus oli noin 13 cm. Löysin tämän F.-pituuden, jonka OLED-objektiivin etäisyys oli 9 cm, ja sain heijastimessani tyydyttävän kuvan (katso muutama viimeinen kuva yllä).
Kuten kuvistani näet, näiden kuvien ottamiseen käytettävän kameran on säädettävä ikään kuin keskittyneenä kaukaisiin kohteisiin voidakseen keskittyä näytettyyn tekstiin oikein, mikä tekee kaiken samassa tasossa heijastimen näyttävän epäselvältä. Juuri tätä haluamme HUD: llemme.
Löydät objektiivin pidikkeen 3D -tiedostot täältä.
Vaihe 4: Osat - säiliö niiden säilyttämiseksi
Kun kirjoitan tätä ohjekirjaa, varsinainen säiliö, johon mahtuu kaikki heads-up-näytön osat, ei ole aivan suunniteltu. Minulla on kuitenkin muutamia ajatuksia sen yleisestä muodosta ja siitä, miten lähestyä tiettyjä ongelmia (kuten kuinka pitää heijastin paikallaan ja saada se kestämään yli 100 km/h tuulia). Tämä on edelleen hyvin kesken.
Vaihe 5: Protokollan luominen moduulillemme
Jotta voisin lähettää navigointiohjeet puhelimesta kehityskeskukseen, minun piti keksiä oma viestintäprotokolla, jonka avulla voin helposti lähettää vaaditut tiedot puhelimesta ja helpottaa samalla sen käsittelyä, kun se on vastaanotettu.
Tätä ohjetta kirjoitettaessa tiedot, jotka piti lähettää puhelimesta navigoidakseen moduulin kanssa, olivat:
- Tulevan liikkeen tyyppi (yksinkertainen käännös, liikenneympyrä, sulautuminen toiselle tielle,…)
- Tulevan liikkeen tarkat ohjeet (riippuen ohjaustyypistä: oikealle/vasemmalle käännöstä varten; joka poistuu liikenneympyrästä,…)
- Ennen tulevaa toimenpidettä jäljellä oleva etäisyys (metreinä toistaiseksi)
Päätin järjestää nämä tiedot seuraavan kehysrakenteen avulla:
: tyyppi. ohjeet, etäisyys;
Vaikka tämä ei ole kaunis ratkaisu, tämän avulla voimme helposti erottaa ja erottaa protokollamme kaikki kentät, mikä helpotti koodausta ESP32 -puolella.
On tärkeää muistaa, että tulevia ominaisuuksia varten tähän protokollaan on ehkä lisättävä muita tietoja (kuten tarkka päivä ja aika tai käyttäjän puhelimessa toistettava musiikki), mikä olisi helppoa rakentaa logiikkaa kuten nyt.
Vaihe 6: Koodi: ESP32 Side
ESP32 -koodi on tällä hetkellä melko yksinkertainen. Se käyttää U8g2lib -kirjastoa, joka mahdollistaa helpon OLED -näytön ohjaamisen (mutta mahdollistaa näytetyn kuvan peilaamisen).
Periaatteessa kaikki ESP32 tekee vain sarjatietojen vastaanottamisen Bluetoothin kautta, kun sovellus lähettää sen, jäsentää sen ja näyttää nämä tiedot tai kuvat näiden tietojen perusteella (ts. Näyttämällä nuolen lauseen "käänny vasemmalle/oikealle" sijasta). Tässä koodi:
/*Ohjelma, jolla hallitaan HUDia Android -sovelluksesta sarjamuotoisen Bluetoothin kautta*/#sisältää "BluetoothSerial.h" // Sarja -Bluetooth -otsikkotiedoston, lisätään oletusarvoisesti Arduinoon ifdef U8X8_HAVE_HW_I2C #include #endif // OLED -kirjastokonstruktori, se on muutettava näytön mukaanU8G2_SSD1306_128X64_ALT0_F_HW_I2C u8g2 (U8G2_MIRROR,/* reset =*/U8X8_PIN_NONE); // Tilakoneen havaitut_kentän arvot + muuttuja#määrittele liikkumiskenttäKenttä 1#määrittele ohjeetKenttä 2#määritä etäisyysKenttä 3#määrittele endOfFrame 4int havaittu_kenttä = endOfFrame; BluetoothSerial serialBT; // Objekti Bluetoothchar -saapuvaan haaraan; char -toiminto [10]; char -ohjeet [10]; char -etäisyys [10]; char tempManeuver [10]; char tempInstructions [10]; char tempDistance [10]; int nbr_char_maneuver = 0; int nbr_char_instructions = 0; int nbr_char_distance = 0; boolean fullsentence = false; void setup () {Serial.begin (9600); // Käynnistä sarjamonitori 9600 baudissa u8g2.begin (); // Init OLED -ohjaus serialBT.begin ("ESP32_BT"); // Bluetooth -signaalin viiveen nimi (20); Serial.println ("Bluetooth -laite on valmis muodostamaan pariliitoksen");} void loop () {if (serialBT.available () &&! Fullsentence) // Bluetooth -sarjan kautta vastaanotettavat hahmot {inputing_char = serialBT.read (); Serial.print ("Vastaanotettu:"); Sarja.println (saapuva_merkki); } kytkin (havaittu_kenttä) {tapa manööveri Kenttä: Serial.println ("Havaittu kenttä: liike"); if (saapuva_merkki == '.') // Seuraava kenttä havaittu {havaittu_kenttä = ohjeetKenttä; } else {// Täytä harjoitustyypin tietotaulukon liike [nbr_char_maneuver] = saapuva_merkki; nbr_char_maneuver ++; } tauko; tapausohjeetKenttä: Serial.println ("Havaittu kenttä: ohjeet"); if (saapuva_merkki == ',') // Seuraava kenttä havaittu {havaittu_kenttä = etäisyyskenttä; } else {// Täytä ohjeet info -taulukon ohjeet [nbr_char_instructions] = saapuva_merkki; nbr_char_instructions ++; } tauko; tapauksen etäisyysKenttä: Serial.println ("Havaittu kenttä: etäisyys"); if (input_char == ';') // Kehyksen loppu havaittu {havaittu_kenttä = endOfFrame; Serial.print ("liike:"); Serial.println (liike); Serial.print ("ohjeet:"); Serial.println (ohjeet); Sarjajälki ("etäisyys:"); Sarja.println (etäisyys); täysi lause = totta; update_Display (); // Koko kehys vastaanotettu, jäsennä se ja näytä vastaanottimen tiedot} else {// Täytä etäisyysmatriisin etäisyys [nbr_char_distance] = saapuva_merkki; nbr_char_distance ++; } tauko; tapaus endOfFrame: if (saapuva_merkki == ':') havaittu_kenttä = maneuverField; // Uusi kehys havaittu tauko; oletus: // Älä tee mitään rikki; } delay (20);} void update_Display () {// Tallenna välimuistiin jokainen char -ryhmä välttääksesi mahdolliset ristiriidat memcpy (tempManeuver, maneve, nbr_char_maneuver); memcpy (tempInstructions, instruction, nbr_char_instructions); muisti (tempDistance, distance, nbr_char_distance); parseCache (); // Jäsennys- ja prosessointimerkit fullsentence = false; // Lause käsitelty, valmis seuraavaa} void parseCache () {u8g2.clearBuffer (); // tyhjennä sisäinen muisti u8g2.setFont (u8g2_font_ncenB10_tr); // valitse sopiva fontti // char -taulukot -> merkkijono pakollinen substring () -toiminnon käyttämiseksi String maneuverString = tempManeuver; Merkkijonon ohjeetString = tempInstructions; // Toteutusprotokolla tässä. Tukee vain käännöksiä toistaiseksi. if (maneuverString.substring (0, 4) == "turn") {// Tarkista liiketyyppi Serial.print ("TURN DETECTED"); if (instructionString.substring (0, 5) == "right") {// Tarkista tietyt ohjeet ja näytä ne vastaavasti u8g2.drawStr (5, 15, "-"); } else if (instructionString.substring (0, 4) == "left") {// Tarkista tietyt ohjeet ja näytä ne vastaavasti u8g2.drawStr (5, 15, "<---"); } else u8g2.drawStr (5, 15, "Err."); // Virheellinen ohjekenttä}/ * Toteuta muita ohjaustyyppejä (liikenneympyrät jne.) * Else if (tempManeuver == "rdbt") { * *] */ u8g2.drawStr (5, 30, tempDistance); // Näytä jäljellä oleva etäisyys u8g2.sendBuffer (); // siirrä sisäinen muisti näyttöön // Nollaa kaikki char -matriisit ennen seuraavan lukemisen muistipaikkaa (toimenpide, 0, 10); memset (ohjeet, 0, 10); memset (etäisyys, 0, 10); memset (tempManeuver, 0, 10); memset (tempInstructions, 0, 10); memset (tempDistance, 0, 10); // Nollaa matriisien elementtien lukumäärä nbr_char_distance = 0; nbr_char_instructions = 0; nbr_char_maneuver = 0;}
Vaihe 7: Koodi: Android Side
Älypuhelinsovelluksessa päätin käyttää Mapboxin navigointi -SDK: ta, koska se tarjoaa paljon hyödyllisiä ominaisuuksia navigointikartan rakentamisessa tyhjästä. Se mahdollistaa myös monien hyödyllisten kuuntelijoiden käytön, mikä varmasti auttaa tämän moduulin toimimisessa. Käytin myös harry1453: n android-bluetooth-sarjakirjastoa androidille, koska se teki Bluetooth-sarjaliikenteen paljon helpommaksi koota.
Jos haluat rakentaa tämän sovelluksen kotona, sinun on hankittava Mapbox -käyttöoikeustunnus, joka on ilmainen tiettyyn määrään pyyntöjä kuukaudessa. Sinun on laitettava tämä tunnus koodiin ja rakennettava sovellus puolellesi. Sinun on myös koodattava omaan ESP32: n Bluetooth MAC -osoitteeseesi.
Tällä hetkellä sovellus voi ohjata sinut nykyisestä sijainnistasi mihin tahansa paikkaan, jota voit napsauttaa kartalla. Kuten introssa mainittiin, se ei kuitenkaan tue muita liikkeitä kuin käännöksiä, eikä käsittele vielä reittejä.
Löydät koko lähdekoodin githubistani.
Vaihe 8: Mitä seuraavaksi?
Nyt kun sovellus on riittävän toimiva ohjaamaan käyttäjääan tietylle reitille (jos asetetusta reitistä ei ole poikkeamia), pääpaino on älypuhelinsovelluksen parantamisessa ja niiden muutamien ominaisuuksien toteuttamisessa, jotka tekisivät moduulista toimiva navigointilaite. Tämä sisältää Bluetooth -yhteyden ottamisen käyttöön puhelimesta, vaikka näyttö olisi pois päältä, sekä tukea muuntyyppisille liikkeille (liikenneympyrät, yhdistäminen jne.). Otan käyttöön myös uudelleenreititysominaisuuden, jos käyttäjä poikkeaa alkuperäisestä reitistä.
Kun kaikki tämä on tehty, parannan säiliötä ja sen kiinnitysmekanismia, tulostan sen 3D -muodossa ja yritän ottaa moduulin ensimmäiseen kertaan.
Jos kaikki menee hyvin, pitkän aikavälin tavoitteeni on suunnitella mukautettu piirilevy tämän projektin sulautetulle elektroniikalle, mikä säästää paljon tilaa lopputuotteessa.
Voin lisätä tulevaisuudessa tähän moduuliin myös muita ominaisuuksia, kuten aikanäytön sekä puhelimen ilmoitushälytyksen, joka saattaa saada kuvakkeen näkyviin, kun käyttäjä saa tekstiviestin tai puhelun. Lopuksi haluaisin lisätä Spotify -ominaisuudet tähän moduuliin valtavana musiikin fanina. Tällä hetkellä tämä on kuitenkin vain mukavaa.
Vaihe 9: Johtopäätös ja erityiset kiitokset
Kuten esittelyssä todettiin, vaikka tämä projekti ei ole vielä läheskään valmis, halusin todella jakaa sen maailman kanssa, toivottavasti se voisi inspiroida jotakuta muuta. Halusin myös dokumentoida tutkimustani tästä aiheesta, koska harrastajat eivät ole kovin kiinnostuneita AR: sta ja HUD: sta, mikä on mielestäni sääli.
Haluan kiittää valtavasti Awall99: tä ja Danel Quintanaa, joiden lisätyn todellisuuden projekti inspiroi minua paljon tämän moduulin tekemisessä.
Kiitos kaikille huomiosta. Lähetän varmasti päivityksen, kun tämä projekti paranee lähitulevaisuudessa. Sillä välin, nähdään kaikki myöhemmin!
Suositeltava:
VBScriptin perusteet - Skriptien aloittaminen, viiveet ja paljon muuta!: 5 vaihetta
VBScriptin perusteet - Skriptien aloittaminen, viiveet ja paljon muuta!: Tervetuloa ensimmäiseen opetusohjelmaani VBScriptsin tekemisestä muistilehtiöllä. .Vbs -tiedostojen avulla voit luoda hauskoja kepposia tai tappavia viruksia. Tässä opetusohjelmassa näytän sinulle peruskäskyt, kuten komentosarjan käynnistämisen, tiedostojen avaamisen ja paljon muuta. Klo t
Mahtava kasvihuone automaattisella kastelulla, Internet -yhteydellä ja paljon muuta: 7 vaihetta (kuvilla)
Mahtava kasvihuone, jossa on automaattinen kastelu, Internet -yhteys ja paljon muuta: Tervetuloa tähän ohjeeseen. Marssin alussa olin puutarhakaupassa ja näin joitain kasvihuoneita. Ja koska halusin tehdä projektin kasveilla ja elektroniikalla jo pitkään, menin eteenpäin ja ostin sellaisen: https://www.instagram.com/p
Sateenkaarinen sanakello, jossa on täysi sateenkaaritehoste ja paljon muuta: 13 vaihetta (kuvilla)
Sateenkaarinen sanakello, jossa on täysi sateenkaaritehoste ja paljon muuta: Tavoitteet1) Yksinkertainen2) Ei kallis3) Mahdollisimman energiatehokas Sateenkaari-sanakello, jossa on täysi sateenkaaritehoste. Hymiö sanakellossa. Yksinkertainen IR-kauko-ohjain Päivitä 03-nov-18 LDR for Neopikselien kirkkauden säätö Päivitä 01.1.
Pelin tekeminen Notepadilla ja paljon muuta: 10 vaihetta
Pelin tekeminen Notepadilla ja paljon muuta: Tämä on ensimmäinen opettavainen. Joten jos sinulla on ehdotuksia, kommentoi. Aloitetaan! Kun me kaikki kuulemme sanan notepad, ajattelemme joitain tylsiä hyödyttömiä sovelluksia muistiinpanojen kirjoittamiseen. No, muistilehtiö on paljon enemmän. Voimme hallita
Ääniohjausvalot Elektroniikan RGB -LED -nauhat ja paljon muuta Cortanan ja Arduinon kotiautomaatiolla: 3 vaihetta
Ääniohjausvalot Elektroniikka RGB -led -nauhat ja paljon muuta Cortanan ja Arduinon kotiautomaation kanssa: Pidätkö ajatuksesta hallita asioita äänelläsi? Tai et halua nousta sängystä sammuttaa valot? Mutta kaikki olemassa olevat ratkaisut, kuten google home, ovat liian kalliita? Nyt voit tehdä sen itse alle 10 dollarilla. Ja mikä parasta, se on erittäin helppoa