Orodha ya maudhui:
- Hatua ya 1: Unda Mradi wa Blynk
- Hatua ya 2: Pakua Programu kwa Bodi ya FireBeetle-ESP32
- Hatua ya 3: Uunganisho wa vifaa
Video: Jinsi ya Kutengeneza Kaunta ya Hatua ?: Hatua 3 (na Picha)
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
Nilikuwa nikifanya vizuri kwenye michezo mingi: kutembea, kukimbia, kuendesha baiskeli, kucheza badminton nk.
Ninapenda kusafiri kuzunguka kabla ya muda mrefu. Naam, angalia tumbo langu la portly ……
Kweli, hata hivyo, ninaamua kuanza tena mazoezi. Je! Ninafaa kuandaa vifaa gani? Mbali na kituo cha michezo, ndio! Nahitaji chombo! Ninaamini nayo, ninaweza kuweka mazoezi sahihi. Hapa chombo kinapatikana. Wacha tuanze na video ~
Chombo hicho sio tu kinaweza kurekodi hatua (na kalori) kwa wakati halisi, lakini onyesha wakati. Kilicho maalum ni kwamba fomati ya kuonyesha ni pointer ~ poa sana! Ninaipenda sana!
Unaweza kupakia rekodi zako kwenye mtandao
kwa kubofya moja tu. Rekodi zote zinaweza kuonyeshwa na Blynk (programu mahiri ya simu iliyoletwa hapo awali). Sawa na saa inayoweza kuvaliwa, chombo hupata wakati kwenye laini (Kwa hivyo hauitaji kuogopa nguvu na uppdatering wa wakati).
Vifaa katika vifaa:
Bodi ya FireBeetle-ESP32
Bodi ya FireBeetle inashughulikia-Proto
Skrini ya OLED12864 ya kuondoa
Moduli ya kuongeza kasi
Betri ya 3.7V (imenunuliwa mkondoni, ujazo ni karibu 600mAH)
Chupa 3 (zilizonunuliwa mkondoni)
Ni rahisi sana kujenga mradi huu na Blybk.
Hatua ya 1: Unda Mradi wa Blynk
Ongeza vidhibiti viwili:
Onyesha Thamani * 1
Saa ya wakati halisi * 1
Jina la Onyesho la Thamani linapaswa kuwekwa kwa hatua, lakini hakuna mpangilio wa mali ya Saa ya wakati halisi. Chagua V1 kama pini ya kuingiza ili kurekebisha mpangilio wa vidhibiti, kama ilivyoonyeshwa hapo chini.
Hatua ya 2: Pakua Programu kwa Bodi ya FireBeetle-ESP32
Bonyeza hapa kupakua nambari ya chanzo kwa esp32. Nambari ya chanzo ina faili za maktaba na faili za uchapishaji za 3D. Unapaswa kuhifadhi faili ya maktaba kwa lib ya arduino. Na faili za 3D zinaweza kuchapisha ganda moja kwa moja.
Chini ni programu kuu
# pamoja # ikiwa ni pamoja // Inahitajika tu kwa Arduino 1.6.5 na mapema #jumuisha # SSD1306.h "// alias kwa" # pamoja na "SSD1306Wire.h" "# pamoja na" OLEDDisplayUi.h "# pamoja na" picha.h "# ni pamoja na #jumuisha # pamoja na # pamoja # # pamoja #fafanua POWER_KEY 1 #fafanua MENU_KEY 2 #fafanua UPLOAD_KEY 3 boolean upload = false; Onyesho la SSD1306 (0x3c, 18, 0); OLEDDisplayUi ui (& onyesha); Kipima muda cha SimpleTimer; WidgetRTC rtc; skrini ya ndaniW = 128; skrini ya ndaniH = 64; saa ya saaCenterX = skriniW / 2; saa ya saaCenterY = ((skriniH-16) / 2) +16; // sehemu ya njano ya juu ni urefu wa 16 px int saaRadius = 23; #fafanua DEVICE (0x53) // ADXL345 anwani ya kifaa #fafanua TO_READ (6) // idadi ya ka tutasoma kila wakati (ka mbili kwa kila mhimili) baiti [TO_READ]; // bafa 6 ya kuhifadhi data iliyosomwa kutoka kwa kifaa char str [100]; // bafa ya kamba kubadilisha data kabla ya kuipeleka kwa bandari ya serial int regAddress = 0x32; // daftari la kwanza la mhimili-kuongeza kasi-ya data kwenye ADXL345 int xx, yy, zz; // data tatu za kuongeza kasi ya mhimili tuli int currentValue = 0; hatua ndefu ambazo hazijasainiwaSum = 0; char auth = "YourAuthToken"; // Kitambulisho chako cha WiFi. // Weka nenosiri kwa "" kwa mitandao wazi. char ssid = "YourNetworkName"; char pass = "Neno lako Nywila"; const char mbio_Logo_bits PROGMEM = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x03, 0x00, 0x00, 0x00, 0x00 0xF8, 0x01, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x00, 0x00, 0xFC, 0x05, 0x00 0x00 Nambari 0xFC, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0xF8, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x03, 0x00 Kupakiwa kwenye tovuti: 0 | Jumla ya kura: 0 | 0xFE, 0x03, 0x00, 0x00, 0x00, 0xF9, 0x03, 0x00, 0x00, 0x00, 0xFA, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0xF0 0x0 0xF4, 0x07, 0x00, 0x00, 0x00, 0xF4, 0x0F, 0x00, 0x00, 0x00, 0xF9, 0x0F, 0x00, 0x00, 0x00, 0xFC, 0x1F 0x00 0xFF, 0x1F, 0x00, 0x00, 0xA0, 0xFF, 0x5F, 0x00, 0x00, 0xC0, 0x3F, 0x3F, 0x00, 0x0 Nambari 0, 0xE8, 0x1F, 0x3F, 0x00, 0x00, 0xE8, 0xA7, 0x3E, 0x00, 0x00, 0xF0, 0x03, 0x7C, 0x00, 0x00, 0xE0, 0x05 Kupakiwa kwenye tovuti: 0 | Jumla ya kura: 0 | 0x00, 0x80, 0x03, 0x00, 0xF8, 0x01, 0x00, 0x07, 0x00, 0xF4, 0x00, 0x00, 0x07, 0x00, 0xE8, 0x00, 0x80 0x0F 0x00, 0xE8, 0x0F, 0x00, 0xE8, 0x00, 0xF0, 0x09, 0x00, 0x60, 0x01, 0xF0, 0x04, 0x00, 0x00, 0x00,}; // kazi ya matumizi ya onyesho la saa ya dijiti: prints zinazoongoza 0 Kamba mbiliDigits (nambari za int) {if (tarakimu <10) {String i = '0' + String (tarakimu); kurudi i; } mwingine {kurudi Kamba (tarakimu); }} saa batiliOverlay (OLEDDisplay * onyesho, OLEDDisplayUiState * state) {if ((hour () == 0) && (minute () == 0) && (second () == 0)) stepsSum = 0; } batili ya AnalogClockFrame (OLEDDisplay * onyesho, OLEDDisplayUiState * hali, int16_t x, int16_t y) {onyesha> kuteka Mzunguko (saaCenterX + x, saaCenterY + y, 2); kupe ya saa kwa (int z = 0; z DrawLine (x2 + x, y2 + y, x3 + x, y3 + y); / 57.29577951); onyesha-> choraLine (saaCenterX + x, saaCenterY + y, x3 + x, y3 + y); // onyesha kona ya mkono wa dakika = dakika () * 6; angle = (angle / 57.29577951); // Badilisha digrii kuwa radians x3 = (saaCenterX + (dhambi (angle) * (saaRadius - (saaRadius / 4)))); onyesha-> choraLine (saaCenterX + x, saaCenterY + y, x3 + x, y3 + y); // onyesha saa ya mkono wa saa = saa () * 30 + int ((dakika () / 12) * 6); angle = (angle / 57.29577951); SaaRadius - (saaRa dius / 2))))); onyesha-> choraLine (saaCenterX + x, saaCenterY + y, x3 + x, y3 + y); } utupu wa DigitalClockFrame (OLEDDisplay * onyesho, OLEDDisplayUiState * hali, int16_t x, int16_t y) {String date = String (year ()) + "/" + twoDigits (month ()) + "/" + TwoDigits (day ()); Timenow ya kamba = Kamba (saa ()) + ":" + mbiliDigits (dakika ()) + ":" + mbiliDigits (pili ()); onyesha-> setTextAlignment (TEXT_ALIGN_CENTER); onyesha-> setFont (ArialMT_Plain_24); onyesha-> drawString (clockCenterX + x, 20, timenow); onyesha-> setFont (ArialMT_Plain_16); onyesha-> DrawString (60, 45, tarehe); } utupu kuandika // kuanza maambukizi kwa kifaa Wire.write (anwani); // tuma anwani ya rejista Wire.write (val); // tuma thamani ya kuandika Wire.endTransmission (); // uwasilishaji wa mwisho} // inasoma baiti za nambari kutoka kwa rejista ya anwani kwenye kifaa ili kupanga safu tupu ya kusomaFrom (kifaa cha ndani, anwani ya baiti, nambari ya nambari, baiti ) {Wire.beginTransmission (kifaa); // kuanza maambukizi kwa kifaa Wire.write (anwani); // hutuma anwani kusoma kutoka kwa Wire.endTransmission (); // mwisho wa kupitisha waya.anza Uhamisho (kifaa); // kuanza maambukizi kwa kifaa Wire.requestFrom (kifaa, num); // ombi ka 6 kutoka kwa kifaa int i = 0; wakati (Wire.available ()) // kifaa kinaweza kutuma chini ya ombi (isiyo ya kawaida) {buff = Wire.read (); // pokea baiti i ++; } Uwasilishaji wa waya (); // uhamisho wa mwisho} batili mbioFrame (OLEDDisplay * onyesho, OLEDDisplayUiState * hali, int16_t x, int16_t y) {float calValue = stepsSum * 0.4487; onyesha-> setTextAlignment (TEXT_ALIGN_CENTER); onyesha-> setFont (ArialMT_Plain_24); onyesha-> kutekaString (saaCenterX, saaCenterY, str); sprintf (str, "%.2fcal", calValue); onyesha-> setTextAlignment (TEXT_ALIGN_CENTER); onyesha-> setFont (ArialMT_Plain_10); onyesha-> kutekaString (100, 20, str); onyesha-> kutekaXbm (10, 14, 34, 50, mbio_Logo_bits); } upakiaji batiliFrame (OLEDDisplay * display, OLEDDisplayUiState * state, int16_t x, int16_t y) {display-> setFont (ArialMT_Plain_16); onyesha-> kutekaString (60, 45, "pakia data…"); } // Safu hii inaweka viashiria vya kazi kwa fremu zote // muafaka ni maoni moja ambayo huteleza katika fremu za FrameCallback = {AnalogClockFrame, DigitalClockFrame, RunFrame, uploadFrame}; // kuna fremu ngapi? fremu ya hesabu = 4; // Vifuniko vinawekwa juu ya sura kwa mfano. saa Kufunikwa kwa upigaji simu
Tahadhari: Unapaswa kurekebisha mpangilio wa Wi-Fi, pasipoti na AUTHTOKENS kwako mwenyewe.
char auth = "YourAuthToken"; // Kitambulisho chako cha WiFi. // Weka nenosiri kwa "" kwa mitandao wazi. char ssid = "YourNetworkName"; char pass = "Nenosiri lako";
Hatua ya 3: Uunganisho wa vifaa
Unganisha OLED12864 na moduli ya kuongeza kasi kwa I2C, chini kwa D2, D3, D4. Kwa kuongezea, ongeza vipinga vya kuvuta 51k kwenye vifuniko ili kufikia 3.3V, iliyoonyeshwa hapa chini.
Tahadhari: Ni makosa kuunganisha vipinga-kuvuta kwa AREF, moja ya haki ni 3.3V
Picha ya kuuza vifaa, iliyoonyeshwa kama ilivyo hapo chini:
Baada ya solder, kukusanya moduli ya vifaa kwenye ganda, iliyoonyeshwa kama ilivyo hapo chini:
Picha ya athari kamili
Ilipendekeza:
Jinsi ya kutengeneza Kaunta ya sarafu: Hatua 3
Jinsi ya Kutengeneza Kaunta ya Sarafu: Hii inayoweza kufundishwa itaelezea jinsi ya kuunda kaunta ya sarafu ya benki ya nguruwe na GreenPAK ™. Kaunta hii ya benki ya nguruwe itatumia vitu vitatu vya msingi: GreenPAK SLG46531V: GreenPAK hutumika kama mkalimani kati ya sensorer na displa
Jinsi ya Kutengeneza Programu ya PIC - Picha ya PicKit 2: Hatua 4 (na Picha)
Jinsi ya Kutengeneza Programu ya PIC - PicKit 2 'clone': Hi! Hii ni ya kufundisha fupi juu ya kutengeneza programu ya PIC ambayo hufanya kama PicKit 2. Nilifanya hii kwa sababu ni ya bei rahisi kuliko kununua PicKit ya asili na kwa sababu Microchip, watengenezaji wa wadhibiti-udhibiti wa PIC na programu ya PicKit, pr
Jinsi ya Kutengeneza Kalenda ya Mababu na Bibi & Kitabu chakavu (hata ikiwa hujui jinsi ya kitabu cha vitabu): Hatua 8 (na Picha)
Jinsi ya Kutengeneza Kalenda ya Mababu na Bibi & Kitabu chakavu (hata Ikiwa Hujui Jinsi ya Kitabu cha Kitabu): Hii ni zawadi ya likizo ya kiuchumi na (na inayothaminiwa sana!) Kwa babu na babu. Nilitengeneza kalenda 5 mwaka huu kwa chini ya dola 7. Kila moja. Vifaa: picha 12 nzuri za mtoto wako, watoto, wajukuu, wajukuu, mbwa, paka, au jamaa wengine vipande 12 tofauti
Jinsi ya Kutengeneza Picha za Picha za Stereo: Hatua 5
Jinsi ya Kutengeneza Picha za Picha za Stereo
Jinsi ya Kutengeneza Zana ya Kutengeneza Divot ya Mbao: Hatua 8
Jinsi ya Kutengeneza Zana ya Kutengeneza Divot ya Mbao: Chombo cha Ukarabati wa Divot, au Pitchfork, hutumiwa kusaidia kuondoa ujanibishaji, divot, unaosababishwa na kutua kwa mpira wa gofu kwenye kuweka kijani. Wakati moja haihitajiki kurekebisha haya, ni kawaida kwa gofu kufanya hivyo. Nakala ya Wikipedia iko hapa mimi, nikiwa