Мазмуну:
- 1 -кадам: материалдар жана инструменттер
- 2 -кадам: ATTINY85ти даярдаңыз
- 3 -кадам: Районду чогултуңуз
- 4 -кадам: Тестирлөө
- 5 -кадам: Кийинки кадамдар
Video: IOT123 - I2C 2CH РЕЛИ КИРПИШ: 5 кадам (Сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
IOT123 КИРПИЧтери - бул модулдук бирдиктер, алар IOT123 КИРПИЧТЕРИ менен биригип, түйүнгө функционалдык мүмкүнчүлүктү кошууга болот. Алар дюймдук чарчы, тешиктер аркылуу бири-бири менен байланышкан эки жактуу протоборлорго негизделген.
Бул BRICKS бир катар сайтта бир нече түйүндөрдө болушу күтүлүүдө (Master MCUs - ESP8266 же ATTINY84). MCU сенсорлордун максаты же программалык камсыздоо муктаждыктары жөнүндө алдын ала билимге муктаж эмес. Ал I2C түйүндөрүн издейт, андан кийин ар бир кулдан мулк таштандысын (сенсордук маалыматтарды) сурайт. Бул BRICKs 5.0V, 3.3V жана настройкаланган башка AUX линиясын беришет.
Бул I2C 2CH RELAY BRICK I2C KY019 КИРПИЧТИН иштөө мүмкүнчүлүгүн кеңейтет жана эки окуу/жазуу касиетине ээ:
2CH RELAYS [0] (чыныгы/жалган)
2CH РЕЛЕЙЛЕРИ [1] (чыныгы/жалган)
ATTINY85 жанындагы тешиктер DIP8 ПХБга ширетилип жатканда, пого пин программистти иштетүү үчүн колдонулбай калган. Дагы бир абстракция, D1M WIFI BLOCK хабына туташтырылган кичинекей цилиндрлерге кирпичтерди таңгактоо, баалуулуктарды MQTT серверине чыгаруу.
1 -кадам: материалдар жана инструменттер
Материалдардын жана булактардын толук тизмеси бар.
- 2 Канал Реле (1)
- ATTINY85 20PU (1)
- 1 "Эки тараптуу протобер (1)
- Эркек Башы 90º (3P, 3P)
- Эркек баш (2P, 2P)
- Jumper Shunt (1)
- Байланыш зымы (~ 7)
- Лайнер жана Темир (1)
2 -кадам: ATTINY85ти даярдаңыз
ЭСКЕРТҮҮ: Crouton интеграциясына ээ болгуңуз келсе, ушул жерден китепкананы колдонуңуз жана "attiny_2ch_relay" орнотулган мисалын колдонуңуз.
Такта менеджеринен AttinyCore керек. "EEPROM Retained", "8mHZ Internal" жүктөгүчүн күйгүзүңүз (бардык конфигурация жогоруда көрсөтүлгөн).
Коддун кампасын бул жерден тапса болот.
Китепкананын ZIP кодун бул жерден тапса болот.
"ZIP китепканасын импорттоо" үчүн инструкциялар бул жерде.
Китепкана орнотулгандан кийин "attiny_2ch_relay" мисалын ача аласыз.
Камтылган программаны ATTINY85ке жүктөө үчүн, бул көрсөтмөлөрдөн кененирээк маалымат таба аласыз:
www.instructables.com/id/How-to-Program-A…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
www.instructables.com/id/Programming-the-…
Улантуудан мурун нан тактасы аркылуу тестирлөө эң жакшы.
Эгерде сизде ASSIMILATE SENSORS бар болсо, анда SENSOR/MCU Host комбинациясында кул дареги башкача экенин текшериңиз, башкача айтканда, MCE/түйүнүндө бир гана Релейлик актер болгондо, Эстафетанын бардык актерлору бир эле дарекке ээ боло алышат.
3 -кадам: Районду чогултуңуз
- Алдыңкы бөлүктө ATTINY85 (1), 3P 90deg эркек баштыктары (2) (3), 3P эркек баштар (4) (5) жана арткы жагында ширетилген компоненттерди салыңыз.
- Арткы жагында сары зымды САРЫ 1ден САРЫ2ге чейин издеп, ширетүү керек.
- Арткы жагында, ORANGE1ден ORANGE2ге чейин кызгылт сары түстөгү зымды издеңиз.
- Арткы жагында, BLUE1ден BLUE2ге чейин көк зымды караңыз жана solder.
- Арткы жагында GREEN1ден GREEN2ге чейинки жашыл зымды байкап көрүңүз.
- Арткы жагында BLACK1ден BLACK2ге чейин кара зымды караңыз жана ширетүү.
- Арткы жагында BLACK3төн BLACK4ке чейин кара зымды караңыз жана ширетүү.
- Арткы жагында кызыл зымды RED1ден RED2ге чейин жана ширетүүнү издеңиз.
- Арткы жагында RED3төн RED4кө чейин жылаңач зымды издеңиз.
- Арткы жагында, SILVER1ден SILVER2ге чейинки жылаңач зымды издеңиз.
- 5V же 3V3 линиясына секиргич кошуңуз.
Эстафета эми анын пинтери аркылуу ПХБга же зымдар аркылуу, пин келишиминде көрсөтүлгөн пункттарга туташтырылышы мүмкүн.
4 -кадам: Тестирлөө
Бул BRICKS бир катар чөйрөдө бир нече түйүндөрдө (MCUs - ESP8266 же ATTINY84) болушу күтүлүүдө. Бул тест бирдиги: I2C командаларын UNOдон ATTINYге жөнөтөт, ал релелерди ачат же жабат.
Биз мурун Arduino үчүн I2C SHIELD курганбыз.
Эгерде сиз анын ордуна нан жегиси келсе:
- БУУдагы 5.0Вды БРИККтеги VCCге туташтырыңыз.
- БУУдагы GNDди БРИККтеги GNDге туташтырыңыз.
- A5ти БУУда SCL менен BRICKке туташтырыңыз.
- БУУдагы А4ты БРИКК боюнча SDAга туташтырыңыз.
- SDAдан VCCге 4K7 тартма каршылыгын туташтырыңыз.
- SCLден VCCге 4K7 тартма каршылыгын туташтырыңыз.
Тестти иштетүү
- UNOну USB менен Dev PCке туташтырыңыз.
- Кодду БУУга жүктөңүз.
- Arduino консолун ачыңыз.
- 9600 байды тандаңыз (БУУну кайра жүктөңүз жана керек болсо консолун кайра ачыңыз).
- Кулдун дареги консолго басып чыгарылат.
-
Качан, жөнөтүү кутусуна 2 0: 1 (ошондуктан 15 2 0: 1) киргизиңиз, жана CH1 релеси күйөт.
- Качан, жөнөтүү кутусуна 2 0: 0 (ошондуктан 15 2 0: 0) киргизиңиз, жана CH1 релеси өчөт.
- Качан, жөнөтүү кутусуна 2 1: 1 (ошондуктан 15 2 1: 1) киргизиңиз, жана CH2 релеси күйөт.
- Качан, жөнөтүү кутусуна 2 1: 0 (ошондуктан 15 2 0: 0) киргизиңиз, жана CH2 релеси өчөт.
UNO кожоюнунун кулдары үчүн I2C BRICK adhoc буйруктары
#кошуу |
const байт _num_chars = 32; |
char _received_chars [_num_chars]; // алынган маалыматтарды сактоо үчүн массив |
логикалык _has_new_data = жалган; |
voidsetup () { |
Serial.begin (9600); |
Serial.println (); |
Serial.println ("IOT ACTOR/SENSOR EEPROM EDITOR СОНУН"); |
Serial.println ("консоль терезесинде жаңы сызыктын тандалышын камсыз кылуу"); |
Serial.println (); |
Serial.println ("ADRESS 1 METADATA RECEIPT N/A (M2M ҮЧҮН) ЫРАСТАНДЫ"); |
Serial.println ("АДРЕС 2 АКТОР КОМАНДАСЫ"); |
Serial.println (); |
Serial.println ("АВТОБУСТАГЫ АДРЕСТЕР:"); |
scan_i2c_addresses (); |
Serial.println (); |
Serial.println (""); |
} |
voidscan_i2c_addresses () { |
int device_count = 0; |
үчүн (байт дареги = 8; дарек <127; дарек ++) |
{ |
Wire.beginTrmission (дарек); |
const байт катасы = Wire.endTransmission (); |
эгер (ката == 0) |
{ |
Serial.println (дареги); |
} |
} |
} |
voidloop () { |
recv_with_end_marker (); |
send_to_i2c (); |
} |
voidrecv_with_end_marker () { |
статикалык байт ndx = 0; |
char end_marker = '\ n'; |
char rc; |
while (Serial.available ()> 0 && _has_new_data == false) { |
rc = Serial.read (); |
if (rc! = end_marker) { |
_received_chars [ndx] = rc; |
ndx ++; |
эгер (ndx> = _num_chars) { |
ndx = _num_chars - 1; |
} |
} |
башка { |
_received_chars [ndx] = '\ 0'; // сапты токтотуу |
ndx = 0; |
_has_new_data = чындык; |
} |
} |
} |
voidsend_to_i2c () { |
char param_buf [16]; |
const String алынды_сап = Стринг (_received_chars); |
эгер (_has_new_data == true) { |
int idx1 = алынды_string.indexOf (''); |
Стринг дареги = алынды_string.substring (0, idx1); |
int address_int = address.toInt (); |
эгер (address_int <8 || address_int> 127) { |
Serial.println ("ЖАРАКСЫЗ АДРЕС КИРИШИ:"); |
Serial.println (дареги); |
кайтуу; |
} |
int idx2 = алынды_string.indexOf ('', idx1+1); |
Стринг коду; |
эгер (idx2 == -1) { |
код = алынды_стринг.substring (idx1+1); |
} башка { |
код = алынды_стринг.substring (idx1+1, idx2+1); |
} |
int code_int = code.toInt (); |
if (code_int <0 || code_int> 5) { |
Serial.println ("ЖАРАКСЫЗ КОД КИРИШИ:"); |
Serial.println (код); |
кайтуу; |
} |
bool has_parameter = idx2> -1; |
String parameter; |
if (has_parameter) { |
параметр = алынды_сап.substring (idx2 + 1, idx2 + 17); // максимум 16 тамга |
if (parameter.length () <1) { |
Serial.println ("PARTAMETER MIN. LENGTH 1"); |
_has_new_data = жалган; |
кайтуу; |
} |
} башка { |
эгер (code_int> 1) { |
Serial.println ("ПАРАМЕТР КЕРЕК!"); |
_has_new_data = жалган; |
кайтуу; |
} |
} |
Serial.println (); |
Serial.print ("input orig ="); |
Serial.println (алынган_сап); |
Serial.print ("дарек ="); |
Serial.println (дареги); |
Serial.print ("код ="); |
Serial.println (код); |
Serial.print ("parameter ="); |
Serial.println (параметр); |
// I2C аркылуу жөнөтүү |
Wire.beginTransmission (address_int); |
Wire.write (code_int); |
if (has_parameter) { |
parameter.trim (); |
strcpy (param_buf, parameter.c_str ()); |
Wire.write (param_buf); |
} |
Wire.endTransmission (); |
Serial.println (); |
Serial.println ("I2C МЕНЕН ЖӨНӨТҮЛДҮ!"); |
Serial.println (); |
Serial.println (""); |
_has_new_data = жалган; |
} |
} |
GitHub тарабынан ❤ уюштурулган rawuno_i2c_command_input.ino караңыз
5 -кадам: Кийинки кадамдар
Кийинки ASSIMILATE ACTOR: 2CH RELAY бул кирпичти колдонот, буга чейин ATTINY85те орнотулган метадайындар аркылуу Crouton үчүн автоматтык конфигурациясы бар. Крутонго жөнөтүлгөн JSON пакети ICOS10 үчүн эң акыркы программалык камсыздоо аркылуу жөнөтүлөт. Эгерде сиз азырынча өтө эле көп болсоңуз, анда кадимки ESP8266 боюнча Proof-of-концепциясын жасай аласыз.
Сыноодо колдонулган UNO эскизи, эгерде сиз максаттуу I2C автобусунда кагылышуу болсо, ATTINY85те EEPROMга жаңы кул дарегин сактоо функциясына ээ. Бир нече схемалар кошулду, бирок сиз каалаган нерсеге жараша ылдыйкы схеманы өткөрүүнүн ар кандай жолдору бар, ошондуктан мен муну сизге калтырам:)
Сунушталууда:
Батарея менен иштөөчү LED Light (s) Solar Charging менен: 11 кадам (Сүрөттөр менен)
Батарея менен иштөөчү LED Жарыгы (лары) Күндүн кубаттуулугу менен: Аялым самын жасоону үйрөтөт, анын сабактарынын көбү кечинде болчу, кышында бул жерде саат 16:30 чамасында караңгы кирип калат, анын кээ бир окуучулары бизди табууда кыйналышкан. үй Бизде маңдайкы жазуу бар болчу, бирок көчө лигасы менен да
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: 7 кадам (Сүрөттөр менен)
Howto: Rpi-imager жана сүрөттөр менен Raspberry PI 4 Headless (VNC) орнотуу: Мен бул блогумда кызыктуу долбоорлордун топтомунда бул Rapsberry PI колдонууну пландап жатам. Аны текшерүүдөн тартынбаңыз. Мен Raspberry PIди колдонууну каалагам, бирок жаңы жерде клавиатура же чычкан жок болчу. Мен Raspberry орнотконума бир топ убакыт болду
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: 13 кадам (сүрөттөр менен)
Жөнөкөй кадамдар жана сүрөттөр менен компьютерди кантип ажыратуу керек: Бул компьютерди кантип ажыратуу керектиги жөнүндө көрсөтмө. Негизги компоненттердин көбү модулдук жана оңой эле алынып салынат. Ошентсе да, бул боюнча уюштуруу маанилүү. Бул сизди бөлүктөрдү жоготпоого, ошондой эле кайра чогултууга жардам берет
IOT123 - 5PIN ATTINY85 NRF24L01 КИРПИШ: 4 кадам
IOT123 - 5PIN ATTINY85 NRF24L01 BRICK: UPDATE: Бул орнотуу негизинен академиялык же программалык камсыздоону/электр менен камсыздоону текшерүү үчүн база болуп саналат. PB5 RESET катары өчүрүлгөндө да, ал analogRead аркылуу баалуулуктарды так окубайт: сенсор окуу үчүн негизги колдонуу. ATTINY84 орнотууларын карайбыз
NODEMCU 1.0 (ESP8266) КОНТРОЛЬДУК РЕЛИ BLYNK КОЛДОНУЛУШУ (ВЕБ ҮЧҮН): 5 кадам (Сүрөттөр менен)
NODEMCU 1.0 (ESP8266) БАШКАРЫЛГАН РЕЛИ BLYNK КОЛДОНУЛУШУ (ВЕБ ЖАЙЫНДА): Салам балдар менин атым П Стивен Лайт Джойти жана бул менин биринчи инструмент NETEMETSETETSETETETETETETETETETSETETSETETSETE ESP8 MY BAD ENGLISH