Turinys:
- Prekės
- 1 žingsnis: žinokite apie „DockerPi Series 4 Channel Relay Board“
- 2 žingsnis: funkcijos
- 3 veiksmas: įrenginio adreso žemėlapis
- 4 žingsnis: Prijunkite relę prie lemputės laikiklio, maitinamo iš pagrindinio elektros maitinimo šaltinio
- 5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
- 6 veiksmas: tiesioginis valdymas be programavimo („Raspberry Pi“)
- 7 žingsnis: programa C kalba („Raspberry Pi“)
- 8 veiksmas: programa „Python“(„Raspberry Pi“)
- 9 veiksmas: programa „Java“(„Raspberry Pi“)
Video: Šviesų valdymo sistema: 9 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:47
Neseniai aš stengiausi suprasti mikrovaldiklius ir IOT pagrįstus įrenginius saugumo tyrimų tikslais. Taigi, aš sugalvojau sukurti nedidelę namų automatikos sistemą praktikai. Aš dar nebaigiau to užbaigti, tačiau paleidimui aš šiame įraše pasidalinsiu, kaip aš naudoju „Raspberry Pi 2“ir kai kuriuos kitus elektrinius komponentus savo kambario apšvietimui valdyti. Be to, čia nekalbėsiu apie pradinę „Raspberry“sąranką, tam galite rasti įvairių vadovėlių.
Tačiau šiame projekte aš jums pristatysiu šį „docker pi“serijos produktą.
Prekės
Komponentų sąrašas:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16 GB 10 klasės TF kortelė
- 1 x „DockerPi“serijos 4 kanalų relės plokštė (HAT)
- 1 x [email protected] maitinimo šaltinis, kuris yra nuo 52Pi
- 4 x šviesos juostelė
- 1 x nuolatinės srovės jungtis
- 1 x 12 V maitinimo šaltinis šviesos juostoms.
- keli laidai.
1 žingsnis: žinokite apie „DockerPi Series 4 Channel Relay Board“
„DockerPi 4 Channel Relay“yra „DockerPi“serijos narys, dažniau naudojamas IOT programose.
„DockerPi“4 kanalų relė gali perduoti AC/DC, o ne tradicinius jungiklius, kad pasiektų daugiau idėjų. „DockerPi“4 kanalų relė gali būti sukrauta iki 4 ir gali būti sukrauta su kita „DockerPi“išplėtimo plokšte. Jei jums reikia ilgai veikti, taip pat rekomenduojame naudoti mūsų „DockerPi Power“išplėtimo plokštę, kad gautumėte daugiau energijos.
Prieš tęsdami, norėčiau jus įspėti apie PAVOJĄ eksperimentuoti su „elektros tinklu“. Jei kas nors nepavyks, blogiausia pasekmė gali būti mirtis arba bent jau jūsų namo sudegimas. Taigi, NENORĖKITE daryti nieko, kas paminėta šiame straipsnyje, jei nesuprantate, ką darote, arba geriau pasinaudokite patyrusio elektriko pagalba. Pradėkime.
2 žingsnis: funkcijos
- „DockerPi“serija
- Programuojamas
- Tiesioginis valdymas (be programavimo)
- Išplėskite GPIO kaiščius
- 4 kanalų relė
- 4 „Alt I2C Addr“palaikymas
- Relės būsenos LED palaikymas
- 3A 250V kintamosios srovės palaikymas
- 3A 30V DC
- Galima sukrauti su kita „Stack“plokšte Nepriklausomai nuo pagrindinės plokštės aparatūros (reikalinga „I2C“parama)
3 veiksmas: įrenginio adreso žemėlapis
Ši plokštė turi atskirą registro adresą, ir jūs galite tiesiog valdyti kiekvieną relę viena komanda.
Kiti reikalavimai:
Pagrindinis „Python“ar „C“, „shell“, „Java“ar bet kurios kitos kalbos supratimas (naudosiu „C“, „python“, „shell“ir „Java“)
- Pagrindinis Linux sistemų supratimas
- Proto buvimas
Dabar, prieš eidami į priekį, turėsite suprasti elektrinius komponentus, kuriuos naudosime:
1. Relė:
Relė yra elektrinis įtaisas, kuris paprastai naudojamas aukštos įtampos valdymui naudojant labai žemą įtampą. Tai susideda iš ritės, apvyniotos aplink stulpą, ir dviejų mažų metalinių atvartų (mazgų), kurie naudojami grandinei uždaryti. Vienas iš mazgų yra fiksuotas, o kitas yra kilnojamas. Kai elektros energija praeina per ritę, ji sukuria magnetinį lauką ir pritraukia judantį mazgą statinio mazgo link, o grandinė baigiama. Taigi, tik pritaikę mažą įtampą ritės įjungimui, mes iš tikrųjų galime užbaigti aukštos įtampos judėjimo grandinę. Be to, kadangi statinis mazgas nėra fiziškai prijungtas prie ritės, yra labai maža tikimybė, kad ritę maitinantis mikrovaldiklis bus sugadintas, jei kažkas nutiks.
4 žingsnis: Prijunkite relę prie lemputės laikiklio, maitinamo iš pagrindinio elektros maitinimo šaltinio
Dabar prie sudėtingos dalies, mes prijungsime relę prie lemputės laikiklio, maitinamo iš pagrindinio elektros tiekimo. Bet pirmiausia noriu trumpai papasakoti, kaip įjungiami ir išjungiami žibintai per tiesioginį maitinimą.
Dabar, kai lemputė prijungta prie pagrindinio maitinimo šaltinio, dažniausiai tai darome prijungę du laidus prie lemputės. vienas iš laidų yra „neutralus“laidas, o kitas - „neigiamas“laidas, kuris iš tikrųjų perduoda srovę, taip pat prie visos grandinės pridedamas jungiklis, skirtas valdyti įjungimo ir išjungimo mechanizmą. Taigi, kai jungiklis yra prijungtas (arba įjungtas), srovė teka per lemputę ir nulinį laidą, užbaigdama grandinę. Tai įjungia lemputę. Kai jungiklis yra išjungtas, jis nutraukia grandinę ir lemputė išsijungia. Čia yra nedidelė grandinės schema, paaiškinanti tai:
Dabar mūsų eksperimentui reikės, kad „neigiama viela“eitų per mūsų relę, kad nutrauktų grandinę ir valdytų energijos srautą, naudojant relės perjungimą. Taigi, kai relė įsijungs, ji turėtų užbaigti grandinę, o lemputė turėtų įsijungti ir atvirkščiai. Žiūrėkite žemiau pateiktą schemą, kad gautumėte visą grandinę.
5 veiksmas: „I2C“(„Raspberry Pi“) konfigūravimas
Paleiskite „sudo raspi-config“ir vykdykite nurodymus, kad įdiegtumėte „i2c“palaikymą ARM branduoliui ir „Linux“branduoliui
Eikite į sąsajos parinktis
6 veiksmas: tiesioginis valdymas be programavimo („Raspberry Pi“)
Įjunkite kanalo Nr.1 relę
i2cset -y 1 0x10 0x01 0xFF
Išjunkite kanalo Nr.1 relę
i2cset -y 1 0x10 0x01 0x00
Įjunkite kanalo Nr.2 relę
i2cset -y 1 0x10 0x02 0xFF
Išjunkite kanalo Nr.2 relę
i2cset -y 1 0x10 0x02 0x00
Įjunkite kanalo Nr. 3 relę
i2cset -y 1 0x10 0x03 0xFF
Išjunkite kanalo Nr. 3 relę
i2cset -y 1 0x10 0x03 0x00
Įjunkite kanalo Nr. 4 relę
i2cset -y 1 0x10 0x04 0xFF
Išjunkite kanalo Nr. 4 relę
i2cset -y 1 0x10 0x04 0x00
7 žingsnis: programa C kalba („Raspberry Pi“)
Sukurkite šaltinio kodą ir pavadinkite jį „relay.c“
#įtraukti
#įtraukti
#įtraukti
#define DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (niekinis)
{
printf ("Įjungti relės C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
dėl(;;){
(i = 1; i <= 4; i ++)
{
printf ("įjunkite relę Nr. $ d", i);
wiringPiI2CWriteReg8 (fd, i, ON);
miegas (200);
printf ("išjungti relę Nr. $ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
miegas (200);
}
}
grįžti 0;
}
Sudarykite
gcc relė.c -laidų prijungimasPi -o relė
Vykdyk
./ relė
8 veiksmas: programa „Python“(„Raspberry Pi“)
Šį kodą rekomenduojama vykdyti naudojant „Python 3“ir įdiegti „smbus“biblioteką:
Sukurkite failą pavadinimu „relay.py“ir įklijuokite šį kodą:
importo laikas kaip t
importuoti smbus
importo sistema
DEVICE_BUS = 1
ĮRENGINIO_ADDR = 0x10
autobusas = smbus. SMBus (DEVICE_BUS)
nors tiesa:
bandyti:
i diapazone (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t.miegoti (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t.miegoti (1)
išskyrus klaviatūrąInterrupt kaip e:
spausdinti („Išeiti iš ciklo“)
sys.exit ()
* Išsaugokite ir paleiskite kaip python3:
python3 relė.py
9 veiksmas: programa „Java“(„Raspberry Pi“)
Sukurkite naują failą pavadinimu: I2CRelay.java ir įklijuokite šį kodą:
importuoti java.io. IOException;
importuoti java.util. Arrays;
importuoti com.pi4j.io.i2c. I2CBus;
importuoti com.pi4j.io.i2c. I2CDevice;
importuoti com.pi4j.io.i2c. I2CFactory;
importuoti com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
importuoti com.pi4j.platform. PlatformAlreadyAssignedException;
importuoti com.pi4j.util. Console;
viešoji klasė I2CRelay {
// relės registro adresas.
public static final int DOCKER_PI_RELAY_ADDR = 0x10;
// relės kanalas.
viešas statinis galutinis baitas DOCKER_PI_RELAY_1 = (baitas) 0x01;
viešas statinis galutinis baitas DOCKER_PI_RELAY_2 = (baitas) 0x02;
viešas statinis galutinis baitas DOCKER_PI_RELAY_3 = (baitas) 0x03;
viešas statinis galutinis baitas DOCKER_PI_RELAY_4 = (baitas) 0x04;
// Relės būsena
viešas statinis galutinis baitas DOCKER_PI_RELAY_ON = (baitas) 0xFF;
viešas statinis galutinis baitas DOCKER_PI_RELAY_OFF = (baitas) 0x00;
public static void main (String args) metimai InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
final Console console = new Console ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
„I2CDevice device“= „i2c.getDevice“(DOCKER_PI_RELAY_ADDR);
console.println ("Įjunk relę!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Siūlai.miegoti (500);
console.println ("Išjungti relę!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Rekomenduojamas:
Televizoriaus nuotolinio valdymo pultas tampa RF nuotolinio valdymo pultu -- NRF24L01+ pamoka: 5 žingsniai (su paveikslėliais)
Televizoriaus nuotolinio valdymo pultas tampa RF nuotolinio valdymo pultu || NRF24L01+ Pamoka: Šiame projekte parodysiu, kaip aš naudoju populiarųjį nRF24L01+ RF IC, norėdamas belaidžiu būdu sureguliuoti LED juostos ryškumą per tris nenaudingus televizoriaus nuotolinio valdymo pulto mygtukus. Pradėkime
Šviesų valdymas akimis: 9 žingsniai (su nuotraukomis)
Šviesų valdymas akimis: šį semestrą kolegijoje išklausiau biomedicinos instrumentų klasę, kurioje išmokau signalų apdorojimo medicinos reikmėms pagrindus. Paskutiniame klasės projekte mano komanda dirbo prie EOG (elektrookulografijos) technologijos. Essenti
Pridėkite šviesų ir bauginančios muzikos prie „Jack-O-Lantern“-be litavimo ar programavimo (nebent norite): 9 žingsniai (su nuotraukomis)
Pridėkite šviesų ir bauginančios muzikos prie savo „Jack-O-Lantern“-be litavimo ar programavimo (nebent norite): turėkite baisiausią „Jack-O-Lantern“savo gatvėje, pridėdami žėrinčių šviesų ir bauginančios muzikos! Tai taip pat puikus būdas išbandyti „Arduino“ir programuojamą elektroniką, nes visą projektą galima užbaigti nerašant kodo ar lituojant
Įsižiebkite šviesų šou: 6 žingsniai
„Light Up Top Lightshow“: Daugelis iš mūsų matėme nebrangias viršūnes, kurios sukdami mirksi LED modeliais. Kaip naudoti pigų žibintuvėlį, mažą variklį, trumpą PVC vamzdžio gabalėlį ir objektyvą, kad būtų sukurtas tvarkingas projektuojamas šviesos šou?
Kaip 2.0: sukurkite šviesų knygos viršelį: 7 žingsniai
Kaip 2.0: sukurkite šviesų knygos viršelį: Alison Lewis, technologijų perdarymo laidos „Mano namai 2.0“vedėja, šiek tiek parodo, kaip rūpintis savo knygomis stilingai IR papildomai! Norėdami rasti medžiagų sąrašą, siuvimo modelį ir laidų schemą, eikite į: http://www.2pointhome.com