Sisukord:
- 1. samm: ATTINY 85 programmeerimine
- 2. samm: programmi üleslaadimine ATTINY85 -sse
- Samm: programmi käivitamine
- 4. samm: järeldus
Video: SMS -i tekstitemperatuuri hoiatused ATTINY85 ja A1 GSM -ist: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
See juhend näitab teile, kuidas lihtsast temperatuuriandurist temperatuuri salvestada ja SMS -i teel mobiiltelefonile saata. Asjade lihtsustamiseks saadan temperatuuri kindla intervalliga, kuid näitan ka seda, kuidas seda saab teha ainult erandite / hoiatuste alusel. Riistvara on väga odav, alla 10 dollari, kuigi tuleb arvestada korduvate SMS -kuludega.
Raske tõstmise võtab ette lihtne, kuid võimas ATTINY 85, mis salvestab temperatuuri andmed ja käivitab seejärel SMS-i, mis saadetakse AI-Thinker A6 GSM-mooduli kaudu.
Lühidalt, kirjutate ATTINY85 koodi Arduino IDE keskkonda ja põletate selle ATTINY85 -le USBASP jada-/USB -muunduri abil. Olen kahes eelmises õpetuses käsitlenud AI-Thinker A6 GSM mooduli ja Arduino IDE seadistamist. Erinev on siin ATTINY ja A6 GSM mooduli liidestamine jadaühenduse abil.
www.instructables.com/id/How-to-Send-an-SM…https://www.instructables.com/id/15-Dollar-Attiny8…
Pärast programmeerimist loeb ATTINY temperatuuri andmed Dallas 18B20- termomeetriandurilt ja saadab seejärel andmed ja käsud jadaühenduse kaudu A6 GSM -moodulile, mis saadab need seejärel SMS -tekstina teie mobiiltelefonile / nutitelefonile.
Siin on vaja:
1. USBASP jada-/USB -muundur.
2. ATTINY 85.
3. AI-Thinker A6 GSM mooduli versioon 6 (sim-iga, millel on SMS-i krediit).
4. 3.3V leivaplaadi toiteallikas ATTINY85 jaoks.
5. 3.3.v USB-toiteallikas AI-Thinker A6 GSM-moodulile.
6. Dallas 18B20 temperatuuriandur..
7. 4,7 k takisti 18B20 andurile.
8. Leivalaud ja kaablid.
9. Arduino IDE (selleks kasutasin versiooni 1.8.5.).
10. Windows X sülearvuti (ma kasutasin versiooni 10), millel on tasuta USB -port.
1. samm: ATTINY 85 programmeerimine
Siin on Arduino IDE -kood (peate muutma telefoninumbrit, millele soovite SMS -i saata.)
#kaasama #kaasama #kaasama
// *** // *** Määrake RX- ja TX -tihvtid. Valige kasutamata kaks // *** tihvti. Kui plaanite kasutada I2C, proovige vältida D0 (tihvt 5) // *** ja D2 (tihvt 7). // *** #define RX 3 // *** D3, Pin 2 #define TX 4 // *** D4, Pin 3
// *** // *** Tarkvarapõhise jadapordi määratlemine. // *** nime Serial kasutamine, et koodi saaks kasutada ka teistel // *** platvormidel, mis toetavad riistvarapõhist seeriat. // *** kiipidel, mis toetavad riistvara jadasid, lihtsalt // *** kommenteerige seda rida. // ***
SoftwareSerial mySerial = SoftwareSerial (RX, TX);
// *** // *** Pinout 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 sagedus, mis on seatud sisemisele 8 MHz
// *** // *** Tihvt, millele on ühendatud OneWire'i andmejuhe // ***. // *** #defineeri ONE_WIRE_BUS 1
// *** // *** Seadistage oneWire eksemplar suhtlemiseks mis tahes OneWire // *** seadmetega (mitte ainult Maximi/Dallase temperatuuri IC -dega). // *** OneWire _oneWire = OneWire (ONE_WIRE_BUS);
// *** // *** Edastage meie oneWire'i viide Dallase temperatuurile. // *** DallasTemperature _sensors = DallasTemperature (& _ oneWire);
void setup () {// *** // *** Initsialiseeri jadaport // *** mySerial.begin (115200); viivitus (60000);
// *** Käivitage raamatukogu. _ensorid.begin (); }
void loop () {
// *** // *** Hankige praegune temperatuur ja näidake seda. // *** _sensors.requestTemperatures (); viivitus (2000); topelt tempC = _ensorid.getTempCByIndex (0); topelt tempF = _ensorid.getTempFByIndex (0); // kontrollige vigu - mõnikord alguses, temp näidatakse kui 85C
if (tempC 14 && tempC 18 && tempC = 23 && error_temperature) {SMS_temp (tempC, "Liiga soe");}}
tühine SMS_temp (topeltmutemp, String myalert) {mySerial.println ("AT+CMGF = 1"); // SMS -režiimi viivitus (1000); mySerial.println ("AT+CMGF = 1"); // SMS -režiimi viivitus (1000); //mySerial.println ("AT+CMGS=\"+YOUR NUMBER / ""); // määrake telefoninumbri (jutumärkidesse mähitud) viivitus (1000); mySerial.print (mytemp, 1); mySerial.print (myalert); viivitus (1000); mySerial.write (0x1A); // saadab ctrl+z sõnumi lõppu (1000); mySerial.write (0x0D); // Vankri tagastamine kuuekuulises viivituses (1000); mySerial.write (0x0A); viivitus (1000000); // 17 minutit - kohandage vastavalt oma rakendusele}
Avage Arduino IDE keskkond - olen oma eelmises juhendis, millele ma varem vihjasin, üksikasjalikult kirjeldanud, kuidas teid selles osas leida.
Te vajate järgmisi raamatukogusid
SoftwareSerial.h
OneWire.h
DallasTemperatuur.h
Seejärel konfigureerige ATTINY85 RX- ja TX -tihvtid, mida peate ühendama A1 Thinkeriga. ATTINY 85 -l on 8 tihvti, mõlemal küljel neli ja see on joondatud, kasutades pinnal asuvat punkti, mis on võrdlusalus. Nööpnõel 1 või nullimisnupp on selle punkti kõrval.
(sel juhul valisin tihvtid 2 ja 3 - need asuvad samal pool RESET -tihvtiga, mis asub ATTINY 85 pinnal oleva punkti kõrval. Tihvt 2 on järgmine tihvt RESET -tihvti kõrval, tihvt 3 aga tihvti vahel 2 ja GROUND)
Järgmisena peate konfigureerima temperatuurianduri -
#define ONE_WIRE_BUS 1
OneWire _oneWire = OneWire (ONE_WIRE_BUS);
DallasTemperature _sensors = DallasTemperature (& _ oneWire);
Järgmisena seadistage tarkvara jadaport
mySerial.begin (115200);
viivitus (60000);
ja seejärel helistage anduritele _sensors.begin ();
Järgmisena on tsükkel, mis küsitleb eelnevalt kindlaksmääratud ajal ringi, salvestab temperatuuri ja saadab sõnumi / hoiatuse sõltuvalt väärtusest. See kasutab funktsiooni SMS_temp, kus saate määrata ka tsükli ajastuse
void loop () {sensors.requestTemperatures (); viivitus (2000);
topelt tempC = _ensorid.getTempCByIndex (0);
topelt tempF = _ensorid.getTempFByIndex (0);
if (tempC <= 14) {SMS_temp (tempC, "OHTLIK külm");}
if (tempC> 14 && tempC <= 18) {SMS_temp (tempC, "Üsna külm");}
if (tempC> 18 && tempC <23) {SMS_temp (tempC, "Temp Just right");}
if (tempC> = 23 && error_temperature) {SMS_temp (tempC, "Liiga soe");}
}
==============
Seejärel seadistage Arduino IDE, et valmistuda ATTINY85 -sse üleslaadimiseks.
Märkida tuleb mitmeid asju
1- Kui teil pole ATTINY plaatide perekonda, lisage järgmine URL aadressile https://raw.githubusercontent.com/damellis/attiny/… failis/eelistustes/täiendavate tahvlite halduri URL-is, Järgmisena klõpsake Arduio IDE -s nuppu Tools/Board/Board Manager ja otsige üles ATTINY ning installige uus tahvel. Muutke protsessor Attiny85 -ks.
2. samm: programmi üleslaadimine ATTINY85 -sse
Vaadake ka minu eelmist juhendit selle kohta-https://www.instructables.com/id/15-Dollar-Attiny8…
ATTINY85 -l on kaks režiimi, vastavalt programmeerimis- ja töörežiim.1. PROGRAMMEERIMISREŽIIM Esmalt tuvastage ATTINY85 tihvtid. Selleks leidke kiibi pinnalt väike sälk, mis asub RST/RESET tihvti kõrval. Kasutades seda võrdluspunktina, saate tuvastada ülejäänud tihvtid. Kogu see teave on esitatud A85 andmelehel -https://www.microchip.com/downloads/en/DeviceDoc/At…
USBasp ja ATTINY85 tuleks ühendada, nagu ülaltoodud pildil näidatud.
Seejärel seadke Arduino IDE -s programmeerijaks USBasp ja sageduseks sisemine 8Mhz.
Ühendage USBasp sülearvuti USB -porti (Windows 10 -s, kui teil pole USBasp -draiverit, kasutage Zadigi veebisaidi https://www.fischl.de/usbasp/ kohaselt)
Järgmisena, kui USBasp on ühendatud, valige Arduino IDE Sketch/upload ja loodetavasti peaksite nägema üleslaadimise edenemist, mis on näidatud Arduino IDE punaste tähtedega ja lõpeb avrdude tehtud. Aitäh.
Selles etapis esinevad vead on tavaliselt seotud lahtiste kaablite või vale draiveriga.
Samm: programmi käivitamine
Esiteks midagi Dallase 18b20 termomeetri anduri kohta. Sellel on 3 tihvti, maandus (G), andmed (D) ja VCC, nagu on näidatud ülaltoodud pildil. Töötamiseks on vaja ühendada D ja VCC 4,7 k takistiga. G ja VCC on ühendatud vastavate poolustega, samas kui D on ühendatud ATTINY 85 tihvtiga - [6] PB1, nagu koodis on konfigureeritud.
Seejärel ühendage ATTINY A6 GSM -iga järgmiselt (ja näidatud ülal)
ATTINY TX A6 UART_RXd ATTINY RX A6 UART_TXd
ATTINY GND A6 GND
ja A6 -l endal, A6 PWR A6 VCC 5.0A6 RST A6 GND (Ärge ühendage veel maaga !!!!!)
Lülitage nüüd mõlemad seadmed sisse ja mõne sekundi pärast puudutage ajutiselt A6 maandusnõela, kui kaabel on ühendatud A6 RST tihvtiga. A6 lülitub välja ja sisse ning loodetavasti peaksite varsti oma telefoni temperatuuriandmeid saama.
4. samm: järeldus
See juhendamine võib tunduda üsna lihtne, kuid idee on illustreerida seda, mida on võimalik saavutada odavate komponentidega. Ilmselgelt, kui teil on juurdepääs WiFi-le või BLE-jaoturile, on sobivamaid lahendusi.
Ma ei käsitlenud muid funktsioone, nagu SMS -i saatmine telefoni, et alustada temperatuuri salvestamist / edastamist jne.
Soovitan:
Suitsu tuvastamise korral SMS -ide saatmine (Arduino+GSM SIM900A: 5 sammu
Suitsu tuvastamise korral SMS -ide saatmine (Arduino+GSM SIM900A: Tere kõigile! Esimesel juhendamisel teen gaasialarmi, mis saadab reostuse tuvastamisel kasutajale sõnumi. See on lihtne prototüüp, mis kasutab Arduino, GSM -moodulit ja elektrokeemiat suitsuandurit. Tulevikus saab seda laiendada
SMS -ide saatmine Arduinoga -- TC35 GSM -moodul: 5 sammu
SMS -ide saatmine Arduinoga || TC35 GSM -moodul: selles väikeses projektis näitan teile, kuidas TC35 GSM -moodulit õigesti kasutada ja kuidas seda koos Arduino Unoga SMS -i saatmiseks kasutada
Kuidas kasutada SIM800L -i SMS -ide saatmiseks ja SMS -i edastamiseks: 3 sammu
Kuidas kasutada SIM800L -i SMS -ide saatmiseks ja SMS -i edastamiseks: Kirjeldus: See õpetus näitab, kuidas kasutada SIM800L -i SMS -ide saatmiseks ja SMS -ide vastuvõtmiseks relee juhtimiseks. SIM800L moodul on väikese suurusega ja seda saab kasutada Arduinoga liidestamiseks SMS -ide saatmiseks, SMS -ide vastuvõtmiseks, helistamiseks, kõne vastuvõtmiseks ja muuks. Selles õpetuses
Taimede jälgimine ja hoiatused ESP8266 ja AskSensors IoT Cloud abil: 6 sammu
Taimede seire ja hoiatused ESP8266 ja AskSensors IoT Cloud abil: Selle projekti eesmärk on luua nutikas taimeseiresüsteem, kasutades ESP8266 ja AskSensors IoT platvormi. Seda süsteemi saab kasutada mulla niiskustaseme jälgimiseks, et pakkuda niisutusotsuste objektiivseid kriteeriume. mis aitavad tagada irrig
Lainelamp - ilm ja hoiatused: 7 sammu (koos piltidega)
Lainelamp - ilm ja hoiatused: Asjakohas Universe sirvides nägin seda täiesti hämmastavat lainelampi ja ma pidin selle ehitama. https://www.thingiverse.com/thing:774456Lamp on väga hästi disainitud ja prindib ilma igasuguste tugeeta (tuleb trükkida küljele)