Arduino Lesser белгилүү өзгөчөлүктөрү: 9 кадам
Arduino Lesser белгилүү өзгөчөлүктөрү: 9 кадам
Anonim
Arduino Lesser белгилүү өзгөчөлүктөрү
Arduino Lesser белгилүү өзгөчөлүктөрү

Бул көбүнчө көп колдонулбаган Arduino платформаларынын өзгөчөлүктөрүнүн тизмеси (мисалы, Uno, Nano). Бул тизме ошол өзгөчөлүктөрдү издөө жана сөздү жайылтуу үчүн керек болгондо шилтеме катары иштеши керек.

Бардык өзгөчөлүктөрдүн мисалдарын көрүү үчүн кодду караңыз, анткени мен аларды бул жердеги бир нече кен долбоорлорунда колдонгонмун (мис. Arduino 1-зымдуу дисплей (144 символдор)). Кийинки кадамдар ар бир өзгөчөлүктү түшүндүрөт.

1 -кадам: камсыздоо Voltage

Arduino өзүнүн камсыздоо чыңалуусун кыйыр түрдө өлчөй алат. Ички шилтемени жогорку чыңалуу шилтемеси катары өлчөө менен сиз ички шилтеме менен камсыздоо чыңалуусунун катышын ала аласыз (берүү чыңалуусу аналогдук/ADC окуу үчүн жогорку чек катары иштейт). Ички чыңалуу шилтемесинин так маанисин билгениңизден кийин, камсыздоо чыңалуусун эсептей аласыз.

Муну кантип кылуу керектиги жөнүндө так маалымат алуу үчүн мисал кодун караңыз:

  • Secret Arduino Voltmeter-Батареянын чыңалуусун өлчөө:
  • Arduino өзүнүн Вин ченей алабы ?:

2 -кадам: Ички температура

Кээ бир Arduino ички температура сенсору менен жабдылган, ошондуктан алардын ички (жарым өткөргүч) температурасын өлчөй алат.

Муну кантип кылуу керектиги жөнүндө так маалымат алуу үчүн мисал кодун караңыз:

Ички температура сенсору:

Arduino өзүнүн Вин ченей алабы ?:

3 -кадам: Аналогдук салыштыргыч (үзгүлтүккө учуроо)

Arduino A0 жана A1 пиндеринин ортосунда аналогдук салыштыргычты орното алат. Ошентип, бири чыңалуу деңгээлин берет, экинчиси бул чыңалуунун өтүшү үчүн текшерилет. Үзгүлтүк көтөрүлөбү же түшөбү (же экөө тең) жараша көтөрүлөт. Андан кийин үзгүлтүк программалык камсыздоо тарабынан кармалып, ошого жараша иш -аракет кыла алат.

Муну кантип кылуу керектиги жөнүндө так маалымат алуу үчүн мисал кодун караңыз:

Аналогдук компаратордун үзүлүшү:

4 -кадам: эсептегич

Албетте, AVRде бир нече эсептегич бар. Адатта, алар ар кандай жыштыктарда таймерди орнотуу жана муктаждык боюнча үзгүлтүктөрдү көтөрүү үчүн колдонулат. Дагы бир нерсе эскиче болушу мүмкүн, аларды кошумча сыйкырсыз эсептегичтер катары колдонуу, керек болгондо маанини окуу (сурамжылоо). Муну кызыктыруучу колдонуу баскычтарды алып салуу болушу мүмкүн, мис. Мисалы, бул билдирүүнү тапшырыңыз: AVR Мисал T1 эсептегичи

5 -кадам: Алдын ала аныкталган константалар

Долбооруңузга версияны жана компиляция маалыматын кошуу үчүн колдонула турган кээ бир алдын ала аныкталган өзгөрмөлөр бар.

Муну кантип кылуу керектиги жөнүндө так маалымат алуу үчүн мисал кодун караңыз:

Serial.println (_ DATE_); // түзүү датасы

Serial.println (_ TIME_); // компиляция убактысы

String stringOne = String (ARDUINO, DEC);

Serial.println (stringOne); // arduino ide версиясы

Serial.println (_ VERSION_); // gcc версиясы

Serial.println (_ FILE_); // файл түзүлдү

бул код үзүндүлөрү ал маалыматтарды сериялык консолго чыгарат.

6 -кадам: Кайра коюу аркылуу өзгөрмөлөрдү RAMде сактоо

Белгилүү болгондой, Arduino Uno (ATmega328) ички EEPROMге ээ, бул өчүрүү учурунда баалуулуктарды жана орнотууларды сактоого жана аларды кийинки күйгүзүүдө калыбына келтирүүгө мүмкүндүк берет. Белгилүү болбогон факт, чындыгында, RAMда да, баштапкы абалга келтирүү учурунда баалуулукту сактап калуу болушу мүмкүн, бирок, маани кубаттуулук циклинде жоголот - синтаксис менен:

кол коюлбаган узак өзгөрмөлүү_аткарылган _attribute_ ((бөлүм (".noinit"))));

Бул сизге, мисалы, RESETтин санын жана EEPROMду колдонуу менен, кубаттуулуктун санын эсептөөгө мүмкүндүк берет.

Муну кантип кылуу керектиги жөнүндө так маалымат алуу үчүн мисал кодун караңыз:

  • Калыбына келтирүү аркылуу Рамдагы өзгөрмөнү сактаңыз:
  • EEPROM китепканасы:

7 -кадам: Саат сигналына кирүү

Arduinos жана башка AVR (ATtiny сыяктуу) тышкы кристалл осцилляторун колдонбостон иштетүүгө мүмкүндүк берген ички сааты бар. Мындан тышкары, алар бул сигналды пинге (мис. PB4) коюу менен сыртка туташтыра алышат. Бул жердеги татаал нерсе, бул мүмкүнчүлүктү иштетүү үчүн чиптердин сактандыруучу биттерин алмаштырышыңыз керек жана сактандыруучу биттер дайыма өзгөрүп турса, микросхеманы бузуу коркунучу бар.

Сиз CKOUT сактагычты иштетишиңиз керек жана муну эң оңой жолу - Arduino колдонуп AVR Atmega328p - 8 бит микроконтроллердин сактандыруучу биттерин кантип өзгөртүү керектиги боюнча инструкцияны аткаруу.

Муну кантип кылуу керектиги жөнүндө так маалымат алуу үчүн мисал кодун караңыз:

  • ATtiny ички осцилляторун жөндөө:
  • AVR Atmega328p-8 биттик микроконтроллердин Arduino колдонуучу сактандыруучу биттерин кантип өзгөртүү керек:

8 -кадам: ATmega328P портунун ички түзүлүшү

ATmega328P портторунун ички түзүлүшүн билүү бизге стандарттык колдонуу чегинен чыгууга мүмкүнчүлүк берет. Көбүрөөк маалымат жана ички схеманын схемасы үчүн диапазондогу 20 пФ үчүн сыйымдуулук өлчөгүч жөнүндө бөлүмгө кайрылыңыз.

Жөнөкөй мисал-бул Input Pullup Serial Example же Instructable Arduino Button With No Resistor менен көрсөтүлгөн ички тартма каршылыгынын колдонулушунан улам эч кандай резисторго муктаж болбогон санарип порттогу баскычтарды колдонуу.

Бул билимди 20 pF сыяктуу кичине өлчөө үчүн колдонулган жана мындан ары эч кандай кошумча зымдар жок! Бул көрсөткүчкө жетүү үчүн, мисал ички/кирүү импедансын, ички тартма каршылыкты жана адашкан конденсаторду колдонот. Arduino CapacitanceMeter Tutorial менен салыштырыңыз, ал бир нече nFтен төмөн түшө албайт.

9-кадам: Фотодетектор катары борттогу (курулган) LED

Көптөгөн Arduino такталарында коддон башкарыла турган борттогу же курулган LED бар, мис. 13 -пин боюнча Uno же Nano такталары. Бул пинден бир зымды аналогдук кирүүчү пинге кошуу менен (мис. A0) биз дагы бул диодду фотодетектор катары колдоно алабыз. Бул ар кандай жолдор менен колдонулушу мүмкүн; айлана -чөйрөнү жарыктандырууну өлчөө үчүн колдонуңуз, LEDди баскыч катары колдонуңуз, бидрекциялык байланыш үчүн LEDди колдонуңуз (PJON AnalogSampling) ж.

Сунушталууда: