Агуулгын хүснэгт:

Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх нь: 5 алхам
Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх нь: 5 алхам

Видео: Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх нь: 5 алхам

Видео: Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх нь: 5 алхам
Видео: Питон + компьютерное зрение + ардуино (python + opencv + arduino) 2024, Арваннэгдүгээр
Anonim
Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх
Arduino болон Python -ийн Arduino мастер номын санг ашиглан гэрлийн эрчимийг төлөвлөх

Arduino нь хэмнэлттэй боловч өндөр үр ашигтай, ажиллагаатай хэрэгсэл бөгөөд үүнийг Embedded C дээр програмчлах нь төслүүдийг ядаргаатай болгодог. Python -ийн Arduino_Master модуль нь үүнийг хялбарчилж, тооцоолол хийх, хог хаягдлыг арилгах, өгөгдлийг харуулах график зурах боломжийг олгодог.

Хэрэв та энэ модулийн талаар хараахан мэдэхгүй байгаа бол Arduino_Master суулгах pip командыг ашиглан суулгаарай

Хэрэв та энэ модулийг хэрхэн ашиглахаа мэдэхгүй байгаа бол санаа зовох хэрэггүй, энэ линкээр ороорой => Arduino_Master

Гэсэн хэдий ч энэхүү төслийн код нь энэ зааварт үргэлж бэлэн байх болно.

Хангамж

Энэ төслийн хувьд танд дараахь зүйлс хэрэгтэй болно.

  1. Ардуино
  2. Хөнгөн хамааралтай эсэргүүцэл (LDR) ба
  3. Python 3 таны компьютер дээр суулгасан болно.

Алхам 1: Таны тойрог байгуулах:

Таны тойрог байгуулах
Таны тойрог байгуулах

Бид оролтын өгөгдлийг авахын тулд Arduino -ийн A1 зүүг ашиглах болно. Та мөн зайны оронд Arduino -ийн 5V ба GND зүүг ашиглаж болно. Холболтыг дараах байдлаар хий.

  1. LDR -ийн нэг үзүүрийг 5V батерейны эерэг терминал эсвэл Arduino -ийн 5V зүү рүү холбоно уу.
  2. LDR -ийн нөгөө үзүүрийг A1 зүү, батерейны сөрөг терминал эсвэл Arduino -ийн GND зүүтэй зэрэгцээ холбоно уу.
  3. Бүх гүйдэл GND рүү урсахгүй байхын тулд резистор ашиглана уу. (Би 10 к ом эсэргүүцэл ашиглаж байна).

Алхам 2: Arduino програмчлах:

Arduino_Master модуль нь өгөгдлийг илгээх, хүлээн авахын тулд Arduino -ийн Serial Monitor -ийг ашигладаг. Энэхүү модулийг ашиглах давуу тал нь Arduino програмчлагдсаны дараа python програмчлах нь харьцангуй хялбар тул та өөр өөр төслүүдэд зориулж дангаар нь Python програмыг өөрчилж болно!

Код:

// LDR_1 хувьсагчийг Arduino -ийн A1 зүүг тэмдэглэхэд ашигладаг.

int LDR_1 = A1;

// A1 -ээс хүлээн авсан өгөгдлийг LDR_Value_1 -д хадгалах болно.

хөвөх LDR_Value_1;

String оролт;

хүчингүй тохиргоо ()

{pinMode (LDR_1, INPUT); // LDR_1 -ийг INPUT зүү болгон тохируулсан. Цуваа эхлэх (9600); // Харилцаа холбооны хурд 9600 -д тохируулагдсан.}

хоосон давталт ()

{if (Serial.available ()> 0) // хэрэв цуваа дэлгэц дээр ямар нэгэн оролт байгаа бол үргэлжлүүлнэ үү. {оролт = Serial.readString (); // Оролтыг мөр болгон уншина уу. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5/1023) нь вольт дахь утгыг авах хөрвүүлэх хүчин зүйл юм. Serial.println (LDR_Value_1); // Хэрэв оролт нь "DATA" -тай тэнцүү бол LDR_1 -ийн оролтыг уншаад Serial Monitor дээр хэвлэнэ үү. } өөр int i = 0; // хэрэв оролт нь "DATA" -тэй тэнцүү биш бол юу ч битгий хийгээрэй! }

}

Алхам 3: Arduino -аас өгөгдлийг график болгохын тулд Python програмчлах:

LDR бүр өөрийн эсэргүүцлийн утгатай байх ёстой бөгөөд электрон бүрэлдэхүүн хэсгүүдийн хувьд хэзээ ч ижил төстэй байдаггүй гэдгийг санах хэрэгтэй. Тиймээс эхлээд бид гэрлийн янз бүрийн эрч хүчийг олох ёстой.

Дараах програмыг өөрийн python IDE -д байршуулаад ажиллуулна уу.

Гэрлийн янз бүрийн эрч хүчээр үүнийг хийж, график ашиглан дүгнэлт хий, жишээлбэл, хэрэв эрчим нь 1 -ээс бага бол өрөө хэтэрхий харанхуй байна. 1-2 -ийн хоорондох эрчмийн хувьд өрөө нэлээд харанхуй байна. 2 -оос дээш эрчимтэй бол гэрлийг асаана.

# Arduino_Master модулийг импорт хийж байна

Arduino_Master импортоос *

# мэдээлэл цуглуулах

өгөгдөл = шүүлтүүр (ardata (8, squeeze = Худал, динамик = Үнэн, msg = "DATA", мөрүүд = 30), expect_type = 'num', хязгаар = [0, 5])

Бид 5V батерей ашиглаж байгаа тул # хязгаарыг 5 болгож тохируулсан.

# Үнэт зүйлсийг зурах

График (өгөгдөл, stl = 'dark_background', label = 'Гэрлийн эрч хүч')

Алхам 4: Өрөөн дэх гэрлийн эрчмийг шалгах эцсийн хөтөлбөр

Та олж авсан өгөгдлөөсөө дүгнэлт хийсний дараа дараах програмыг байршуулж, өөрийн дүгнэлтийн дагуу хязгаарыг өөрчилсөн эсэхийг шалгаарай.

# Arduino_Master модулийг импорт хийж байна

Arduino_Master импортоос # өгөгдөл цуглуулах = шүүлтүүр (ardata (8, squeeze = False, dynamic = True, msg = "DATA", мөрүүд = 50), хүлээгдэж буй_төрөл = 'num', хязгаар = [0, 5]) # ангилах өгөгдөл мэдээлэлд үндэслэсэн мэдээлэл = i -ийн хувьд муж (len (өгөгдөл)): эрч = өгөгдөл хэрэв эрчим 1 ба эрчим = 2: info.append ('Гэрэл асаалттай') # Графикийг зурах. compGraph (өгөгдөл, мэдээлэл, stl = 'dark_background', label1 = 'Гэрлийн эрч хүч', label2 = 'Төлөв')

Алхам 5: Үр дүн:

Үр дүн
Үр дүн

Та Arduino -аас 50 агшин зуурын утгыг уншиж байгаа тул програмыг ажиллуулахад ганц хоёр минут шаардагдана.

Хэрэв та процессыг хурдасгахыг хүсч байвал ardata функцийн шугамын параметрийг өөрчилж үзээрэй. Гэхдээ ажиглалт бага байх тусам мэдээллийн чанар муу байх болно гэдгийг санаарай.

Тэмдэглэл: Дээрх зураг дээрх бүрэн график харагдахгүй байвал танилцуулга хэсгийн дээрх графикийг үзнэ үү.

Зөвлөмж болгож буй: