Мазмұны:
- 1 -қадам: ATTINY 85 бағдарламалау
- 2 -қадам: Бағдарламаны ATTINY85 -ке жүктеу
- 3 -қадам: Бағдарламаны іске қосыңыз
- 4 -қадам: Қорытынды
Бейне: ATTINY85 және A1 GSM -ден SMS мәтіндік хабарландырулары: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:25
Бұл нұсқаулық қарапайым температура сенсорынан температураны алуды және оны смс -мәтінмен ұялы телефонға жіберуді көрсетеді. Жеңілдету үшін мен температураны белгіленген аралықта жіберемін, бірақ мен мұны тек ерекше жағдайлар / ескертулер арқылы ғана жасауға болатынын көрсетемін. Аппараттық құралдың бағасы өте төмен, 10 доллардан аз, бірақ смс -хабарламалардың қайталанатын шығындары бар.
Ауыр көтеруді қарапайым, бірақ қуатты ATTINY 85 көтереді, ол температура туралы мәліметтерді жинайды, содан кейін AI-Thinker A6 GSM модулі арқылы SMS жібереді.
Қысқаша айтқанда, сіз Arduino IDE ортасында ATTINY85 кодын жазасыз және оны USBASP сериялық/USB түрлендіргіші арқылы ATTINY85 -те жазасыз. Мен AI-Thinker A6 GSM модулін және Arduino IDE-ді алдыңғы екі оқулықта орнатуды қарастырдым. Бұл жерде ATTINY мен A6 GSM модулінің сериялық байланыс арқылы интерфейске түсуі ерекшеленеді.
www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…
Бағдарламалағаннан кейін ATTINY термометр сенсорынан - Dallas 18B20 - температура мәліметтерін оқиды, содан кейін деректер мен командаларды A6 GSM модуліне сериялық қосылу арқылы жібереді, содан кейін оны ұялы телефонға / смартфонға SMS мәтіні ретінде жібереді.
Міне сізге қажет:
1. USBASP сериялық/USB түрлендіргіші.
2. ATTINY 85.
3. AI-Thinker A6 GSM модулінің 6-нұсқасы (SMS несиелері бар симмен).
4. ATTINY85 үшін 3.3В нан тақтасының қуат көзі.
5. 3.3.v AI-Thinker A6 GSM модулі үшін USB қуат көзі.
6. Dallas 18B20 температура сенсоры.
7. 18В20 датчигі үшін 4.7к резистор.
8. Нан тақтасы мен кабельдер.
9. Arduino IDE (мен бұл үшін 1.8.5 нұсқасын қолдандым).
10. Ақысыз USB порты бар Windows X ноутбукі (мен 10 нұсқасын қолдандым).
1 -қадам: ATTINY 85 бағдарламалау
Міне Arduino IDE коды (SMS жіберілетін телефон нөмірін өзгерту қажет болады.)
#қосу #қосу #қосу
// *** // *** RX және TX түйреуіштерін анықтаңыз. Пайдаланылмайтын кез келген екі // *** түйреуішті таңдаңыз. Егер сіз I2C пайдалануды жоспарласаңыз, D0 (5 -ші түйін) // *** және D2 (7 -штыр) болдырмауға тырысыңыз. // *** #RX 3 анықтаңыз // *** D3, 2 түйреу #TX 4 анықтаңыз // *** D4, 3 түйреуіш
// *** // *** Бағдарламалық жасақтамаға негізделген сериялық портты анықтаңыз. Кодты аппараттық құралдарға негізделген серияны қолдайтын басқа // *** платформаларында қолдануға болатындай // сериялық // *** атауын пайдалану. Аппараттық серияны қолдайтын // *** чиптерінде бұл жолға // *** түсініктеме беріңіз. // ***
SoftwareSerial mySerial = SoftwareSerial (RX, TX);
// *** // *** ATtiny25/45/85: // *** PDIP/SOIC/TSSOP // *** ================= =================================================== ========================== // *** // *** (PCINT5/RESET/ADC0/dW) PB5 [1]*[8] VCC // *** (PCINT3/XTAL1/CLKI/OC1B/ADC3) PB3 [2] [7] PB2 (SCK/USCK/SCL/ADC1/T0/INT0/PCINT2) // *** (PCINT4/ XTAL2/CLKO/OC1B/ADC2) PB4 [3] [6] PB1 (MISO/DO/AIN1/OC0B/OC1A/PCINT1) // *** GND [4] [5] PB0 (MOSI/DI/SDA/AIN0) /OC0A/OC1A/AREF/PCINT0) // *** // ATTINY 85 жиілігі ішкі 8 МГц -те орнатылған
// *** // *** OneWire деректері // *** сымы қосылған түйреуіш. // *** ONE_WIRE_BUS -ты анықтаңыз 1
// *** // *** OneWire // *** кез келген құрылғыларымен байланысу үшін OneWire данасын орнатыңыз (тек Максим/Даллас температурасы IC -ін ғана емес). // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);
// *** // *** Біздің OneWire сілтемесін Даллас температурасына жіберіңіз. // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);
void setup () {// *** // *** Сериялық портты инициализациялау // *** mySerial.begin (115200); кешіктіру (60000);
// *** Кітапхананы іске қосыңыз. _sensors.begin (); }
void loop () {
// *** // *** Ағымдағы температураны алыңыз және оны көрсетіңіз. // *** _sensors.requestTemperatures (); кешіктіру (2000); қос tempC = _sensors.getTempCByIndex (0); қос tempF = _sensors.getTempFByIndex (0); // қателерді тексеру - кейде басында, температура 85C ретінде көрсетіледі
if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, «Тым жылы»);}}
жарамсыз SMS_temp (double mytemp, String myalert) {mySerial.println («AT+CMGF = 1»); // SMS режимінің кідірісін орнату (1000); mySerial.println («AT+CMGF = 1»); // SMS режимінің кідірісін орнату (1000); //mySerial.println("AT+CMGS=\"+СЕНІҢ НОМЕРІҢ «\» «); // телефон нөмірін орнатыңыз (қос тырнақшамен оралған) кешіктіру (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); кешіктіру (1000); mySerial.write (0x1A); // ctrl+z хабардың кешігуінің соңын жібереді (1000); mySerial.write (0x0D); // Алтылықтың кідірісіндегі каретканың оралуы (1000); mySerial.write (0x0A); кешіктіру (1000000); // 17 минут - өз қосымшаңызға сәйкес реттеңіз}
Arduino IDE ортасын ашыңыз - мен бұны қалай табуға болатынын мен бұрын айтқан нұсқаулықта егжей -тегжейлі сипаттадым.
Сізге келесі кітапханалар қажет
SoftwareSerial.h
OneWire.h
Даллас температурасы.h
Әрі қарай, ATTINY85 құрылғысында A1 ойлағышпен қосылу қажет RX және TX түйреуіштерін конфигурациялаңыз. ATTINY 85 -де 8 түйреуіш бар, олардың әрқайсысы төртеу және бетіндегі нүкте арқылы сілтеме бойынша тураланған. 1 -түйреуіш немесе RESET түйрегіші нүктенің жанында.
(бұл жағдайда мен Pin2 мен 3 -ті таңдадым - олар ATTINY 85 бетіндегі нүктенің қасында орналасқан RESET түйреуішімен бір жағында. 2 -ші түйін - RESET түйреуішінен кейінгі келесі түйреуіш, ал 3 -түйреуіш түйреуіш арасында 2 және GROUND)
Әрі қарай, температура сенсорын конфигурациялау керек -
#ONE_WIRE_BUS анықтаңыз
OneWire _oneWire = OneWire (ONE_WIRE_BUS);
DallasTemperature _sensors = DallasTemperature (& _ oneWire);
Содан кейін бағдарламалық жасақтаманың портын орнатыңыз
mySerial.begin (115200);
кешіктіру (60000);
содан кейін сенсорларды _sensors.begin () көмегімен шақырыңыз;
Әрі қарай, алдын ала белгіленген уақытта сауалнама жүргізетін, температураны жазатын және мәнге байланысты хабарлама / ескерту жіберетін цикл бар. Ол SMS_temp функциясын қолданады, онда сіз циклдің уақытын орнатасыз
void loop () {sensors.requestTemperatures (); кешіктіру (2000);
қос tempC = _sensors.getTempCByIndex (0);
қос tempF = _sensors.getTempFByIndex (0);
егер (tempC <= 14) {SMS_temp (tempC, «ҚАТЕРЛІ суық»);}
if (tempC> 14 && tempC <= 18) {SMS_temp (tempC, «Өте суық»);}
if (tempC> 18 && tempC <23) {SMS_temp (tempC, «Temp Just right»);}
if (tempC> = 23 && error_temperature) {SMS_temp (tempC, «Тым жылы»);}
}
==============
Содан кейін ATTINY85 жүктеуге дайын болу үшін Arduino IDE орнатыңыз.
Бірнеше нәрсеге назар аудару керек
1- Егер сізде ATTINY тақталар отбасы болмаса, мына URL мекенжайын қосыңыз: File/Preferences/Қосымша тақталар менеджерінің URL мекенжайына
Содан кейін Arduio IDE ішінде Tools/Board/Board Manager түймесін басып, ATTINY іздеп, жаңа тақтаны орнатыңыз. Процессорды Attiny85 етіп өзгертіңіз.
2 -қадам: Бағдарламаны ATTINY85 -ке жүктеу
Сондай-ақ, бұл туралы алдыңғы нұсқаулықты қараңыз-https://www.instructables.com/id/15-Dollar-Attiny8…
ATTINY85 екі режимі бар, сәйкесінше бағдарламалау және операциялар режимі.1. БАҒДАРЛАМА РЕЖИМІ Алдымен ATTINY85 құрылғысындағы түйреуіштерді анықтаңыз. Ол үшін чиптің бетіндегі RST/RESET түйреуішінің жанындағы кішкене ойықты табыңыз. Мұны сілтеме нүктесі ретінде қолдана отырып, қалған түйреуіштерді анықтауға болады. Бұл ақпараттың барлығы A85 мәліметтер парағында берілген -https://www.microchip.com/downloads/kz/DeviceDoc/At…
USBasp пен ATTINY85 жоғарыдағы суретте көрсетілгендей қосылуы керек.
Әрі қарай, Arduino IDE -де бағдарламашыны USBasp -қа, ал жиілікті ішкі 8 МГц -ке орнатыңыз.
USBasp -ты ноутбуктің USB портына қосыңыз (Windows 10 -де, егер USBasp драйвері болмаса, https://www.fischl.de/usbasp/ веб -сайтына сәйкес Zadig пайдаланыңыз)
Әрі қарай, USBasp қосылған кезде Arduino IDE Sketch/жүктеуден таңдаңыз және жүктеу барысын Arduino IDE қызыл әріптерімен көрсетілген және avrdude аяқталғанмен көресіз деп үміттенеміз. Рақмет сізге.
Бұл кезеңдегі қателер әдетте кабельдің бос болуына немесе дұрыс емес драйверге байланысты болады.
3 -қадам: Бағдарламаны іске қосыңыз
Біріншіден, Dallas 18b20 термометр сенсоры туралы. Оның 3 түйреуіші бар, Ground (G), data (D) және VCC жоғарыдағы суретте көрсетілгендей. Жұмыс істеу үшін D және VCC 4.7k резистормен байланыстыруды қажет етеді. G және VCC тиісті полюстерге қосылады, ал D - ATTINY 85, pin - [6] PB1, кодта конфигурацияланған.
Содан кейін ATTINY -ді A6 GSM -ге келесідей қосыңыз (және жоғарыда көрсетілген)
ATTINY TX A6 UART_RXdATTINY RX A6 UART_TXd
ATTINY GND A6 GND
және A6 -ның өзінде, A6 PWR A6 VCC 5.0A6 RST A6 GND (Жерге әлі қосылмаңыз !!!!!)
Енді екі құрылғыны да қуаттандырыңыз және бірнеше секундтан кейін A6 RST түйреуішіне жалғанған кабельмен A6 жерге тұйықтауышқа уақытша тиіңіз. A6 өшеді және қосылады, және сіз жақын арада телефоныңыздағы температура туралы ақпаратты аласыз деп үміттенеміз.
4 -қадам: Қорытынды
Бұл нұсқаулық қарапайым болып көрінуі мүмкін, бірақ идея арзан компоненттермен қол жеткізуге болатынын көрсету. Әлбетте, егер сізде Wi-Fi немесе BLE хабына қол жетімді болса, онда неғұрлым қолайлы шешімдер бар.
Мен басқа функцияларды қамтымадым, мысалы, температураны жазуды / беруді бастау үшін телефонға SMS жіберу және т.
Ұсынылған:
Мәтіндік хабарландыру арқылы ағып кетудің детекторы: 7 қадам
Мәтіндік хабарландыру арқылы ағып кетуді анықтау құралы: Бұл нұсқаулық мәтіндік хабарландырулар жіберетін ағып кетудің детекторын қалай жасау керектігін көрсетеді. Ол жарылған құбырдан немесе резервтік ағызудан су сезілген жағдайда ескертулер жібереді. Нұсқаулық Python 3, Raspberry Pi, Secure Shell -ке қызығушылық танытқандарға арналған
Баламды құтқарыңыз: егер сіз баланы көлікте ұмытып қалсаңыз, мәтіндік хабарлама жіберетін ақылды орындық: 8 қадам
Менің баламды құтқарыңыз: мәтіндік хабарлар жіберетін ақылды орындық, егер сіз баланы көлікте ұмытып қалсаңыз: ол көліктерге орнатылған, және балалар орындықтарына орнатылған детектордың арқасында ол бізге SMS немесе телефон арқылы қоңырау шалады. баланы бізбен бірге алып кетпей
Arduino ESP жобасынан SMS мәтіндік хабарларды қалай жіберуге болады: 6 қадам
Arduino ESP жобасынан SMS мәтіндік хабарларды қалай жіберуге болады: Бұл нұсқаулық ESP8266 құрылғысы мен WiFi байланысын қолдана отырып, arduino жобасынан SMS мәтіндік хабарларды қалай жіберу керектігін көрсетеді. Неліктен SMS қолдану керек?* SMS хабарламалары қолданба хабарламасына қарағанда әлдеқайда жылдам және сенімді. хабарламалар. * SMS хабарламалар сонымен қатар
SMS және бақылау релесін SMS арқылы жіберу үшін SIM800L қалай пайдалануға болады: 3 қадам
SMS пен бақылау релесін SMS арқылы жіберу үшін SIM800L қалай қолдануға болады: Сипаттама: Бұл оқулықта реле басқару үшін SMS жіберу және SMS алу үшін SIM800L пайдалану әдісі көрсетілген. SIM800L модулі шағын өлшемді және Arduino -мен смс жіберу, смс алу, қоңырау шалу, қоңырау шалу және т.б. үшін интерфейс үшін пайдаланылуы мүмкін. Бұл оқулықта
Blynk хабарландырулары бар қозғалыс детекторы (WeMos D1 Mini + HC-SR04): 4 қадам (суреттермен)
Blynk хабарландырулары бар қозғалыс детекторы (WeMos D1 Mini + HC-SR04): сымсыз конкурста осы жобаға дауыс беріңіз. Рақмет! Жаңарту №2 - Бірнеше түзетулер (2.2 нұсқасы), сенсорды (диапазон мен атауды) дәл анықтамада орнатуға болады. Сондай -ақ, кейде сенсор дұрыс емес мәндерді оқыды және хабарландыру жіберді