Мазмұны:
- 1 -қадам: Бағдарламалық қамтамасыз ету
- 2 -қадам: Жабдық
- 3 -қадам: құрылғыны тексеріңіз
- 4 -қадам: Қосымша: ATtiny85
Бейне: Arduino 1 сымды жалпы клиент/қосалқы құрылғы (сенсор): 4 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Қол жетімді жағдай мен кітапханалар туралы қосымша ақпарат алу үшін Arduino 1 сымды дисплейін (144 таңба) қалай құру керектігі туралы нұсқаулығымның кіріспесін және 2-қадамын оқыңыз. Онда түсіндірілгендей, біз Arduino көмегімен жалпы 1 сымды құрылғыларды (мысалы, сенсорларды) құру үшін OneWire-Hub кітапханасын (OneWire slave device emulator) orgua арқылы қолданамыз (айналасында басқа шанышқылар бар).
1 -қадам: Бағдарламалық қамтамасыз ету
Ең бастысы - кез келген құндылықты қарапайым түрде қайтаратын құрылғы жасау. Бұл стандартты бағдарламалық қамтамасыз етуді барлық мәндерді тікелей оқу үшін қолдануға болатынын білдіреді (әңгіме немесе екілік манипуляция қажет емес). Ол үшін бізге қалтқыларды қайтара алатын және кең қолдайтын қарапайым 1 әмбебап құрылғы қажет. Мен білетін жалғыз таңдау - DS18B20 термометрі (DS2438 батарея мониторы өте қызықты және пайдалы, бірақ өте күрделі, сондықтан басқа кемшіліктер арасында баяу). OneWire-Hub кітапханасында бізге қажет нәрсені жасайтын DS18B20_asInterface деп аталатын мысал бар. Ол DS18B20 жиынтығын жасайды, олардың әрқайсысы сенсорларымыздан қайтарғымыз келетін бір өзгермелі мәнді білдіреді. Мұндағы шектеулер ажыратымдылық болып табылады және мәндер -55, 0… 125, 0 диапазонында болуы керек. Бұған оңай қол жеткізуге болады - ең нашар жағдайда масштабтау - және мәнмен ұсынылатын мәндерге қарағанда жақсы. DS2438 мәндері (1,5 -тан 10 В -қа дейін). Немесе үлкен мәндер диапазонын келесі жолмен орнатуға болады:
setTemperatureRaw (static_cast (мән * 16.0f));
бірақ бұл мәндерді оқу мен өңдеуді барлық бағдарламалық қамтамасыз ету қолдамауы мүмкін, себебі ол ерекшеліктерден тыс.
Сіз білуіңіз керек, бастапқыда құлдардың максималды саны 8 -ге дейін шектелген, бірақ оларды «OneWireHub_config.h» ішінде HUB_SLAVE_LIMIT -ті 32 -ге дейін көбейту арқылы өзгертуге болады. Сонымен қатар, қажет болған жағдайда ONEWIRE_TIME_MSG_HIGH_TIMEOUT қабылдағаныңызға көз жеткізіңіз. 1 сымды желі (мысалы, x10), Arduino 1 сымды дисплейінің 2-қадамында түсіндірілгендей (144 таңба). Ал кодты құрастыру және Arduino -ға жүктеу үшін IDE нұсқасын> = 1.8.3 пайдалану.
Мысал ретінде мен жақында жасаған құрылғының коды. Мен сенсорлардың комбинациясын қолданбаймын деп ойлаймын, мен бұл жерде толығырақ тоқталмаймын, кодты тексеріп, сізге көмек қажет болса сұрақтар қойыңыз.
2 -қадам: Жабдық
Негізінде Arduino -ға қосуға болатын кез келген нәрсені сенсор ретінде қолдануға болады. Жалғыз шектеу-бұл 1 сымды байланысқа көп уақыт қалу үшін сенсорды оқу мүмкіндігінше жылдам болуы керек (менің нұсқаулығымның 2-қадамын Arduino 1 сымды дисплейі (144 таңба) бойынша реттеңіз). мысал алу үшін).
Мүмкін болатын жабдықтың мысалы ауа райы станциясы болуы мүмкін, мысалы:
https://shop.boxtec.ch/wetter-messer-p-41289.html
Қосымша немесе сіздің орнына Arduino -ді сенсор ретінде қолданғыңыз келуі мүмкін. Сіз бұл туралы толығырақ Arduino Lesser Known функциялары туралы нұсқаулықтан оқи аласыз - мүмкін мәндер - кернеу мен ішкі температура.
Мысал ретінде мен жақында жасаған құрылғының суретін келтірдім. Мен сенсорлардың комбинациясын қолданбаймын деп ойлаймын, мен бұл жерде толығырақ тоқталмаймын, кодты тексеріп, сізге көмек қажет болса сұрақтар қойыңыз.
3 -қадам: құрылғыны тексеріңіз
Оны желіге қосыңыз және бағдарламалық жасақтамада барлық ROM идентификаторларының болуын және температура ретінде қайтарылатын мәндерді тексеріңіз.
4 -қадам: Қосымша: ATtiny85
Жалғыз құрылғыларды (жадты шектеу) ATtiny85 -те де жасауға болады. ATdiny85 бағдарламасын Arduino Uno көмегімен провайдер ретінде Arduino IDE көмегімен бағдарламалау кезінде бірнеше қадамдар қажет:
-
Сілтемелер
- https://playground.boxtec.ch/doku.php/arduino/att…
- https://sebastian.expert/could-not-find-usbtiny-d…
- https://learn.sparkfun.com/tutorials/tiny-avr-pro…
- https://forum.arduino.cc/index.php?topic=425532.0
- https://forum.arduino.cc/index.php?topic=128963.0
- Arduino IDE> = 1.8.3 пайдаланыңыз
-
IDE -ге ATtiny опциясын орнатыңыз
- Файл> Параметрлер> Қосымша тақта менеджерінің URL мекенжайлары:
- Құралдар> Тақта: ??? > Тақта менеджері …
- «кішкентай» деп іздеңіз және орнатыңыз
-
провайдердің эскизін Uno -ға жүктеңіз
Файл> Мысалдар> ArduinoISP> ArduinoISP
-
ATtiny85 бағдарламалау (нөлдік күш) ұясына салыңыз және оны сыммен қосыңыз:
- Arduino Pin MOSI D11 ATtiny Pin 5 -ке
- Arduino Pin MISO D12 - ATtiny Pin 6
- Arduino Pin SCK D13 - ATtiny Pin 7
- Arduino Pin D10 ATtiny Pin 1 -ге қалпына келтірілді
- Arduino Pin GND - ATtiny Pin 4
- Arduino Pin VCC - ATtiny Pin 8
- (> Arduino Uno RESET түйреуішіндегі 10uF қақпағы қажет болуы мүмкін)
-
ATtiny85 таңдаңыз (суретті қараңыз):
- Тақта: «ATtiny25/45/85»
- Таймер 1 Сағат: «CPU»
- B. O. D.: «B. O. D. мүгедек»
- LTO (тек 1.6.11 +): «Өшірілген»
- Чип: «ATtiny85»
- Сағат: «8 МГц (ішкі)» (ATtiny85 және ATtiny84 үйлесімді)
- Сағат: «16 МГц (PLL)» (тек ATtiny85 үшін балама параметр)
- Порт: ???
-
Бағдарламашы таңдаңыз:
Құралдар> Бағдарламалаушы: «Arduino провайдер ретінде» («ArduinoISP» ЕМЕС!)
-
сақтандырғыш параметрлерін орнатыңыз (сағат және т.б.):
Құралдар> Жүктеушіні жазу
- осы кодты жүктеңіз (бағдарламашының қате светодиодын өшіру қажет, әйтпесе оны қалпына келтіріңіз)
-
ATtinyX5 пин орналасуы (ATtiny85):
- 1 -түйреуіш: PB5 (RST)
- 2 -түйреуіш: PB3 (A3) - міндетті түрде 220 Ом арқылы 1 <-TX -ке қосылады
- 3 -түйреуіш: PB4 (A2) - 1 сымды DATA -ға қосылған
- 4 -түйреуіш: GND - GND -ге қосылған
- 5 -түйреуіш: PB0 (PWM) - I2C SDA сенсорына қосылған
- 6 -түйреуіш: PB1 (PWM) - GND -ге 4.7k светодиодқа қосылған
- 7 түйреуіш: PB2 (A1) - I2C SCL датчигіне қосылған
- 8 -түйреуіш: VCC - 5В қосылған
ATTiny85 -пен жұмыс істеу үшін көп жұмыс қажет, себебі I2C comm (adafruit/TinyWireM) және сериялық шығыс (TinyDebugSerial) үшін қосымша кітапханаларды алу қажет. Сонымен қатар, жады шектеулі болғандықтан, #define көмегімен көп жұмыс істегіңіз келуі мүмкін. сериялық отладтауды жою үшін. Мысалда сіз мұның бәрін біріктіргенін көре аласыз.
Тестілеу үшін бірінші қадам - жарық диоды 0,5 Гц дұрыс жиілікте жыпылықтайтынын тексеру. Содан кейін оны 1wire шинасына қосыңыз және жаңа құрылғыны тексеріңіз.
Ұсынылған:
Ретро A/V қосалқы аудио кабельге: 8 қадам (суреттермен)
Ретро А/В қосалқы аудио кабеліне: Мен бұл кабельді ерекше функцияға қызмет ету үшін жасадым - MP3 ойнатқышты қосалқы аудио портпен емес, A/V портымен келген автокөлік радиосына қосу үшін. Бұл процесс менің ретро стерео патч кабеліне ұқсас, тек айырмашылығы
10 долларлық қосалқы MetaPrax құжаттық камераны бейнеконференцияға орнату: 5 қадам
Бейнеконференцбайланыс үшін $ 10 қосалқы MetaPrax құжаттамалық камерасы: 20200803 жылы жарияланған, Джон Э.Нельсон [email protected] Онлайн кездесулерде қолданылатын құжаттар камералары интернет -сатушылардан 60-150 доллар тұрады. Ковид-19-ға байланысты кенеттен жеке оқудан интернатурада қашықтықтан оқытуға ауысқанда
Жарықдиодты шекарасы мен қосалқы дисплейлері бар Arcade1Up модулі: 9 қадам (суреттермен)
Жарық диодты маркалы және қосалқы дисплейлері бар Arcade1Up модулі: **** 2020 жылдың сәуір айының жаңартуы // Виртуалды пинболға арналған бағдарламалық қамтамасыз ету қосылды, толығырақ http://pixelcade.org сайтында **** Arcade1Up аркада шкафы жарықдиодты маркамен және қосымша ойынның атауы, жылы, өндірісі сияқты ойын туралы ақпаратты көрсететін кіші дисплейлер
5 сымды резистивті сенсор сенсоры: 10 қадам
5-сымды резистивті сенсор сенсоры: Сәлеметсіз бе! Мен бұл сайтта жұмыс істегеніме біраз уақыт болды және көп нәрсе өзгерді! Мен, ақырында, басқа жоба үшін рульге отыруға дайынмын, және менің ойымша, жағдайды өзім өзгертуге уақыт келді
Қосалқы бейнекамераның қосалқы камерасы: 7 қадам (суреттермен)
Қайта өңделген бейнекамераның қосалқы камерасы: Сіздердің көпшілігіңізде ескірген және ескірген техникасы бар тартпа немесе шкаф бар екеніне сенімдімін. Менде ескі технологияның үлесі бар, және мұндай әлеуеттің босқа кететінін көру өкінішті. Бұл нұсқаулықта мен