Агуулгын хүснэгт:
- Хангамж
- Алхам 1: DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх
- Алхам 2: Онцлог шинж чанарууд
- Алхам 3: Төхөөрөмжийн хаягийн зураг
- Алхам 4: Релеийг үндсэн цахилгаан тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно уу
- Алхам 5: I2C -ийг тохируулах (Raspberry Pi)
- Алхам 6: Програмчлалгүйгээр шууд хяналт (Raspberry Pi)
- Алхам 7: C хэл дээрх програм (Raspberry Pi)
- Алхам 8: Python програм (Raspberry Pi)
- Алхам 9: Java програм (Raspberry Pi)
Видео: Гэрлийг хянах систем: 9 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Саяхан би Аюулгүй байдлын судалгааны зорилгоор микроконтроллер ба IOT дээр суурилсан төхөөрөмжүүдийг ойлгохоор ажиллаж байсан. Тиймээс би дадлага хийхийн тулд жижиг гэрийн автоматжуулалтын системийг бүтээхийг бодсон. Би үүнийг хараахан дуусаагүй байгаа боловч эхлүүлэхийн тулд би энэ нийтлэлд Raspberry Pi 2 болон бусад цахилгаан эд ангиудыг ашиглан өрөөнийхөө гэрэлтүүлгийг хэрхэн удирдах талаар хуваалцах болно. Түүнчлэн, би Raspberry -ийн анхны тохиргооны талаар энд ярихгүй, та үүний тулд янз бүрийн заавар олж болно.
Гэхдээ энэ төсөлд би энэхүү docker pi цувралын бүтээгдэхүүнийг танд танилцуулах болно.
Хангамж
Бүрэлдэхүүн хэсгүүдийн жагсаалт:
- 1 x Raspberry Pi 3B+/3B/Тэг/Тэг W/4B/
- 1 x 16GB Ангилал 10 TF карт
- 1 x DockerPi цуврал 4 сувгийн реле самбар (HAT)
- 52Pi -ээс 1 x [email protected] цахилгаан хангамж
- 4 x Хөнгөн тууз
- 1 x DC холбогч
- Хөнгөн туузанд 1 х 12 В тэжээлийн хангамж.
- хэд хэдэн утас.
Алхам 1: DockerPi Series 4 Channel Relay Board -ийн талаар мэдэх
DockerPi 4 Channel Relay нь IOT програмуудад илүү өргөн хэрэглэгддэг DockerPi цувралын гишүүн юм.
DockerPi 4 сувгийн реле нь илүү олон санааг олж авахын тулд уламжлалт унтраалгуудын оронд AC/DC реле хийх боломжтой. DockerPi 4 сувгийн реле нь 4 хүртэл овоолох боломжтой бөгөөд бусад DockerPi өргөтгөлийн самбартай хамт овоолох боломжтой. Хэрэв та удаан хугацаагаар ажиллах шаардлагатай бол илүү их хүчээр хангахын тулд манай DockerPi Power өргөтгөлийн хавтанг ашиглахыг зөвлөж байна.
Анхааруулга: Цаашид үргэлжлүүлэхийн өмнө би "Сүлжээний цахилгаан" -ыг туршиж үзэх нь АЮУЛТАЙ болохыг анхааруулж байна. Хэрэв ямар нэгэн зүйл буруу болвол хамгийн муу үр дагавар нь үхэл эсвэл дор хаяж байшингаа шатаах явдал байж магадгүй юм. Тиймээс, хэрэв та юу хийж байгаагаа ойлгохгүй байгаа эсвэл туршлагатай цахилгаанчинтай холбоо барьсан бол энэ нийтлэлд дурдсан зүйлийг хийхийг бүү оролдоорой. Эхэлцгээе.
Алхам 2: Онцлог шинж чанарууд
- DockerPi цуврал
- Програмчлагдах боломжтой
- Шууд хянах (програмчлалгүйгээр)
- GPIO Pins -ийг сунгана уу
- 4 сувгийн реле
- 4 Alt I2C Addr дэмжлэг
- Релений статусыг дэмжих LED
- 3A 250V AC дэмжлэг
- 3А 30В тогтмол гүйдэл
- Бусад стек самбартай хамт стек хийх боломжтой. Үндсэн хавтангийн тоног төхөөрөмжөөс үл хамааран (I2C дэмжлэг шаардлагатай)
Алхам 3: Төхөөрөмжийн хаягийн зураг
Энэ самбар нь тусдаа бүртгэлийн хаягтай бөгөөд та реле бүрийг нэг тушаалаар удирдах боломжтой.
Бусад шаардлага:
Python эсвэл C эсвэл бүрхүүл эсвэл Java эсвэл бусад хэлний үндсэн ойлголт (би C, python, shell, java ашиглах болно)
- Линукс системийн талаархи үндсэн ойлголт
- Оюун санааны оршихуй
Одоо урагшлахаасаа өмнө бидний ашиглаж буй цахилгаан эд ангиудыг ойлгох хэрэгтэй.
1. Реле:
Реле нь ихэвчлэн маш бага хүчдэлийг оролт болгон ашиглан өндөр хүчдэлийг хянахад ашигладаг цахилгаан төхөөрөмж юм. Энэ нь туйлыг ороосон ороомог, хэлхээг хаахад ашигладаг хоёр жижиг металл хавхлага (зангилаа) -аас бүрдэнэ. Зангилааны нэг нь тогтмол, нөгөө нь хөдлөх боломжтой. Цахилгаан гүйдэл ороомогоор дамжих бүрт соронзон орон үүсгэн хөдөлж буй зангилааг статик зангилаа руу татаж, хэлхээ дуусна. Тиймээс, ороомог асаахын тулд бага хүчдэлийг ашигласнаар бид өндөр хүчдэлийн явах хэлхээг бүрэн гүйцэд хийж чадна. Түүнчлэн, статик зангилаа нь ороомогтой физик холбогдоогүй тул ямар нэг зүйл буруу болвол ороомог тэжээж буй микроконтроллер гэмтэх магадлал маш бага байдаг.
Алхам 4: Релеийг үндсэн цахилгаан тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно уу
Хамгийн хэцүү хэсэг бол бид релейгээ Main Electric тэжээлээр тэжээгддэг чийдэнгийн эзэмшигчид холбоно. Гэхдээ эхлээд би гэрлийг шууд цахилгаан тэжээлээр хэрхэн асааж, унтраах талаар товч ойлголт өгөхийг хүсч байна.
Одоо гэрлийн чийдэнг үндсэн тэжээлд холбоход бид ихэвчлэн хоёр утсыг чийдэнг холбох замаар хийдэг. Утасны нэг нь "Төвийг сахисан" утас, нөгөө нь "Сөрөг" утас бөгөөд гүйдэл дамжуулдаг, мөн бүх хэлхээнд асаах унтраах механизмыг хянах унтраалга байдаг. Тиймээс, свифт холбогдсон (эсвэл асаасан) үед гүйдэл нь чийдэн ба саармаг утсаар дамжиж хэлхээг дуусгадаг. Энэ нь гэрлийн чийдэнг асаана. Шилжүүлэгчийг асаахад хэлхээг эвдэж, гэрлийн чийдэн унтраана. Үүнийг тайлбарлах жижиг хэлхээний диаграмыг энд оруулав.
Одоо туршилт хийхийн тулд бид хэлхээгээ таслахын тулд "Сөрөг утас" -ыг релейгээр дамжуулж, релений унтраалга ашиглан цахилгаан урсгалыг хянах шаардлагатай болно. Тиймээс реле асах үед хэлхээг дуусгах ёстой бөгөөд гэрлийн чийдэн асах ёстой. Бүрэн хэлхээг доорх диаграмаас үзнэ үү.
Алхам 5: I2C -ийг тохируулах (Raspberry Pi)
Sudo raspi-config-ийг ажиллуулаад ARM цөм болон линукс цөмд i2c дэмжлэгийг суулгах зааврыг дагана уу.
Интерфэйсийн сонголтууд руу очно уу
Алхам 6: Програмчлалгүйгээр шууд хяналт (Raspberry Pi)
1 -р сувгийн релеийг асаана уу
i2cset -y 1 0x10 0x01 0xFF
1 -р сувгийн релеийг унтраа
i2cset -y 1 0x10 0x01 0x00
2 -р сувгийн релеийг асаана уу
i2cset -y 1 0x10 0x02 0xFF
2 -р сувгийн релеийг унтраа
i2cset -y 1 0x10 0x02 0x00
3 -р сувгийн релеийг асаана уу
i2cset -y 1 0x10 0x03 0xFF
3 -р сувгийн релеийг унтраа
i2cset -y 1 0x10 0x03 0x00
4 -р сувгийн релеийг асаана уу
i2cset -y 1 0x10 0x04 0xFF
4 -р сувгийн релеийг унтраа
i2cset -y 1 0x10 0x04 0x00
Алхам 7: C хэл дээрх програм (Raspberry Pi)
Эх кодыг үүсгээд "relay.c" гэж нэрлэнэ үү.
#оруулах
#оруулах
#оруулах
#тодорхойлох DEVCIE_ADDR 0x10
#тодорхойлох RELAY1 0x01
#тодорхойлох RELAY2 0x02
#тодорхойлох RELAY3 0x03
#тодорхойлох RELAY4 0x04
0xFF дээр #тодорхойлох
#тодорхойлох OFF 0x00
int main (хүчингүй)
{
printf ("C -д реле асаах / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
(;;) {
for (i = 1; i <= 4; i ++)
{
printf ("$ d реленийг асаах", i);
wiringPiI2CWriteReg8 (fd, i, ON);
унтах (200);
printf ("$ d реленийг унтраах", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
унтах (200);
}
}
буцаах 0;
}
Үүнийг эмхэтгээрэй
gcc буухиа.c -ooiringPi -o буухиа
Үүнийг хэрэгжүүлээрэй
./ реле
Алхам 8: Python програм (Raspberry Pi)
Дараах кодыг Python 3 ашиглан гүйцэтгэж, smbus номын санг суулгахыг зөвлөж байна.
"Relay.py" нэртэй файл үүсгээд дараах кодыг буулгана уу.
t гэж импортлох хугацаа
smbus импортлох
sys импортлох
DEVICE_BUS = 1
DEVICE_ADDR = 0x10
автобус = smbus. SMBus (DEVICE_BUS)
үнэн байхад:
оролдоно уу:
i -ийн хувьд (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
унтах (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
унтах (1)
KeyboardInterrupt -ээс бусад тохиолдолд e:
хэвлэх ("Гогцооноос гарах")
sys.exit ()
* Үүнийг хадгалаад python3 хэлбэрээр ажиллуулна уу:
python3 буухиа.py
Алхам 9: Java програм (Raspberry Pi)
I2CRelay.java нэртэй шинэ файл үүсгээд дараах кодыг буулгана уу.
java.io. IOException импортлох;
java.util. Arrays импортлох;
com.pi4j.io.i2c. I2CBus импортлох;
com.pi4j.io.i2c. I2CD төхөөрөмжийг импортлох;
com.pi4j.io.i2c. I2CFactory импортлох;
com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException импортлох;
com.pi4j.platform. PlatformAlreadyAssignedException импортлох;
com.pi4j.util. Console импортлох;
нийтийн анги I2CRelay {
// релений бүртгэлийн хаяг.
нийтийн статик эцсийн int DOCKER_PI_RELAY_ADDR = 0x10;
// буухиа суваг.
нийтийн статик эцсийн байт DOCKER_PI_RELAY_1 = (байт) 0x01;
нийтийн статик эцсийн байт DOCKER_PI_RELAY_2 = (байт) 0x02;
нийтийн статик эцсийн байт DOCKER_PI_RELAY_3 = (байт) 0x03;
нийтийн статик эцсийн байт DOCKER_PI_RELAY_4 = (байт) 0x04;
// Релений төлөв
нийтийн статик эцсийн байт DOCKER_PI_RELAY_ON = (байт) 0xFF;
нийтийн статик эцсийн байт DOCKER_PI_RELAY_OFF = (байт) 0x00;
public static void main (String args) нь InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {шиддэг
эцсийн консол консол = шинэ консол ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice төхөөрөмж = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Реле асаах!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Thread.sleep (500);
console.println ("Реле унтраа!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Зөвлөмж болгож буй:
Гар чөлөөтэй өрөөний гэрлийг хянах: 10 алхам
Гар чөлөөтэй өрөөний гэрлийн хяналт: Киноны нэгэн адил " Эрхэм зорилго боломжгүй " хэлдэг " Цөхрөнгөө барсан үе нь цөхрөлгүй арга хэмжээ авахыг шаарддаг " 10 -р ангид сурдаг ах маань унтраалгыг ашиглахын оронд утсаа ашиглан гал тогооны өрөөний гэрлийг удирдах санааг олж авлаа
Гэрлийг нүдээрээ хянах: 9 алхам (зурагтай)
Гэрлийг нүдээрээ хянах нь: Энэ семестр коллежид био анагаах ухааны багаж хэрэгсэл хэмээх хичээлд хамрагдаж, эмнэлгийн зориулалтаар дохио боловсруулах үндсийг сурсан. Ангийн эцсийн төслийн хувьд манай баг EOG (electrooculography) технологи дээр ажилласан. Эссенти
Потенциометр (хувьсах резистор) ба Arduino Uno ашиглан гэрэл/гэрлийг бүдгэрүүлэх/хянах: 3 алхам
Потенциометр (Хувьсах резистор) ба Arduino Uno ашиглан гэрэлтэх, гэрэлтэх чадварыг хянах: Arduino аналог оролтын зүү нь потенциометрийн гаралттай холбогдсон байна. Тиймээс Arduino ADC (аналоги тоон хөрвүүлэгч) аналог пин нь гаралтын хүчдэлийг потенциометрээр уншиж байна. Потенциометрийн бариулыг эргүүлэх нь хүчдэлийн гаралтыг өөрчилдөг бөгөөд Arduino дахин
Arduino болон Amazon Alexa ашиглан гэрэл/гэрийн гэрлийг хэрхэн хянах вэ: 16 алхам (зурагтай)
Arduino болон Amazon Alexa ашиглан гэрэл/гэрийн гэрлийг хэрхэн хянах вэ: Би НҮБ -тай холбогдсон, Alexa -ийн удирддаг гэрлийг хэрхэн хянах талаар тайлбарласан
Бичил замгийн энгийн булингартай байдлыг хянах, хянах систем: 4 алхам
Бичил замагны энгийн булингартай байдлыг хянах, хянах систем: Булингарыг хэмжихийн тулд уснаас дээж авах нь уйтгартай байдаг гэж хэлэх нь энгийн бөгөөд энэ нь усан дахь жижиг, түдгэлзсэн тоосонцорыг илэрхийлдэг бөгөөд энэ нь гэрлийн замыг нэмэгдүүлэх эсвэл илүү их тоосонцор бүхий гэрлийн эрчмийг бууруулдаг. төвлөрөл эсвэл хоёулаа