Satura rādītājs:

Tējkanna skaitītājs (neveiksmīgs): 4 soļi
Tējkanna skaitītājs (neveiksmīgs): 4 soļi

Video: Tējkanna skaitītājs (neveiksmīgs): 4 soļi

Video: Tējkanna skaitītājs (neveiksmīgs): 4 soļi
Video: Декоративная подушка георгин лепестки 2024, Jūlijs
Anonim
Tējkanna skaitītājs (neizdodas)
Tējkanna skaitītājs (neizdodas)

Stāsts: Es izveidoju šo projektu tikai kā eksperimentu.

Es gribēju noskaidrot, vai es varu izmantot akselerometra brīvā kritiena noteikšanu, lai saskaitītu tējkanna svārstības.

Daļas:

1* Arduino nano

1* MAX7219 7 segmentu LED displeja modulis

1* ADXL345 akselerometrs

2* 4k7 rezistori

2* 15 virzienu 0,1 collu ligzdas - nano

1* 8 virzienu 0,1 collu ligzda - akselerometram

1* 5 virzienu 0,1 collu tapas sloksne - displejam

1* divvirzienu skrūves terminālis - jaudai

1* 27 ar 34 Stripboard

1* 9 voltu akumulatora skava

1* 9 voltu akumulators (PP3)

1. darbība: būvniecība:

Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija
Konstrukcija

Es projektēju un uzbūvēju nelielu tāfeli nano, akselerometra, rezistoru un displeja un akumulatora savienotāju turēšanai.

Ir 12 vadi un 20 sliežu ceļu pārtraukumi (15 no tiem ir starp 2 Arduino nano ligzdām).

Es pievienoju nano 2 savienotājiem, lai tos pareizi iestatītu, un novietoju tos uz tāfeles.

Vispirms lodēju stūra tapas un pirms pārējo savienotāja tapu lodēšanas pārbaudīju, vai viss ir pareizi novietots.

Pēc tam es lodēju displeja tapās un akselerometra kontaktligzdā, abus turēju ar zilu līmējumu, kad lodēju.

Pēc tam es pielodēju visus vadus un 2 rezistorus.

Beidzot es ieliku visus trases pārtraukumus.

Ņemiet vērā, ka parasti jums jāstrādā no zemākā augstuma komponentiem līdz visaugstākajam, vadi un rezistori nonāk vispirms un kontaktligzdas - pēdējās.

Saviem testiem es vienkārši piestiprināju dēli, akumulatoru un displeju pie tējkannas, tas nebija lielisks risinājums, bet tas bija tikai eksperiments.

2. darbība: programmatūra:

Es rediģēju visu programmatūru un ieprogrammēju Arduino nano, izmantojot Arduino IDE.

Kods bija atkārtotas izmantošanas uzdevums, lielākā daļa koda ir Sparkfun bibliotēkas demonstrācijas kods "SparkFun_ADXL345_Example.ino".

Es vienkārši pievienoju skaitītāja kodu un izgriezu dažus bitus, kas neko nedarīja.

Displeja ierakstus apstrādā bibliotēka DigitLedDisplay.

Eksperimentāli es mēģināju panākt, lai kods darbotos, izmantojot aptauju, nevis akselerometra pārtraukumu, bet nesanāca.

Ņemiet vērā, ka koda failā ir testa opcija, ja atcelsit rindu //#define test, skaitītājs tiks palielināts, veicot divkāršu akselerometra pieskārienu, nevis brīvajā kritienā.

3. darbība. Jaukti rezultāti:

Pēc tam, kad viss bija salīmēts kopā, es izdarīju 10 šūpoļu komplektu, kura rezultātā uz letes bija vērtība 20. Es mēģināju vēlreiz, un rezultāts bija tāds pats.

Brīvo kritienu es saistīju ar tējkanna nokrišanas fāzi, tāpēc pirmajā rakstītajā kodā es saskaitīju katru brīvā kritiena notikumu, pēc tam domāju, ka šūpoles augšdaļai jābūt arī brīvā kritiena notikumam, tāpēc pēc katras sekundes mainīju savu kodu, lai palielinātu laiks.

Mans pirmais tests pēc koda modificēšanas veiksmīgi darbojās.

Turpmākajos testos bija dažādi rezultāti ar skaitli, kurā tika ziņots par svārstību skaitu dažādās summās.

Es domāju, ka manas svinga tehnikas variācijas izraisa neatbildētos skaitījumus.

Mans secinājums ir tāds, ka brīvā kritiena noteikšana nav pietiekami uzticama, lai droši uzskaitītu tējkannas svārstības.

Visas manas pārbaudes šūpoles bija vērstas uz horizontāli, nevis virs galvas, kā daži dara ar tējkannu.

4. darbība. Atsauces:

Izmantotās bibliotēkas:

SparkFun_ADXL345_Arduino_Library

DigitLedDisplay versija 1.1.0

Abi iegūti 2019. gada 29. jūnijā.

Ieteicams: