Sadržaj:
- Korak 1: Teorija iza uređaja
- Korak 2: Korištenje uređaja
- Korak 3: Potrebni materijali
- Korak 4: Montaža
- Korak 5: Skripta MicroPython
- Korak 6: Veliko pojednostavljenje: MakeCode/JavaScript kod
- Korak 7: Enviro: bit verzija
- Korak 8: Verzija sonde za kabel i senzor
Video: Micro: bitni Dive-O-metar: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Ljeto je stiglo, vrijeme je za bazen!
Dobra prilika da izvedete sebe i svoj micro: bit van, au ovom slučaju čak i u bazen.
Ovdje opisani mikro: bitni ronilački metar je jednostavan DIY mjerač dubine koji vam omogućuje da izmjerite koliko duboko ili ste ronili. Sastoji se samo od micro: bita, baterije ili LiPo -a, rubnog priključka za micro: bit, senzora barometarskog tlaka BMP280 ili BME280 i nekih kratkospojnih kabela. Korištenje okruženja Pimoroni: bit does čini stvari sve jednostavnijim. Sve je to pakirano u dva sloja vodonepropusnih prozirnih plastičnih ili silikonskih vrećica, s dodanim utezima za kompenziranje uzgonske sile.
To je primjena mikro: bitnog senzorskog uređaja koji sam opisao u prethodnim uputama.
Možete koristiti uređaj e. g. za ronilačka natjecanja s prijateljima i obitelji ili kako biste saznali koliko je to jezero zaista duboko. Testirao sam ga koristeći najdublji bazen u svom susjedstvu i otkrio da radi barem do 3,2 metra dubine. Teoretski maksimum je oko pet metara. Do sada nisam detaljno testirao njegovu preciznost, ali prijavljeni su brojevi bili barem u očekivanom rasponu.
Neke napomene: Ovo nije zamišljeno kao alat za prave ronioce. Vaš micro: bit će se oštetiti ako se smoči. Ovu uputu koristite na vlastitu odgovornost.
Ažuriranje 27. svibnja: Sada možete pronaći MakeCode HEX-skriptu koju možete učitati izravno na svoj micro: bit. Pogledajte korak 6. Ažurirajte 13. lipnja: dodana je Enviro: bit i verzija s kablom. Pogledajte korake 7 i 8
Korak 1: Teorija iza uređaja
Živimo na dnu zračnog oceana. Ovdje je tlak oko 1020 hPa (hektoPaskal) jer je težina zračnog stupca ovdje u svemiru oko 1 kg po kvadratnom centimetru.
Gustoća vode je mnogo veća, jer jedna litra zraka teži oko 1,2 g, a jedna litra vode 1 kg, tj. Oko 800 puta. Dakle, budući da je pad barometrijskog tlaka oko 1 hPa za svakih 8 metara visine, dobitak tlaka je 1 hPa za svaki centimetar ispod površine vode. Na dubini od oko 10 m tlak je 2000 hPa, odnosno dvije atmosfere.
Ovdje korišteni osjetnik tlaka ima raspon mjerenja između 750 i 1500 hPa pri razlučivosti od oko jednog hPa. To znači da možemo mjeriti dubine do 5 metara pri razlučivosti od oko 1 cm.
Uređaj bi bio mjerač dubine tipa Boyle Marriotte. Njegova montaža je prilično jednostavna i opisana u kasnijem koraku. Senzor koristi I2C protokol, pa je ručni priključak za micro: bit dobro došao. Najkritičniji dio su vodonepropusne vrećice jer će svaka vlaga oštetiti micro: bit, senzor ili bateriju. Budući da će se unutar vrećica zadržati malo zraka, dodavanjem utega pomaže se kompenzirati uzgonska sila.
Korak 2: Korištenje uređaja
Skripta, kako je detaljno prikazano u kasnijem koraku, varijacija je skripte koju sam ranije razvio za mjerač tlaka. Za testiranje uređaja možete upotrijebiti jednostavnu tlačnu komoru koja je tamo opisana.
Za potrebe ronjenja prikazuje dubinu u metrima, izračunatu iz mjerenja tlaka, bilo kao stupčasti grafikon u koracima od 20 cm ili, na zahtjev, u brojkama.
Pomoću tipke A na mikro: bitu postavit ćete trenutni tlak kao referentnu vrijednost tlaka. Za potvrdu unosa matrica trepće jednom.
Možete koristiti ovo ili da vidite koliko duboko ronite ili da zabilježite koliko ste duboko ronili.
U prvom slučaju postavite trenutni vanjski tlak zraka kao referentni. U drugom slučaju postavite tlak na najdublju točku gdje ste, kao referentnu vrijednost za tlak, što vam tada omogućuje da pokažete koliko ste bili duboki kad ste se vratili na površinu. Gumb B prikazuje dubinu, izračunatu iz razlike tlaka, kao brojčanu vrijednost u metrima.
Korak 3: Potrebni materijali
Mikro: bit. Npr. po cijeni od 13 GBP/16 eura u Pimoroni UK/DE.
Rubni priključak (Kitronic ili Pimoroni), 5 GBP. Koristio sam verziju Kitronic.
BMP/BME280 senzor. Koristio sam BMP280 senzor iz Banggooda, 4,33 eura za tri jedinice.
Spojni kabeli za povezivanje osjetnika i rubnog priključka.
Izvrsna alternativa gornjoj kombinaciji rubnog priključka/senzora mogla bi biti Pimoroni enviro: bit (do sada nije testirano, pogledajte zadnji korak).
Baterija ili LiPo za micro: bit.
Kabel za napajanje sa prekidačem (opcionalno, ali korisno). Očistite vodootporne vrećice. Koristio sam silikonsku torbicu za mobitel i jednu ili dvije male vrećice sa zatvaračem. Provjerite je li materijal dovoljno debeo, tako da igle na rubnom priključku neće oštetiti vrećice.
Neki utezi. Koristio sam komade olovne težine koji se koriste za ribolov.
Arduino IDE i nekoliko knjižnica.
Korak 4: Montaža
Instalirajte Arduino IDE i potrebne knjižnice. Pojedinosti su opisane ovdje.
(Nije potrebno za skriptu MakeCode.) S obzirom da koristite rubni priključak Kitronik, lemite igle na I2C priključke 19 i 20. To nije potrebno za rubni priključak Pimoroni. Lemite zaglavlje na prekid senzora i spojite osjetnik i rubni priključak pomoću kratkospojnih kabela. Spojite VCC na 3V, GND na 0 V, SCL na priključak 19 i SDA na priključak 20. Alternativno lemite kabele izravno na prekid. Spojite micro: bit na naše računalo putem USB kabela. Otvorite priloženu skriptu i umetnite je u micro: bit. Upotrijebite serijski monitor ili ploter, provjerite daje li senzor razumne podatke. Odvojite micro: bit od računala. Spojite bateriju ili LiPo na micro: bit. Pritisnite gumb B, pročitajte vrijednost Pritisnite gumb A. Pritisnite gumb B, pročitajte vrijednost. Uređaj stavite u dva sloja hermetički zatvorenih vrećica, ostavljajući samo vrlo malo zraka u vrećicama. U tom slučaju postavite uteg za kompenzaciju sile uzgona. Provjerite je li sve vodonepropusno. Idite na bazen i igrajte se.
Korak 5: Skripta MicroPython
Skripta samo uzima vrijednost tlaka s senzora, uspoređuje je s referentnom vrijednošću, a zatim izračunava dubinu iz razlike. Za prikaz vrijednosti kao stupčastog grafikona uzima se cijeli broj i preostali dio vrijednosti dubine. Prvi definira visinu crte. Ostatak je podijeljen u pet kanti koje definiraju duljinu šipki. Najviša razina je 0 - 1 m, najniža 4 - 5 m. Kao što je prije spomenuto, pritiskom na gumb A postavlja se referentni tlak, gumb B prikazuje "relativnu dubinu" u metrima, prikazanu kao brojčanu vrijednost. Do sada su negativne i pozitivne vrijednosti prikazane kao grafika na LED matrici na isti način. Slobodno optimizirajte skriptu za svoje potrebe. Možete uključiti određene retke kako biste prikazali vrijednosti na serijskom monitoru ili ploteru Arduino IDE -a. Da biste oponašali funkciju, možete izgraditi uređaj koji sam opisao u prethodnim uputama.
Nisam napisao dio skripte koji čita senzor. Nisam siguran u izvor, ali se zahvaljujem autorima. Sve ispravke ili savjeti za optimizaciju su dobrodošli.
#uključi
#include Adafruit_Microbit_Matrix microbit; #define BME280_ADDRESS 0x76 unsigned long int hum_raw, temp_raw, pres_raw; potpisan dugi int t_fine; uint16_t dig_T1; int16_t dig_T2; int16_t dig_T3; uint16_t dig_P1; int16_t dig_P2; int16_t dig_P3; int16_t dig_P4; int16_t dig_P5; int16_t dig_P6; int16_t dig_P7; int16_t dig_P8; int16_t dig_P9; int8_t dig_H1; int16_t dig_H2; int8_t kopa_H3; int16_t dig_H4; int16_t dig_H5; int8_t dig_H6; dvostruki press_norm = 1015; // početna vrijednost dvostruka dubina; // izračunata dubina // -------------------------------------------- -------------------------------------------------- ---------------------- void setup () {uint8_t osrs_t = 1; // Temperaturno preuzorkovanje x 1 uint8_t osrs_p = 1; // Prekomjerno uzorkovanje tlaka x 1 uint8_t osrs_h = 1; // Preuzorkovanje vlažnosti x 1 način rada uint8_t = 3; // Normalni način rada uint8_t t_sb = 5; // Tstandby 1000ms uint8_t filter = 0; // Filtriranje uint8_t spi3w_en = 0; // 3-žični SPI Onemogući uint8_t ctrl_meas_reg = (osrs_t << 5) | (osrs_p << 2) | način rada; uint8_t config_reg = (t_sb << 5) | (filter << 2) | spi3w_en; uint8_t ctrl_hum_reg = osrs_h; pinMode (PIN_BUTTON_A, ULAZ); pinMode (PIN_BUTTON_B, ULAZ); Serial.begin (9600); // postavljanje brzine serijskog porta Serial.print ("Tlak [hPa]"); // zaglavlje za serijski izlaz Wire.begin (); writeReg (0xF2, ctrl_hum_reg); writeReg (0xF4, ctrl_meas_reg); writeReg (0xF5, config_reg); readTrim (); // microbit.begin (); // microbit.print ("x"); kašnjenje (1000); } // ----------------------------------------------- ---------------------------------------------- void petlja () {double temp_act = 0.0, press_act = 0.0, hum_act = 0.0; potpisan dugi int temp_cal; unsigned long int press_cal, hum_cal; int N; int M; dvostruki press_delta; // relativni tlak int dubina_m; // dubina u metrima, cijeli broj dvostruka dubina_cm; // ostatak u cm readData (); // temp_cal = calibration_T (temp_raw); press_cal = calibration_P (pres_raw); // hum_cal = calibration_H (hum_raw); // temp_act = (double) temp_cal / 100.0; press_act = (dvostruki) press_cal / 100.0; // hum_act = (dvostruko) hum_cal / 1024.0; microbit.clear (); // resetiranje LED matrice // Tipka A postavlja stvarnu vrijednost kao referentnu (P nula) // Tipka B prikazuje trenutnu vrijednost kao dubinu u metrima (izračunato iz razlike tlaka) if (! digitalRead (PIN_BUTTON_A)) {// postavljanje normalnog tlaka zraka kao nula press_norm = press_act; // microbit.print ("P0:"); // microbit.print (press_norm, 0); // microbit.print ("hPa"); microbit.fillScreen (LED_ON); // trepnuti jednom za potvrdu kašnjenja (100); } else if (! digitalRead (PIN_BUTTON_B)) {// dubina prikaza u metrima microbit.print (dubina, 2); microbit.print ("m"); // Serial.println (""); } else {// izračunati dubinu iz razlike tlaka press_delta = (press_act - press_norm); // izračunati dubinu relativnog tlaka = (press_delta/100); // dubina u metrima dubina_m = int (abs (dubina)); // dubina im metara dubina_cm = (abs (dubina) - dubina_m); // ostatak /* // koristi se za razvoj Serial.println (dubina); Serial.println (dubina_m); Serial.println (dubina_cm); */ // Koraci za bargraf if (dubina_cm> 0,8) {// postavljena duljina šipki (N = 4); } else if (dubina_cm> 0,6) {(N = 3); } else if (dubina_cm> 0,4) {(N = 2); } else if (dubina_cm> 0,2) {(N = 1); } else {(N = 0); }
if (depth_m == 4) {// postavite razinu == metar
(M = 4); } else if (dubina_m == 3) {(M = 3); } else if (depth_m == 2) {(M = 2); } else if (dubina_m == 1) {(M = 1); } else {(M = 0); // gornji red} /* // koristi se u razvojne svrhe Serial.print ("m:"); Serial.println (dubina_m); Serial.print ("cm:"); Serial.println (dubina_cm); Serial.print ("M:"); Serijski.println (M); // u razvojne svrhe Serial.print ("N:"); Serijski.println (N); // u razvojne svrhe kašnjenje (500); */ // iscrtajte bargrafski mikrobit.drawLine (0, M, N, M, LED_ON); }
// šalje vrijednost na serijski port za ploter
Serial.print (press_delta); // crtanje indikatorskih linija i popravljanje prikazanog raspona Serial.print ("\ t"); Serijski.ispis (0); Serial.print ("\ t"); Serijski.tisak (-500); Serial.print ("\ t"); Serial.println (500); kašnjenje (500); // Mjerenje dvaput u sekundi} // ----------------------------------------- -------------------------------------------------- -------------------------------------------------- -------- // za senzor bmp/bme280 potrebno je sljedeće, neka ostane readTrim () {uint8_t data [32], i = 0; // Popravi 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0x88); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 24); // Popravi 2014./dok (Wire.available ()) {data = Wire.read (); i ++; } Wire.beginTransmission (BME280_ADDRESS); // Dodaj 2014/Wire.write (0xA1); // Dodaj 2014/Wire.endTransmission (); // Dodaj 2014/Wire.requestFrom (BME280_ADDRESS, 1); // Dodaj 2014/data = Wire.read (); // Dodaj 2014/i ++; // Dodaj 2014/Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xE1); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 7); // Popravi 2014./dok (Wire.available ()) {data = Wire.read (); i ++; } dig_T1 = (podaci [1] << 8) | podaci [0]; dig_P1 = (podaci [7] << 8) | podaci [6]; dig_P2 = (podaci [9] << 8) | podaci [8]; dig_P3 = (podaci [11] << 8) | podaci [10]; dig_P4 = (podaci [13] << 8) | podaci [12]; dig_P5 = (podaci [15] << 8) | podaci [14]; dig_P6 = (podaci [17] << 8) | podaci [16]; dig_P7 = (podaci [19] << 8) | podaci [18]; dig_T2 = (podaci [3] << 8) | podaci [2]; dig_T3 = (podaci [5] << 8) | podaci [4]; dig_P8 = (podaci [21] << 8) | podaci [20]; dig_P9 = (podaci [23] << 8) | podaci [22]; dig_H1 = podaci [24]; dig_H2 = (podaci [26] << 8) | podaci [25]; dig_H3 = podaci [27]; dig_H4 = (podaci [28] << 4) | (0x0F & podaci [29]); dig_H5 = (podaci [30] 4) & 0x0F); // Popravi 2014/dig_H6 = podaci [31]; // Popravimo 2014/} void writeReg (uint8_t reg_address, uint8_t data) {Wire.beginTransmission (BME280_ADDRESS); Wire.write (reg_address); Wire.write (podaci); Wire.endTransmission (); } void readData () {int i = 0; uint32_t podaci [8]; Wire.beginTransmission (BME280_ADDRESS); Wire.write (0xF7); Wire.endTransmission (); Wire.requestFrom (BME280_ADDRESS, 8); while (Wire.available ()) {data = Wire.read (); i ++; } pres_raw = (podaci [0] << 12) | (podaci [1] 4); temp_raw = (podaci [3] << 12) | (podaci [4] 4); hum_raw = (podaci [6] 3) - ((potpisan dugi int) dig_T1 11; var2 = (((((adc_T >> 4) - ((potpisan dugi int) dig_T1)) * ((adc_T >> 4) - ((potpisan dug int) dig_T1))) >> 12) * ((potpisan dugi int) dig_T3)) >> 14; t_fine = var1 + var2; T = (t_fine * 5 + 128) >> 8; return T; } unsigned long int calibration_P (s potpisom long int adc_P) {s potpisom long int var1, var2; bez potpisa long int P; var1 = (((s potpisom long int) t_fine) >> 1) - (s potpisom long int) 64000; var2 = (((var1 >> 2) * (var1 >> 2)) >> 11) * ((potpisan dugi int) dig_P6); var2 = var2 + ((var1 * ((potpisan dugi int) dig_P5)) 2) + (((potpisan dug int) dig_P4) 2) * (var1 >> 2)) >> 13)) >> 3) + ((((potpisan dugi int) dig_P2) * var1) >> 1)) >> 18; var1 = ((((32768+var1))*((potpisan dug int) dig_P1)) >> 15); if (var1 == 0) {return 0; } P = (((unsigned long int) (((with long long int) 1048576) -adc_P)-(var2 >> 12)))*3125; if (P <0x80000000) {P = (P << 1) / ((nepotpisani dugi int) var1); } else {P = (P / (unsigned long int) var1) * 2; } var1 = ((((dugačak int s potpisom) dig_P9) * ((s dugim intom s potpisom) (((P >> 3) * (P >> 3)) >> 13))) >> 12; var2 = (((potpisan dugi int) (P >> 2)) * ((potpisan dugi int) dig_P8)) >> 13; P = (unsigned long int) ((long long int s potpisom) P + ((var1 + var2 + dig_P7) >> 4)); povratak P; } nepotpisana kalibracija dugog inta_H (potpisana dugačka int adc_H) {potpisana dugačka int v_x1; v_x1 = (t_fine - ((s potpisom dugačak int) 76800)); v_x1 = (((((adc_H << 14) -(((potpisan dugi int) dig_H4) 15) * ((((((v_x1 * ((potpisan dugi int) dig_H6)) >> 10) * (((v_x1 * ((potpisan dugačak int) dig_H3)) >> 11) + ((potpisan dugi int) 32768))) >> 10) + ((potpisan dugi int) 2097152)) * ((potpisan dugi int) dig_H2) + 8192) >> 14)); v_x1 = (v_x1 - (((((v_x1 >> 15) * (v_x1 >> 15)) >> 7) * ((potpisano dugim intom) dig_H1)) >> 4)); v_x1 = (v_x1 419430400? 419430400: v_x1); return (nepotpisani dugi int) (v_x1 >> 12);
Korak 6: Veliko pojednostavljenje: MakeCode/JavaScript kod
U svibnju 2018. Pimoroni je objavio enviro: bit, koji dolazi s BME280 senzorom tlaka/vlažnosti/temperature, TCS3472 senzorom svjetla i boje te MEMS mikrofonom. Osim toga, nude JavaScript knjižnicu za uređivač MakeCode i knjižnicu MicroPython za ove senzore.
Koristio sam njihovu MakeCode knjižnicu za razvoj skripti za svoj uređaj. U privitku se nalaze odgovarajuće heksadecimalne datoteke koje možete kopirati izravno na svoj micro: bit.
Dolje ćete pronaći odgovarajući JavaScript kôd. Testiranje u spremištu dobro je funkcioniralo s ranijom verzijom skripte, pa pretpostavljam da će i oni funkcionirati. Osim osnovne, bargrafske verzije, postoji i verzija s presjekom (X) i L-verzija, namijenjena olakšavanju čitanja, osobito u uvjetima slabog osvjetljenja. Odaberite onu koja vam se više sviđa.
neka stupac = 0
neka Meter = 0 neka ostane = 0 neka Red = 0 neka Delta = 0 neka Ref = 0 neka je Is = 0 Is = 1012 basic.showLeds (` # # # # # #… # #. #. #. #… # # # # # # # `) Ref = 1180 basic.clearScreen () basic.forever (() => {basic.clearScreen () if (input.buttonIsPressed (Button. A)) {Ref = envirobit.getPressure () basic.showLeds (` #. #. #. #. #. #. # # # # #. #. #. #. #. #. #`) basic.pause (1000)} else if (input.buttonIsPressed (Button. B)) {basic.showString ("" + Row + "." + continue + "m") basic.pause (200) basic.clearScreen ()} else {Is = envirobit.getPressure () Delta = Is - Ref Meter = Math.abs (Delta) if (Meter> = 400) {Row = 4} else if (Meter> = 300) {Row = 3} else if (Meter> = 200) {Row = 2} else if (Meter> = 100) {Red = 1} else {Red = 0} ostaje = Mjerač - Red * 100 ako (ostane> = 80) {Stupac = 4} Ostalo ako (ostane>> 60) {Stupac = 3} inače ako (ostane>> = 40) {Column = 2} else if (continue> = 20) {Column = 1} else {Column = 0} for (neka je ColA = 0; ColA <= Column; ColA ++) {led.plot (C olA, Red)} basic.pause (500)}})
Korak 7: Enviro: bit verzija
U međuvremenu sam primio enviro: bit (20 GBP) i power: bit (6 GBP), oboje od Pimoronija.
Kao što je već spomenuto, enviro: bit dolazi s BME280 senzorom tlaka, vlage i temperature, ali i senzorom svjetla i boje (pogledajte aplikaciju ovdje) i MEMS mikrofonom.
Power: bit je lijepo rješenje za napajanje micro: bita i dolazi s prekidačem za uključivanje/isključivanje.
Sjajna stvar je to što se oboje mogu samo kliknuti i koristiti, bez lemljenja, kabela, matičnih ploča. Dodajte enviro: bit u micro: bit, učitajte kôd u micro: bit, upotrijebite ga.
U ovom sam slučaju upotrijebio micro, power i enviro: bit, stavio ih u Ziploc vrećicu, stavio u prozirnu plastičnu vrećicu za mobitele, spremnu. Vrlo brzo i uredno rješenje. Pogledajte slike. Prekidač je dovoljno velik da ga možete koristiti kroz zaštitne slojeve.
Testirano je u vodi, radilo je dobro. Na dubini od oko 1,8 m izmjerena vrijednost bila je oko 1,7 m. Nije loše za brzo i jeftino rješenje, ali daleko od savršenog. Potrebno je neko vrijeme za prilagodbu pa ćete možda morati ostati na određenoj dubini oko 10-15 sekundi.
Korak 8: Verzija sonde za kabel i senzor
Ovo je zapravo bila prva ideja o mikro: bitnom dubinomjeru, posljednja koja je izgrađena.
Ovdje sam lemio BMP280 senzor na 5 m 4-žilnog kabela i na drugi kraj postavio ženski kratkospojnik. Kako bi se senzor zaštitio od vode, kabel je provučen kroz korišteni čep za vino. Rubovi pluta zapečaćeni su vrućim ljepilom. Prije nego što sam izrezao dva zareza u pluto, oba su ga obišla. Zatim sam senzor spakirao u spužvastu kuglu, stavio balon oko njega i fiksirao kraj balona na pluto (donji zarez). zatim sam stavio 3 40 g komada olovnih utega u drugi balon, omotao ga oko prvog, utege postavljene s vanjske strane i fiksirao kraj balona na drugi zarez. Zrak je uklonjen iz drugog balona, a zatim je sve popravljeno ljepljivom trakom. Pogledajte slike, možda slijede detaljnije.
Kratkospojnici su spojeni na micro: bit preko rubnog priključka, uređaj je uključen i postavljen je referentni tlak. Zatim se senzorska glava polako pustila na dno bazena (10 m skakaonica, duboka oko 4,5 m).
Rezultati:
Na moje zaprepaštenje, uspio je čak i s ovim dugim kabelom. S druge strane, ali nije iznenađujuće, činilo se da je pogreška mjerenja postala veća pri višim pritiscima, a procijenjena dubina od 4 m prijavljena je kao oko 3 m.
Potencijalne primjene:
Uz neke ispravke pogrešaka, uređaj se može koristiti za mjerenje dubine do oko 4 m.
Zajedno s Arduinom ili Raspberry Pi, ovo bi se moglo koristiti za mjerenje i kontrolu točke punjenja bazena ili spremnika za vodu, npr. izazvati upozorenje ako razine vode pređu ili ispod određenih pragova.
Drugoplasirani u izazovu fitnessa na otvorenom
Preporučeni:
Micro: bitni pametni sat: 9 koraka
Micro: bit Smart Watch: Dobio sam set micro: bit pametne kuće za Božić. Pa sam mislio da bih mogao stvoriti pametni sat koji bi radio kao budilica, sat, glazbeni player, ali čak i kao pedometar i kalkulator. Na kraju sam se odlično snašao pa vam mogu napisati upute h
Arduino Nano-MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Vodič: 4 koraka
Arduino Nano-MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Tutorial: MMA8452Q je pametan, troosni, kapacitivni, mikro-strojni akcelerometar male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije omogućene su uz pomoć ugrađenih funkcija u mjeraču ubrzanja, podesive za dva prekida
Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: 4 koraka
Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Python Vodič: MMA8452Q je pametan, troosni, kapacitivni, mikro-strojni akcelerometar male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije omogućene su uz pomoć ugrađenih funkcija u mjeraču ubrzanja, podesive za dva prekida
Raspberry Pi MMA8452Q troosni 12-bitni/8-bitni digitalni akcelerometar Java vodič: 4 koraka
Raspberry Pi MMA8452Q 3-osi 12-bitni/8-bitni digitalni akcelerometar Java Uputstvo: MMA8452Q je pametan, troosni, kapacitivni, mikro-strojni akcelerometar male snage s 12 bita rezolucije. Fleksibilne korisnički programirane opcije omogućene su uz pomoć ugrađenih funkcija u mjeraču ubrzanja, podesive za dva prekida
Zabavni Micro: bitni robot - LAKO i jeftino!: 17 koraka (sa slikama)
Zabavni Micro: bitni robot - LAKO i jeftino!: BBC micro: bitovi su izvrsni! Lako ih je programirati, prepuni su značajki kao što su Bluetooth i mjerač ubrzanja, a jeftini su. Zar ne bi bilo sjajno biti u mogućnosti izgraditi robot koji košta gotovo NIŠTA? Ovaj projekt inspiriran je