Мазмуну:
Video: Arduino чаң бөлүкчөлөрүн көзөмөлдөө станциясы: 4 кадам (сүрөттөр менен)
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Сиз үйүңүздөгү чаңдын булганышын көзөмөлдөп турган нерселердин DIY интернеттерин 50 доллардан аз кура аласыз жана чаңдын деңгээли өтө жогору болгондо кабардар болуп турасыз, ошондуктан бөлмөнү желдете аласыз, же болбосо аны сыртка коюп, кабар алсаңыз болот эгер сиз өтө булганган аймакта жашасаңыз, сыртка чыгуу коопсуз.
Мен муну мектептин проектиси катары жасадым, ошондуктан MQTT билдирүүлөрүн кабыл ала турган кызматты табууга жана эскертмелер же электрондук каттар сыяктуу сизге жөнөтүүгө жетиштүү убактым жок болчу.
Ошондой эле, сенсорду дайыма күйгүзүү күйөрмандын иштөө мөөнөтүн кыскартат.
1 -кадам: Тетиктер керек
Сизге эмне керек
- Arduino Uno
- Arduino Ethernet калканы
- Бөлүк зат лазердик сенсор
- DHT11 температура жана нымдуулук сенсору (милдеттүү эмес)
- Breadboard
- Өтмө кабелдер
2 -кадам: Бөлүктөрдү чогултуу
Биринчиден, Ethernet калканчын Arduino'го туташтыруу керек
PM сенсорунун бир нече зымдары бар, бирок бизге VCC, GND, TX, RX керек.
VCC жана GND'ди тиешелүүлүгүнө жараша нан тактасына + жана - туташтырыңыз.
Arduino аппараттык RX жана TX казыктары бар, бирок биз RX жана TX казыктарынын программалык эмуляциясын тиешелүү түрдө 2 жана 3 -казыктарда колдонобуз. Сенсордун RX'ин Arduino TX жана сенсордун TX Arduino RXине туташтырыңыз.
Эгерде сиз температура сенсорун колдоно турган болсоңуз, VCC жана GND линияларын Breadboardдогу + жана - линиясына 7 -пинге туташтырыңыз.
3 -кадам: Кодекс
Сиз MQTT брокерин малина пи же дайыма үйүңүздө болгон компьютерге орното аласыз же Cloud MQTT сыяктуу булут MQTT кызматын колдоно аласыз. Андан кийин, сиз IFTT вебхукуна HTTP катары жөнөтүүчү сценарий жаза аласыз, анткени алар MQTT вебхуктарын азырынча колдобойт жана үйүңүздөгү чаңдын деңгээли өтө жогору болгондо эскертмелерди орнотот.
Ардуино аба бекети
#кошуу |
#кошуу |
#кошуу |
#кошуу |
#кошуу |
#кошуу |
#кошуу |
#кошуу |
#defineDHT11_PIN7 |
#defineRX_PIN2 |
#defineTX_PIN3 |
IPAddress ip (169, 169, 100, 98); |
байт мак = { |
0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 |
}; |
constchar *mqtt_server = "m23.cloudmqtt.com"; |
constint mqtt_port = 11895; |
constchar *mqtt_user = "jetjewk"; |
constchar *mqtt_pass = "QB2p9PiMV6pn"; |
constchar *mqtt_client_name = "arduinoClient1"; // Кардар байланыштары бир эле аталышка ээ боло албайт |
EthernetClient ethClient; |
PubSubClient кардары (ethClient); |
SoftwareSerial pmSerial (RX_PIN, TX_PIN); |
DHT DHT; |
int pm1; |
int pm2_5; |
int pm10; |
unsignedlong id; |
// Файл myFile; |
String s; |
StaticJsonBuffer <200> jsonBuffer; |
JsonObject & root = jsonBuffer.createObject (); |
voidsetup () { |
Serial.begin (57600); |
pmSerial.begin (9600); |
id = 0; |
pm1 = 0; |
pm2_5 = 0; |
pm10 = 0; |
эгер (Ethernet.begin (mac) == 0) |
{ |
Serial.println ("Ethernetти DHCP аркылуу конфигурациялоо ишке ашкан жок"); |
// туруктуу IP адреси менен аракет кылуу |
Ethernet.begin (mac, ip); |
} |
client.setServer (mqtt_server, mqtt_port); |
client.setCallback (кайра чалуу); |
кечигүү (2000); |
Serial.println (Ethernet.localIP ()); |
client.connect ("arduinoClient", mqtt_user, mqtt_pass); |
Serial.print ("rc ="); |
Serial.print (client.state ()); |
Serial.print ("\ n"); |
} |
voidloop () { |
intindex = 0; |
char наркы; |
char previousValue; |
if (! client.connected ()) |
{ |
эгерде (client.connect ("arduinoClient", mqtt_user, mqtt_pass)) { |
Serial.println ("туташкан"); |
} |
} |
while (pmSerial.available ()) { |
мааниси = pmSerial.read (); |
if ((index == 0 && value! = 0x42) || (index == 1 && value! = 0x4d)) { |
Serial.println ("Маалыматтын башы табылбай жатат."); |
кайтуу; |
} |
if (index == 4 || index == 6 || index == 8 || index == 10 || index == 12 || index == 14) { |
previousValue = балл; |
} |
elseif (индекс == 5) { |
pm1 = 256 * previousValue + мааниси; |
тамыр ["pm1"] = абс (pm1); |
} |
elseif (индекс == 7) { |
pm2_5 = 256 * previousValue + value; |
тамыр ["pm2_5"] = абс (pm2_5); |
} |
elseif (индекс == 9) { |
pm10 = 256 * previousValue + мааниси; |
тамыр ["pm10"] = абс (pm10); |
} |
elseif (индекс> 15) { |
тыныгуу; |
} |
индекс ++; |
} |
while (pmSerial.available ()) pmSerial.read (); |
int chk = DHT.read11 (DHT11_PIN); |
эгерде (DHT.temperature == -999 || DHT. humidity == -999) { |
тамыр ["температура"] = "Жок"; |
тамыр ["нымдуулук"] = "Жок"; |
} башка { |
тамыр ["температура"] = DHT.temperature; |
тамыр ["нымдуулук"] = DHT. нымдуулук; |
} |
sendResults (); |
id ++; |
кечигүү (5000); |
} |
voidsendResults () { |
// MQTTге жарыялоо |
char jsonChar [100]; |
root.printTo (jsonChar); |
Serial.println (client.publish ("arduino", jsonChar)); |
// серияга мүчүлүштүктөрдү оңдоо |
root.printTo (Сериялык); |
Serial.print ('\ n'); |
} |
// Жазылган тема боюнча келген билдирүүлөрдү иштетет |
voidcallback (char* темасы, байт* пайдалуу жүк, белгисиз узундугу) { |
} |
GitHub тарабынан ❤ уюштурулган rawair_quality.ino караңыз
4 -кадам: Кутуну чогултуу
Мен жөн эле жаткан кутучамды колдондум жана сенсордун абасын алуу үчүн тешик жасадым жана кабелдердин чыгып кетиши үчүн тешикти кесип алдым (бул өтө чоң болсо да).
Мен сенсорду кутуга бекитүү үчүн клей төшөмөлөрдү колдондум, сенсордун кирүү тешигин кутунун бургуланган тешиги менен тегиздедим.
Акырында, ethernet жана электр кабелдерин туташтырдым.
Сунушталууда:
Portable Black+Decker Чаң соргучту оңдоо - Aspirador De Mano Dustbuster Litio 16.2Wh Con Acción Ciclónica. Modelo DVJ315J: 5 кадам (Сүрөттөр менен)
Portable Black+Decker Чаң соргучту оңдоо - Aspirador De Mano Dustbuster Litio 16.2Wh Con Acción Ciclónica. Modelo DVJ315J: Сиз чоң портативдүү чаң соргучка +70 евро (доллар же эквиваленттүү валюта) коротсоңуз болот, жана бир нече айдан же бир жылдан кийин ал жакшы иштебейт … Ооба, ал дагы эле иштейт, бирок азыраак 1 мүнөттөн ашык иштөө жана эч нерсеге жарабайт. Кайра баштоо керек
Чаң соргуч Ni-MHден Ли-ионго айландыруу: 9 кадам (Сүрөттөр менен)
Чаң соргуч Ni-MHден Li-ion конверсиясына: Саламатсыздарбы, бул нускамада биз Ni-MHден Li-Ion батареяларына менин чаң соргучту айландырабыз. Бул чаң соргуч 10 жашка жакын, бирок акыркы 2 жылда , ал дээрлик эч качан колдонулган эмес, анткени ал батареялары менен көйгөй жараткан
Чөнтөк өлчөмүндөгү чаң соргуч: 12 кадам (сүрөттөр менен)
Чөнтөк өлчөмүндөгү чаң соргуч: Саламатсыздарбы, баарыңыздар, балдар DIYsдин айланасында көңүл ачып жатасыздар деп үмүттөнөбүз. Аталышын окуп чыкканыңыздай, бул долбоор чөнтөк чаң соргуч жасоо жөнүндө. Бул портативдүү, ыңгайлуу жана колдонууга оңой. Кошумча үйлөтүүчү опция сыяктуу өзгөчөлүктөр, курулган сопло кампасында
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: Биз кайыр суроочу робот кылабыз. Бул робот кыжырдантууга же өтүп бара жаткан адамдардын көңүлүн бурууга аракет кылат. Бул алардын жүздөрүн аныктап, аларга лазер менен атууга аракет кылат. Эгер роботко тыйын берсеңиз, ал ыр ырдайт жана бийлейт. Роботко керек болот
UV гермицид нурлануусу менен AUVC автоматтык чаң соргуч роботу: 5 кадам (сүрөттөр менен)
UV гермицид нурлануусу менен AUVC автоматтык чаң соргуч роботу: Бул чаң соргуч, пол тазалоо, микробдорду өлтүрүү жана мопинг сыяктуу функцияларды аткарууга арналган автоматташтырылган көп багыттуу робот. Бул Arduino микроконтроллерин колдонот, ал төрт DC кыймылдаткычын, бир сервону жана эки УЗИди башкарууга программаланган