Բովանդակություն:
- Քայլ 1: Softwareրագրակազմ
- Քայլ 2: Սարքավորումներ
- Քայլ 3: Փորձարկեք սարքը
- Քայլ 4 ՝ Հավելված ՝ ATtiny85
Video: Arduino 1-մետաղալար ընդհանուր հաճախորդ/ստրուկ սարք (տվիչ) ՝ 4 քայլ
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:45
Խնդրում եմ կարդալ իմ հրահանգի ներածությունը և 2-րդ քայլը, թե ինչպես կարելի է կառուցել Arduino 1-մետաղալարով ցուցադրում (144 նիշ) `իրավիճակի և մատչելի գրադարանների մասին ավելի շատ տեղեկություններ ստանալու համար: Ինչպես բացատրված է այնտեղ, մենք կօգտագործենք OneWire-Hub գրադարանը (OneWire ստրուկի սարքի էմուլյատոր) orgua- ի կողմից (ուշադրություն դարձրեք, որ շուրջը կան այլ պատառաքաղներ) ՝ Arduino- ի միջոցով ընդհանուր 1 լարային սարքեր (օրինակ ՝ տվիչներ) կառուցելու համար:
Քայլ 1: Softwareրագրակազմ
Ամենակարևորը սարք սարքելն է, որը կարող է վերադարձնել հիմնականում ցանկացած տեսակի արժեք պարզ եղանակով: Նշանակում է, որ ստանդարտ ծրագրակազմը կարող է օգտագործվել ուղղակիորեն բոլոր արժեքները կարդալու համար (խոսակցության կամ երկուական մանիպուլյացիայի կարիք չկա): Դրա համար մեզ անհրաժեշտ է շատ պարզ լռելյայն 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 գրանշան): Եվ օգտագործել IDE տարբերակը> = 1.8.3 ՝ կոդը ձեր Arduino- ում կազմելու և վերբեռնելու համար:
Ահա որպես օրինակ `վերջերս կառուցված սարքի կոդը: Քանի որ ես ենթադրում եմ, որ դուք չեք օգտագործի սենսորների նույն համադրությունը, ինչ ես անում եմ, այստեղ այլևս չեմ մանրամասնի, ստուգեք ծածկագիրը և հարցեր տվեք, եթե օգնության կարիք ունեք:
Քայլ 2: Սարքավորումներ
Հիմնականում այն ամենը, ինչ կարող եք միացնել Arduino- ին, կարող է օգտագործվել որպես ձեր ընտրած ցուցիչ: Միակ սահմանափակումն այն է, որ սենսորը կարդալը պետք է լինի հնարավորինս արագ, որպեսզի 1-լար հաղորդակցության կայացման համար շատ ժամանակ մնա (կարգով փոխանցեք Arduino 1-մետաղալար էկրանին (144 գրաֆիկ) իմ հրահանգի 2-րդ քայլը) օրինակ ստանալու համար):
Հնարավոր սարքավորումների օրինակ կարող է լինել եղանակային կայանը, օրինակ ՝
https://shop.boxtec.ch/wetter-messer-p-41289.html
Լրացուցիչ կամ ձեր փոխարեն պարզապես գուցե ցանկանաք օգտագործել Arduino- ն որպես ձեր ցուցիչ: Այդ մասին ավելին կարող եք կարդալ Arduino- ի փոքր հայտնի հնարավորությունների մասին իմ հրահանգում `հնարավոր արժեքներն են աղբյուրի լարումը և ներքին ջերմաստիճանը:
Ահա որպես օրինակ ՝ վերջերս կառուցված սարքի պատկերը: Քանի որ ես ենթադրում եմ, որ դուք չեք օգտագործի սենսորների նույն համադրությունը, ինչ ես անում եմ, այստեղ այլևս չեմ մանրամասնի, ստուգեք ծածկագիրը և հարցեր տվեք, եթե օգնության կարիք ունեք:
Քայլ 3: Փորձարկեք սարքը
Միացրեք այն ձեր ցանցին և ստուգեք ձեր ծրագրաշարը, որպեսզի առկա լինեն բոլոր ROM ID- ները և դրանք որպես ջերմաստիճան վերադարձվող արժեքները:
Քայլ 4 ՝ Հավելված ՝ ATtiny85
Միայնակ սարքերը (հիշողության սահմանափակում) կարող են կատարվել նաև ATtiny85- ով: Սա մի քանի քայլ է պահանջում, քանի որ մենք ծրագրավորում ենք ATtiny85- ը ՝ օգտագործելով Arduino Uno- ն որպես ISP ՝ 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
-
տեղադրել ATtiny տարբերակը IDE- ին
- Ֆայլ> Նախապատվություններ> Տախտակների մենեջերի լրացուցիչ հասցեներ ՝
- Գործիքներ> Տախտակ. ??? > Խորհուրդների կառավարիչ…
- որոնել ՝ "tiny" և տեղադրել
-
վերբեռնեք ISP- ի ուրվագիծը 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 -ին
- (> = 10uF կափարիչ Arduino Uno RESET քորոցի վրա կարող է անհրաժեշտ լինել)
-
ընտրեք ATtiny85 (տես նկարը).
- Տախտակ ՝ «ATtiny25/45/85»
- Timամաչափ 1 ժամացույց ՝ «պրոցեսոր»
- B. O. D.: "B. O. D. հաշմանդամ"
- LTO (միայն 1.6.11 +). «Հաշմանդամ»
- Չիպ ՝ «ATtiny85»
- Clամացույց ՝ «8 ՄՀց (ներքին)» (ATtiny85 և ATtiny84 համատեղելի)
- Clամացույց ՝ «16 ՄՀց (PLL)» (այլընտրանքային կարգավորում միայն ATtiny85- ի համար)
- Նավահանգիստ: ???
-
ընտրել ծրագրավորող.
Գործիքներ> merրագրավորող. "Arduino as ISP" (NOT "ArduinoISP")
-
սահմանել ապահովիչների կարգավորումները (ժամացույց և այլն).
Գործիքներ> Այրել Bootloader- ը
- վերբեռնեք այս կոդը (ծրագրավորողի սխալ LED- ն պետք է անջատված լինի, այլապես վերակայեք այն)
-
ATtinyX5 Pin Layout (ATtiny85):
- Պին 1: PB5 (RST)
- Պին 2. PB3 (A3) - ըստ ցանկության 220 օմ -ով միացված է 1 <-TX
- Պին 3 ՝ PB4 (A2) - միացված է 1 լարի Տվյալներին
- Pin 4: GND - միացված է GND- ին
- Pin 5: PB0 (PWM) - միացված է I2C SDA տվիչին
- Pin 6: PB1 (PWM) - միացված է LED- ին 4.7k GND- ով
- Pin 7: PB2 (A1) - միացված է I2C SCL սենսորին
- Pin 8: VCC - միացված է 5V
ATTiny85- ի հետ աշխատելը մի փոքր ավելի շատ աշխատանք է պահանջում, քանի որ ձեզ անհրաժեշտ են լրացուցիչ գրադարաններ I2C comm (adafruit/TinyWireM) և սերիական թողարկման (TinyDebugSerial) համար: Բացի այդ, քանի որ հիշողությունը բավականին սահմանափակ է, գուցե ցանկանաք շատ աշխատել #սահմանել, օրինակ. սերիական վրիպազերծումը հեռացնելու համար: Օրինակում դուք կարող եք տեսնել այս ամենը միասին նետված:
Փորձարկման համար առաջին քայլը ստուգելն է `արդյոք LED- ը թարթում է ճիշտ հաճախականությամբ` 0.5 Հց: Այնուհետեւ միացրեք այն 1 լարային ավտոբուսին եւ ստուգեք նոր սարքի առկայությունը:
Խորհուրդ ենք տալիս:
ASS սարք (Հակասոցիալական սոցիալական սարք) ՝ 7 քայլ
ASS սարք (Հակասոցիալական սոցիալական սարք). Ասեք, որ դուք այն մարդն եք, ով սիրում է մարդկանց կողքին լինել, բայց չի սիրում, որ նրանք շատ մոտենան: Դուք նաև հաճույք եք պատճառում մարդկանց և դժվարանում եք ոչ -ին ասել մարդկանց: Այսպիսով, դուք չգիտեք, թե ինչպես ասել նրանց հետ կանգնել: Դե, մուտքագրեք - ASS սարքը: Y
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ սարք ՝ օգտագործելով ESP8266 և BME280: 10 քայլ
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ ՝ օգտագործելով ESP8266 և BME280. Այսօրվա ուսանելի դասում մենք կկատարենք ցածր գնով ջերմաստիճանի, խոնավության և խոնավության տվիչ ՝ հիմնված AOSONG AM2302/DHT22 կամ BME280 ջերմաստիճանի/խոնավության տվիչի, YL-69 խոնավության տվիչի վրա: և ESP8266/Nodemcu հարթակը: Եվ ցուցադրելու համար
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ (DHT22) սարք ՝ օգտագործելով RaspberryPI և DHT22: 11 քայլ
Կառուցեք Apple HomeKit ջերմաստիճանի տվիչ (DHT22) սարք ՝ օգտագործելով RaspberryPI և DHT22. Ես փնտրում էի ցածր գնով ջերմաստիճանի / խոնավության տվիչ, որը կարող էի օգտագործել ՝ վերահսկելու այն, ինչ կատարվում է իմ սողացող տարածքում, քանի որ պարզեցի, որ այս գարնանը շատ խոնավ էր: , և ուներ շատ խոնավություն: Այսպիսով, ես փնտրում էի ողջամիտ գներով սենսոր, որը կարող էի
Արեգակնային ճառագայթման սարք (SID). Arduino- ի վրա հիմնված արևային տվիչ `9 քայլ
Արեգակնային ճառագայթման սարք (SID). Arduino- ի վրա հիմնված արևային տվիչ. Արևի ճառագայթման սարքը (SID) չափում է արևի պայծառությունը և հատուկ նախագծված է դասարանում օգտագործվելու համար: Դրանք կառուցված են Arduinos- ի միջոցով, ինչը թույլ է տալիս դրանք ստեղծել բոլորի կողմից ՝ կրտսեր ուսանողներից մինչև մեծահասակներ: Այս ինստ
Duրի մակարդակի Arduino- ի հայտնաբերման մեթոդներ `օգտագործելով ուլտրաձայնային տվիչ և Funduino ջրի տվիչ` 4 քայլ
Duրի մակարդակի Arduino- ի հայտնաբերման մեթոդներ `օգտագործելով ուլտրաձայնային տվիչ և Funduino ջրի սենսոր: Այս նախագծում ես ձեզ ցույց կտամ, թե ինչպես ստեղծել էժան ջրի դետեկտոր` օգտագործելով երկու մեթոդ ՝ 1. Ուլտրաձայնային տվիչ (HC-SR04) .2. Funduino ջրի ցուցիչ