Turinys:
- 1 veiksmas: atspausdinkite 3D skliaustą
- 2 veiksmas: pasirinktinai 3D spausdinkite OLED ekrano laikiklį ir elektroninį gaubtą
- 3 žingsnis: sukurkite IR jutiklio laidų mazgą
- 4 veiksmas: pridėkite srovės ribojimo rezistorių IR šviesos diodui
- 5 veiksmas: sujungimo jungiamieji laidai
- 6 veiksmas: nustatykite IR šviesos diodą ir fotodiodo laidus
- 7 žingsnis: Įdėkite diodus į laikiklį
- 8 žingsnis: pritvirtinkite fiksuojančią giją prie laikiklio
- 9 veiksmas: prispauskite gijų galus prie įkaitintos nagų galvutės
- 10 veiksmas: baigtas diodų laikiklis
- 11 veiksmas: pritvirtinkite laidus prie diodų
- 12 veiksmas: įsitikinkite, kad viela su rezistoriumi yra pritvirtinta prie ilgo IR šviesos diodo laido
- 13 žingsnis: susitraukite termiškai susitraukiantį vamzdelį
- 14 žingsnis: Paruoškite tvirtinimo bloką
- 15 veiksmas: įsitikinkite, kad M2 varžtas yra tinkamo ilgio
- 16 žingsnis: pritvirtinkite tvirtinimo bloką prie CNC maršrutizatoriaus
- 17 žingsnis: pritvirtinkite jutiklį prie tvirtinimo bloko
- 18 veiksmas: pridėkite atspindinčią juostelę vienoje veržlės pusėje
- 19 veiksmas: įsitikinkite, kad atspindinti juosta neperžengia krašto iki gretimų briaunų
- 20 veiksmas: paleiskite jutiklio laidą išilgai Z bėgelio
- 21 veiksmas: pritvirtinkite jutiklį prie „Arduino Nano“
- 22 veiksmas: pritvirtinkite trumpiklius prie OLED ekrano
- 23 veiksmas: pritvirtinkite OLED ekraną prie „Arduino“
- 24 veiksmas: pritvirtinkite OLED ekraną prie jo laikiklio
- 25 žingsnis: Paruoškite „Arduino IDE“, kad būtų galima įkelti „Arduino“eskizą
- 26 veiksmas: pridėkite reikalingas OLED bibliotekas
- 27 veiksmas: prijunkite „Arduino“prie kompiuterio
- 28 veiksmas: atsisiųskite „Arduino“eskizą
- 29 žingsnis: Sudarykite eskizą
- 30 veiksmas: įkelkite į „Nano“
- 31 veiksmas: naudokite specialų energijos šaltinį
- 32 veiksmas: prijunkite „Arduino“prie „Power Jumpers“
- 33 žingsnis: Techninės grandinės pastabos
- 34 žingsnis: „Arduino“eskizo techninės pastabos
Video: Pridėkite „Arduino“optinį tachometrą prie CNC maršrutizatoriaus: 34 žingsniai (su nuotraukomis)
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Sukurkite optinį savo CNC maršrutizatoriaus RPM indikatorių su „Arduino Nano“, IR LED/IR fotodiodo jutikliu ir OLED ekranu už mažiau nei 30 USD. Mane įkvėpė „eletro18“„Measure RPM - Optical Tachometer Instructable“ir norėjau pridėti tachometrą prie savo CNC maršrutizatoriaus. Aš supaprastinau jutiklio grandinę, sukūriau individualų 3D spausdintą laikiklį savo „Sienci“CNC maršrutizatoriui. Tada aš parašiau „Arduino“eskizą, kad OLED ekrane būtų rodomas ir skaitmeninis, ir analoginis ratukas
Keletas paprastų dalių ir pora valandų jūsų laiko, o prie savo CNC maršrutizatoriaus galite pridėti skaitmeninį ir analoginį RPM ekraną.
Štai dalių sąrašas, kurį galima pristatyti per 2 dienas. Tikriausiai galite įsigyti dalių pigiau, jei norite laukti ilgiau.
Dalių sąrašas
6,99 USD „Arduino Nano“
5,99 USD IR LED/IR fotodiodas (5 poros)
7,99 USD OLED ekranas 0,96 geltonos/mėlynos spalvos I2C
4,99 USD trumpieji laidai
1,00 USD 30 colių (75 cm) 3 laidų viela. Galima įsigyti vietinėje namų apyvokos reikmenų parduotuvėje („Home Depot“, „Lowes“) skiltyje „Pirkti po koją“
0,05 USD 220 omų rezistorius (6,99 USD, jei norite 750 įvairių rezistorių)
0,50 USD termiškai susitraukiantys vamzdžiai (5,99 USD, jei norite viso asortimento)
3D spausdinti laikikliai
„Arduino IDE“(nemokama)
Pastaba: iš pradžių pridėjau.01μF kondensatorių po to, kai pritvirtinau visus laidus ir pastebėjau kai kurias klaidingas RPM vertes, kai CNC judėjo. Kondensatorius puikiai veikė esant mažesniems apsisukimams <20K, tačiau jis per daug išlygino signalą, kad būtų didesnis. Stebėjau triukšmą, kad galėčiau įjungti „Nano“ir ekraną tiesiai iš CNC skydo. Atskiras tiekimas veikia visiems aps./min. Kol kas palikau veiksmus, bet turėtumėte naudoti atskirą USB maitinimo šaltinį.
1 veiksmas: atspausdinkite 3D skliaustą
Spausdinkite 3D laikiklį, kad laikytumėte IR šviesos diodus ir IR fotodiodus. 3D failai yra čia ir „Thingiverse“.
www.thingiverse.com/thing:2765271
„Sienci Mill“atveju kampinis laikiklis naudojamas jutikliui pritvirtinti prie aliuminio kampinių strypų, tačiau plokščias laikiklis gali būti geresnis jūsų projektui.
2 veiksmas: pasirinktinai 3D spausdinkite OLED ekrano laikiklį ir elektroninį gaubtą
Aš nusprendžiu pritvirtinti OLED prie kampinio ekrano laikiklio, kurį užsukau ant „Sienci Electronics“korpuso viršaus.
Čia yra nuorodos į mano naudojamas 3D spausdintas dalis.
„Sienci“elektronikos gaubto 3D dalis
0,96 OLED ekrano tvirtinimo laikiklis
Korpusas buvo puiki vieta OLED ekrano laikikliui pritvirtinti, jis puikiai laiko „Arduino Nano“, be to, jis tinka Sienci malūno gale. Korpuso viršuje išgręžiau keletą skylių OLED laikikliui pritvirtinti.
Aš taip pat išgręžiau porą skylių apačioje, kad perbrauktumėte mažą užtrauktuką, kad tvirtai pritvirtintumėte laidus
3 žingsnis: sukurkite IR jutiklio laidų mazgą
Jutikliui prijungti bus naudojama 3 laidų viela. Vienas laidas bus bendras IR šviesos diodo ir IR fotodiodo pagrindas, o visi kiti du bus nukreipti į atitinkamą komponentą.
4 veiksmas: pridėkite srovės ribojimo rezistorių IR šviesos diodui
IR šviesos diodui reikalingas srovę ribojantis rezistorius. Lengviausias būdas yra įtraukti rezistorių į vielos mazgą.
Sulenkite kiekvieno jų galus į U formą ir sujunkite juos. Suspauskite su replėmis ir lituokite jas kartu.
5 veiksmas: sujungimo jungiamieji laidai
Galite sujungti trumpiklius, kad prijungtumėte juos prie „Arduino“antraštės kaiščių.
Prieš prijungdami, nupjaukite termiškai susitraukiančio vamzdžio gabalėlį ir slyskite per laidą.
Pastumkite termiškai susitraukiantį vamzdelį atgal per jungtį (arba visą rezistorių) ir sutraukite vamzdelį, naudodami šilumos pistoletą arba greitai liepsnodami virš vamzdžio, kol jis susitrauks. Jei naudojate liepsną, greitai judėkite, kitaip ji gali pradėti tirpti.
6 veiksmas: nustatykite IR šviesos diodą ir fotodiodo laidus
Ir IR šviesos diodas, ir IR fotodiodas atrodo panašiai, kiekvienas turi ilgą (anodinį arba teigiamą) laidą ir trumpą (katodo arba neigiamą) laidą.
7 žingsnis: Įdėkite diodus į laikiklį
Paimkite IR šviesos diodą (skaidrų diodą) ir įkiškite jį į vieną iš LED laikiklio angų. Pasukite šviesos diodą taip, kad ilgas laidas būtų išorėje. Nuotraukoje viršuje esančioje skylėje galite pamatyti aiškų šviesos diodą su ilgu laidu pačiame viršuje.
Paimkite IR fotodiodą (tamsų diodą) ir įkiškite jį į kitą angą. Pasukite fotodiodą taip, kad jo ilgas laidas būtų centre.
Kaip parodyta nuotraukoje, trumpas šviesos diodo laidas ir ilgas fotodiodo laidas bus centre. Šie du laidai bus sujungti į bendrą laidą atgal į arduino. (Jei norite gauti daugiau informacijos, žiūrėkite technines pastabas pabaigoje)
Paimkite nedidelį 1,75 gijos gabalėlį ir įdėkite jį už diodų. Tai užrakins diodus ir neleis jiems suktis ar išeiti.
Prieš apsispręsdamas dėl šio, perėjau keletą dizaino pakartojimų. Šiek tiek išsikišę diodai labai pagerino toleranciją, kai jie suderinami su įvorės veržle.
8 žingsnis: pritvirtinkite fiksuojančią giją prie laikiklio
Fiksuojamą kaitinamąjį siūlą norėsite nupjauti tik šiek tiek ilgiau nei laikiklio plotis.
Keletą sekundžių pakaitinkite nagą vise arba laikydami replėmis.
9 veiksmas: prispauskite gijų galus prie įkaitintos nagų galvutės
Laikykite pirštą ant priešingo kaitinamojo siūlo galo ir paspauskite, kad ištirptų ir susilietų laikiklio fiksavimo kaištis.
10 veiksmas: baigtas diodų laikiklis
Lygus ir tvarkingas
11 veiksmas: pritvirtinkite laidus prie diodų
Nukirpkite vielą pagal savo paskirtį. Sienci malūnui iš viso jums reikės apie ~ 75 cm (viela + trumpikliai) ir laisvai, kad maršrutizatorius galėtų judėti.
Sulenkite vielos ir švino antgalius į U formą, kad juos sujungtumėte ir palengvintumėte litavimą.
Paimkite keletą plonų termiškai susitraukiančių vamzdžių ir supjaustykite du trumpus gabalus ir du šiek tiek ilgesnius gabalus. Trumpesnes dalis slyskite per išorinius diodų laidus. Slinkite ilgesnius gabalus per du centrinius laidus.
Dviejų skirtingų ilgių poslinkiai sujungia sujungimo jungtis ir atstumia storesnes jungtis viena nuo kitos, todėl sumažėja laidų skersmuo. Tai taip pat apsaugo nuo trumpojo jungimo tarp skirtingų vielos jungčių
Iškirpkite tris šiek tiek didesnio skersmens termiškai susitraukiančio vamzdžio dalis ir padėkite jas ant kiekvieno iš trijų laidų laidų.
Svarbu įsitikinti, kad tarp laidų termiškai susitraukiančio vamzdelio galų ir sujungimo taško yra nedidelis tarpas. Laidai įkais, o jei termiškai susitraukiantys vamzdeliai bus per arti, jie pradės trauktis pabaigoje, todėl gali būti per maži, kad galėtų slysti per jungtį.
12 veiksmas: įsitikinkite, kad viela su rezistoriumi yra pritvirtinta prie ilgo IR šviesos diodo laido
Srovės ribojimo rezistorius (220 omų), įmontuotas į laidų laidus, turi būti prijungtas prie ilgo (anodo) skaidraus IR šviesos diodo laido. Laidas, jungiantis du bendrus laidus, bus prijungtas prie žemės, todėl galbūt norėsite naudoti juodą arba pliką laidą.
Lituokite jungtis, kad jos taptų nuolatinės.
13 žingsnis: susitraukite termiškai susitraukiantį vamzdelį
Lituodami jungtis, pirmiausia naudokite degtuką ar žiebtuvėlį, kad sutrauktumėte diodų laidų vamzdelius. Pirmiausia perkelkite termiškai susitraukiantį vamzdelį ant laidų kuo toliau nuo karščio.
Kad liepsna greitai judėtų, ji susitraukia ir sukasi, kad visos pusės būtų vienodos. Neskubėkite, kitaip vamzdis ištirps, o ne susitrauks.
Sumažinus diodų laidus, šiek tiek didesnį termiškai susitraukiantį vamzdelį nuo laidų perbraukite per jungtis ir pakartokite susitraukimą.
14 žingsnis: Paruoškite tvirtinimo bloką
Priklausomai nuo jūsų taikymo, pasirinkite montavimo bloką, kuris tinka jūsų programai. „Since Mill“pasirinkite kampinį tvirtinimo bloką.
Paimkite M2 veržlę ir M2 varžtą. Veržlę vos prisukite prie varžto galo.
Apverskite tvirtinimo bloką ir išbandykite M2 veržlę į skylę.
Nuimkite ir šiek tiek pašildykite veržlę degtuku ar liepsna, tada greitai įdėkite ją į tvirtinimo bloko galą.
Atsukite varžtą, palikdami veržlę įterptą į plastikinį tvirtinimo bloką. Norėdami dar labiau sustiprinti, ant veržlės krašto užlašinkite lašą super klijų, kad tvirtai pritvirtintumėte veržlę prie bloko.
15 veiksmas: įsitikinkite, kad M2 varžtas yra tinkamo ilgio
Įsitikinkite, kad varžtas nėra per ilgas arba jutiklis neprisiverčia prie tvirtinimo bloko. Norėdami pritvirtinti kampinį bloką, įsitikinkite, kad M2 varžtas yra 9 mm arba šiek tiek trumpesnis.
16 žingsnis: pritvirtinkite tvirtinimo bloką prie CNC maršrutizatoriaus
Jei naudojate „Sienci Mill“, kampinį tvirtinimo bloką pritvirtinkite prie „Z Rail“vidinės dalies apačios porą lašų super klijų.
17 žingsnis: pritvirtinkite jutiklį prie tvirtinimo bloko
Įdėkite reguliuojamą svirtį į tvirtinimo bloką
Įkiškite M2 varžtą su poveržle per reguliuojamos tvirtinimo svirties angą ir įsukite į veržlę.
Stumkite reguliuojamą svirtį, kol šviesos diodas ir fotodiodai bus vienodi su frezavimo veržle
Priveržkite varžtą
18 veiksmas: pridėkite atspindinčią juostelę vienoje veržlės pusėje
Naudokite mažą aliuminio juostos juostelę (naudojama krosnių ortakiams) ir pritvirtinkite ją prie vieno sandariklio veržlės. Ši atspindinti juosta leis optiniam infraraudonųjų spindulių jutikliui užfiksuoti vieną veleno apsisukimą.
19 veiksmas: įsitikinkite, kad atspindinti juosta neperžengia krašto iki gretimų briaunų
Juosta turi būti tik vienoje veržlės pusėje. Juosta yra pakankamai plona ir lengva, todėl ji netrukdo veržliarakčiui keisti galinius frezus arba paveikti veleno balansą.
20 veiksmas: paleiskite jutiklio laidą išilgai Z bėgelio
Naudodami aliuminio lipniosios juostos juosteles, pritvirtinkite vielą prie „Z Rail“vidinės pusės. Geriausia paleisti juostą šalia kampinio bėgelio krašto, kad išvalytumėte švino veržlės veržlę.
21 veiksmas: pritvirtinkite jutiklį prie „Arduino Nano“
Prijunkite laidus prie „Arduino“taip:
- IR šviesos diodas (su integruotu rezistoriumi) -> kaištis D3
- IR fotodiodas -> D2 kaištis
- Bendra viela -> GND kaištis
22 veiksmas: pritvirtinkite trumpiklius prie OLED ekrano
Ištraukite 4 laidų jungiamųjų kabelių rinkinį
Prijunkite laidus prie keturių I2C sąsajos kaiščių:
- VCC
- GND
- SCL
- SDA
23 veiksmas: pritvirtinkite OLED ekraną prie „Arduino“
Pritvirtinkite trumpiklius prie šių kaiščių. Pastaba: Šios vielos ne visos tvirtinamos prie gretimų kaiščių ir ne ta pačia tvarka.
- VCC -> 5V kaištis
- GND -> PIN GND
- SCL -> kaištis A5
- SDA -> kaištis A4
24 veiksmas: pritvirtinkite OLED ekraną prie jo laikiklio
Naudodami anksčiau išspausdintus skliaustus, pritvirtinkite OLED ekraną prie jo laikiklio
Tada pritvirtinkite ekraną prie CNC rėmo.
25 žingsnis: Paruoškite „Arduino IDE“, kad būtų galima įkelti „Arduino“eskizą
„Arduino“programa vadinama eskizu. „Arduinos“integruota kūrimo aplinka (IDE) yra nemokama ir turi būti naudojama programai įkelti, kad būtų galima aptikti jutiklį ir rodyti RPM.
Jei to dar neturite, čia yra nuoroda, kaip atsisiųsti „Arduino IDE“. Pasirinkite atsisiųstą versiją 1.8.5 arba naujesnę.
26 veiksmas: pridėkite reikalingas OLED bibliotekas
Norėdami paleisti OLED ekraną, jums reikės poros papildomų bibliotekų, bibliotekos „Adafruit_SSD1306“ir „Adafruit-GFX-Library“. Abi bibliotekos yra nemokamos ir pasiekiamos per pateiktas nuorodas. Vadovaukitės „Adafruit“pamoka, kaip įdiegti savo kompiuterio bibliotekas.
Kai bibliotekos bus įdiegtos, jos bus prieinamos bet kuriam jūsų sukurtam „Arduino“eskizui.
„Wire.h“ir „Math.h“bibliotekos yra standartinės ir automatiškai įtraukiamos į jūsų IDE diegimą.
27 veiksmas: prijunkite „Arduino“prie kompiuterio
Naudodami standartinį USB kabelį, prijunkite „Arduino Nano“prie kompiuterio naudodami „Arduino IDE“.
- Paleiskite IDE
- Meniu Įrankiai pasirinkite Lenta | Arduino Nano
- Meniu Įrankiai pasirinkite Uostas |
Dabar esate pasiruošę įkelti eskizą, sudaryti jį ir įkelti į „Nano“
28 veiksmas: atsisiųskite „Arduino“eskizą
Pridėtas „Arduino Sketch“kodas, kuris taip pat yra mano „GitHub“puslapyje, kuriame bus paskelbti visi būsimi patobulinimai.
Atsisiųskite „OpticalTachometerOledDisplay.ino“failą ir įdėkite jį į darbo katalogą tuo pačiu pavadinimu (atėmus.ino).
Iš „Arduino IDE“pasirinkite Failas | Atviras…
Eikite į savo darbo katalogą
Atidarykite failą „OpticalTachometerOledDisplay.ino.ino“.
29 žingsnis: Sudarykite eskizą
Spustelėkite mygtuką „Tikrinti“arba pasirinkite Eskizas | Patvirtinkite/kompiliuokite meniu, kad sudarytumėte eskizą.
Apačioje turėtumėte pamatyti kompiliavimo sritį su būsenos juosta. Po kelių sekundžių bus parodytas pranešimas „Atlikta kompiliacija“ir tam tikra statistika apie tai, kiek eskizas užima atminties. Nesijaudinkite dėl pranešimo „Yra mažai atminties“, jis nieko nedaro. Didžiąją atminties dalį naudoja GFX biblioteka, reikalinga šriftui piešti OLED ekrane, o ne pats eskizas.
Jei matote klaidų, tai greičiausiai yra trūkstamų bibliotekų ar konfigūracijos problemų rezultatas. Dar kartą patikrinkite, ar bibliotekos nukopijuotos į tinkamą IDE katalogą.
Jei tai nepadeda išspręsti problemos, patikrinkite bibliotekos diegimo instrukcijas ir bandykite dar kartą.
30 veiksmas: įkelkite į „Nano“
Paspauskite mygtuką „Rodyklė“arba pasirinkite Eskizas | Įkelkite iš meniu, kad sudarytumėte ir įkeltumėte eskizą.
Pamatysite tą patį pranešimą „Kompiliuojama..“, po to - pranešimą „Įkeliama..“ir galiausiai pranešimą „Įkėlimas baigtas“. „Arduino“pradeda vykdyti programą, kai tik įkėlimas baigiamas arba kai tik po to įjungiama energija.
Šiuo metu OLED ekranas turėtų atgaivinti su RPM: 0 ekranu, kurio ratukas yra nulis.
Jei vėl sudėjote maršrutizatorių, galite įjungti jungiklį ir matyti, kad ekrane rodomas RPM, kai reguliuojate greitį.
Sveikinu!
31 veiksmas: naudokite specialų energijos šaltinį
PASTABA: tai buvo signalo triukšmo, kuris sukėlė nepastovius RPM ekranus, šaltinis. Aš tyrinėju, kaip uždėti kai kuriuos filtro dangtelius ant maitinimo jungiklių, tačiau kol kas turėsite jį maitinti per atskirą USB kabelį.
Prie kompiuterio prijungtą ekraną galite paleisti naudodami USB kabelį, tačiau galiausiai jums reikės specialaus maitinimo šaltinio.
Turite keletą variantų, galite įsigyti standartinį USB sieninį įkroviklį ir iš jo paleisti „Arduino“.
Arba galite paleisti „Arduino“tiesiai iš savo CNC maršrutizatoriaus elektronikos. „Arduino“/OLED ekranas sunaudoja tik 0,04 amperus, todėl neperkraus esamos elektronikos.
Jei turite „Arduino“/CNC maršrutizatoriaus skydo elektroniką (pvz., „Sienci Mill“), tuomet galite naudoti keletą nenaudotų kaiščių, kad išnaudotumėte reikiamą 5 voltų galią.
Viršutinėje kairėje CNC maršrutizatoriaus skydo pusėje galite pamatyti, kad yra keletas nepanaudotų kaiščių, pažymėtų 5V/GND. Prie šių dviejų kaiščių pritvirtinkite jungiamųjų kabelių porą.
32 veiksmas: prijunkite „Arduino“prie „Power Jumpers“
Tai lengva, bet ne taip gražiai paženklinta.
„Arduino Nano“lentos gale yra 6 kaiščių rinkinys. Jie nėra pažymėti, bet aš įtraukiau kaiščio schemą ir matote, kad du išoriniai kaiščiai, kurie yra arčiausiai indikatoriaus šviesos diodų, diagramoje pažymėti kaip GND ir 5V.
Prijunkite trumpiklį nuo 5 V kaiščio, esančio CNC skydelyje, prie kaiščio, esančio arčiausiai VIN pažymėto kaiščio (nejunkite jo prie VIN, bet prie 6 kontaktų grupės vidinio kampo kaiščio). VIN yra skirtas „Nano“maitinti 7V-12V galia.
Prijunkite trumpiklį nuo GND kaiščio CNC skydelyje prie kaiščio, esančio arčiausiai TX1 kaiščio.
Dabar, kai įjungsite CNC maršrutizatoriaus elektroniką, taip pat įsijungs OLED RPM ekranas.
33 žingsnis: Techninės grandinės pastabos
Jutiklio grandinėje naudojama IR LED/IR fotodiodų pora.
IR šviesos diodas veikia kaip bet kuris įprastas šviesos diodas. Teigiamas laidas (ilgesnis arba anodas) yra prijungtas prie teigiamos įtampos. „Arduino Nano“išvesties kaištis nustatytas kaip AUKŠTAS. Neigiamas laidas (trumpesnis arba katodas) yra prijungtas prie žemės, kad užbaigtų grandinę. Kadangi šviesos diodai yra jautrūs per didelei srovei, mažas rezistorius yra sujungtas su LED, kad būtų apribotas srovės kiekis. Šis rezistorius gali būti bet kurioje grandinės vietoje, tačiau prasmingiausia jį pastatyti į teigiamą grandinės pusę, nes neigiamas laidas yra sujungtas su įžeminimu su fotodiodu.
IR fotodiodas elgiasi kaip bet kuris kitas diodas (įskaitant šviesos diodų šviesos diodus), nes jie praleidžia elektros energiją tik viena kryptimi ir blokuoja elektros energiją priešinga kryptimi. Štai kodėl svarbu, kad šviesos diodai veiktų teisingai.
Svarbus skirtumas tarp fotodiodų yra tas, kad kai jie aptinka šviesą, fotodiodai leis elektrai tekėti bet kuriuo atveju. Ši savybė naudojama šviesos detektoriui (šiuo atveju infraraudonųjų spindulių arba IR) gaminti. IR fotodiodas yra prijungtas priešingu poliškumu (vadinamas atvirkštiniu poslinkiu) su teigiamu 5V ant „Arduino“kaiščio, prijungto prie neigiamo fotodiodo laido, o teigiamas laidas yra prijungtas per bendrą laidą kartu su IR šviesos diodu prie žemės.
Jei nėra IR šviesos, IR fotodiodas blokuoja elektros energiją, todėl „Arduino“kaištis su vidiniu traukos rezistoriumi yra AUKŠTOS būsenos. Kai IR fotodiodas aptinka IR šviesą, jis leidžia tekėti elektros energijai, įžemindamas kaištį ir sukeldamas fotodiodo kaiščio HIGH vertę žemyn link žemės, todėl „Arduino“gali aptikti krintantį kraštą.
Šis „Arduino“kaiščio būsenos pakeitimas naudojamas eskizui apsisukimams skaičiuoti.
Aliuminio juostos juostelė ant tvirtinimo veržlės atspindi infraraudonąją spinduliuotę nuo visada įjungto IR šviesos diodo atgal į IR fotodiodą kiekvieną kartą, kai ji sukasi pro jutiklį.
34 žingsnis: „Arduino“eskizo techninės pastabos
„Arduino“eskizas valdo OLED ekraną ir vienu metu reaguoja į IR LED/IR fotodiodo jutiklį.
„Eskizas“inicijuoja OLED ekraną visame I2C (integralios grandinės) protokole. Šis protokolas leidžia keliems ekranams/jutikliams dalytis ryšiu ir gali skaityti ar rašyti į tam tikrą prijungtą įrenginį, naudojant mažiausiai laidų (4). Šis ryšys sumažina jungčių skaičių tarp „Arduino“ir OLED ekrano.
Tada jis įjungia infraraudonųjų spindulių šviesos diodą, nustatydamas, kad kaištis AUKŠTAS, tiekiantis 5V, reikalingą šviesos diodui.
Jis prideda pertraukimo funkciją prie kaiščio, kuris iškviečiamas, kai aptinka kaiščio būsenos pasikeitimą. Šiuo atveju funkcija inkrementRevolution () iškviečiama kaskart, kai 2 kaištyje aptinkamas krintantis kraštas.
Pertraukimo funkcija daro tai, ką numato, ji nutraukia viską, kas šiuo metu daroma, vykdo funkciją ir tada tęsia veiksmą tiksliai ten, kur buvo nutraukta. Nutraukimo funkcijos turėtų būti kuo trumpesnės, šiuo atveju jis tik prideda vieną prie skaitiklio kintamojo. Mažasis „Arduino Nano“veikia 16Mhz greičiu - 16 milijonų ciklų per sekundę - pakankamai greitai, kad galėtų sustabdyti 30 000 aps./min., Tai yra tik 500 apsisukimų per sekundę.
Funkcija „Loop“() yra pagrindinė bet kurio „Arduino“eskizo veiksmo funkcija. Jis nuolat ir vėl vadinamas, kol „Arduino“turi galią. Jis gauna dabartinį laiką, patikrina, ar praėjo nurodytas intervalas (1/4 sekundės = 250 milisekundžių). Jei taip, ji iškviečia funkciją updateDisplay (), kad būtų rodoma nauja RPM vertė.
Ciklo funkcija taip pat pritemdys ekraną po 1 minutės ir išjungs ekraną po 2 minučių - visiškai sukonfigūruota pagal kodą.
Funkcijos updateDisplay () iškviečia funkciją calcRpm (). Ši funkcija apskaičiuoja apsisukimų skaičių, kai pertraukimo funkcija nuolat didėja, ir apskaičiuoja RPM, nustatydamas apsisukimų dažnį per laiko intervalą ir ekstrapoliuodamas apsisukimų per minutę skaičių.
Jis rodo skaitinę vertę ir naudoja tam tikrą vidurinės mokyklos trigerį, kad nupieštų analoginį ratuką, o indikatoriaus svirtis atspindėtų tas pačias vertes.
Eskizo viršuje esančias konstantas galima keisti, jei norite gauti RPM ratuką su skirtingomis pagrindinėmis ir mažosiomis reikšmėmis.
Taip pat galima keisti atnaujinimo intervalą ir vidutinį intervalą.