Satura rādītājs:
- Piegādes
- 1. darbība. Zināšanas par DockerPi Series 4 Channel Relay Board
- 2. solis: funkcijas
- 3. darbība: ierīces adrešu karte
- 4. solis: pievienojiet releju spuldzes turētājam, ko darbina galvenais elektrības avots
- 5. darbība: I2C (Raspberry Pi) konfigurēšana
- 6. darbība: tieša vadība bez programmēšanas (Raspberry Pi)
- 7. darbība: programma C valodā (Raspberry Pi)
- 8. darbība: programma programmā Python (Raspberry Pi)
- 9. darbība: programma programmā Java (Raspberry Pi)
Video: Gaismas vadības sistēma: 9 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:55
Nesen es strādāju pie izpratnes par mikrokontrolleriem un uz IOT balstītām ierīcēm drošības izpētes nolūkos. Tātad, es domāju izveidot nelielu mājas automatizācijas sistēmu praksei. Man tas vēl ir jāpabeidz, bet iesākumam es šajā ziņojumā pastāstīšu, kā es izmantoju Raspberry Pi 2 un dažas citas elektriskās sastāvdaļas, lai kontrolētu savas istabas apgaismojumu. Šeit es arī nerunāšu par aveņu sākotnējo iestatīšanu, iespējams, atradīsit dažādas apmācības.
Bet šajā projektā es jūs iepazīstināšu ar šo docker pi sērijas produktu.
Piegādes
Komponentu saraksts:
- 1 x Raspberry Pi 3B+/3B/Zero/Zero W/4B/
- 1 x 16 GB 10. klases TF karte
- 1 x DockerPi sērijas 4 kanālu releja dēlis (HAT)
- 1 x [email protected] barošanas avots, kas ir no 52Pi
- 4 x gaismas sloksne
- 1 x līdzstrāvas savienotājs
- 1 x 12V barošanas avots gaismas sloksnēm.
- vairāki vadi.
1. darbība. Zināšanas par DockerPi Series 4 Channel Relay Board
DockerPi 4 kanālu relejs ir DockerPi sērijas loceklis, ko biežāk izmanto IOT lietojumprogrammās.
DockerPi 4 kanālu relejs var pārsūtīt AC/DC, nevis tradicionālos slēdžus, lai iegūtu vairāk ideju. DockerPi 4 kanālu releju var sakraut līdz 4, un to var sakraut ar citu DockerPi paplašināšanas plati. Ja jums jādarbojas ilgu laiku, mēs iesakām arī izmantot mūsu DockerPi Power paplašināšanas paneli, lai nodrošinātu lielāku jaudu.
Pirms turpināt, es vēlos BRĪDINĀT par BĪSTAMI eksperimentēt ar “elektrotīklu”. Ja kaut kas noiet greizi, vissliktākās sekas var būt nāve vai vismaz jūsu mājas nodedzināšana. Tāpēc, lūdzu, NEMĒĢINIET darīt neko šajā rakstā minēto, ja nesaprotat, ko darāt, vai labāk izmantojiet kāda pieredzējuša elektriķa palīdzību. Sāksim.
2. solis: funkcijas
- DockerPi sērija
- Programmējams
- Vadība tieši (bez programmēšanas)
- Paplašiniet GPIO tapas
- 4 kanālu relejs
- 4 Alt I2C Addr atbalsts
- Releja statusa LED atbalsts
- 3A 250V maiņstrāvas atbalsts
- 3A 30V DC
- Var sakraut ar citu kaudzes dēli Neatkarīgi no mātesplates aparatūras (nepieciešams I2C atbalsts)
3. darbība: ierīces adrešu karte
Šai plāksnei ir atsevišķa reģistra adrese, un jūs varat vienkārši kontrolēt katru releju ar vienu komandu.
Citas prasības:
Pamata izpratne par Python vai C vai čaulu vai Java vai jebkuru citu valodu (es izmantošu C, python, shell un java)
- Pamata izpratne par Linux sistēmām
- Prāta klātbūtne
Tagad, pirms virzīties uz priekšu, jums būs jāsaprot elektriskie komponenti, kurus mēs izmantosim:
1. Relejs:
Relejs ir elektriska ierīce, ko parasti izmanto augsta sprieguma kontrolei, izmantojot ļoti zemu spriegumu. Tas sastāv no spoles, kas ietīta ap stabu, un diviem maziem metāla atlokiem (mezgliem), ko izmanto ķēdes slēgšanai. Viens no mezgliem ir fiksēts, bet otrs ir pārvietojams. Ikreiz, kad caur spoli tiek izvadīta elektrība, tas rada magnētisko lauku un piesaista kustīgo mezglu statiskā mezgla virzienā, un ķēde tiek pabeigta. Tātad, tikai izmantojot nelielu spriegumu spoles ieslēgšanai, mēs faktiski varam pabeigt ķēdi, lai augstspriegums varētu pārvietoties. Turklāt, tā kā statiskais mezgls nav fiziski savienots ar spoli, ir mazāka iespēja, ka spolei piegādātais mikrokontrolleris tiks sabojāts, ja kaut kas notiks nepareizi.
4. solis: pievienojiet releju spuldzes turētājam, ko darbina galvenais elektrības avots
Tagad pie sarežģītās daļas, mēs savienosim releju ar spuldzes turētāju, ko darbina galvenais elektrības avots. Bet vispirms es vēlos sniegt jums īsu priekšstatu par to, kā gaismas tiek ieslēgtas un izslēgtas, izmantojot tiešo barošanas avotu.
Tagad, kad spuldze ir pievienota galvenajai barošanai, mēs parasti to darām, pievienojot spuldzei divus vadus. viens no vadiem ir “neitrāls” vads, bet otrs ir “negatīvais” vads, kas faktiski pārnes strāvu, kā arī visai ķēdei ir pievienots slēdzis, lai kontrolētu ieslēgšanas un izslēgšanas mehānismu. Tātad, kad slēdzis ir pievienots (vai ieslēgts), strāva plūst caur spuldzi un neitrālo vadu, pabeidzot ķēdi. Tas ieslēdz spuldzi. Izslēdzot slēdzi, tas pārtrauc ķēdi un spuldze izslēdzas. Šeit ir neliela shēma, kas to izskaidro:
Tagad mūsu eksperimentam mums vajadzēs likt “negatīvajam vadam” iet caur mūsu releju, lai pārtrauktu ķēdi un kontrolētu strāvas plūsmu, izmantojot releja pārslēgšanu. Tātad, kad relejs ieslēgsies, tam jāpabeidz ķēde, un spuldzei jāieslēdzas un otrādi. Pilnu ķēdi skatiet zemāk esošajā diagrammā.
5. darbība: I2C (Raspberry Pi) konfigurēšana
Palaidiet sudo raspi-config un izpildiet norādījumus, lai instalētu i2c atbalstu ARM kodolam un Linux kodolam
Dodieties uz saskarnes opcijas
6. darbība: tieša vadība bez programmēšanas (Raspberry Pi)
Ieslēdziet kanāla Nr.1 releju
i2cset -y 1 0x10 0x01 0xFF
Izslēdziet kanāla Nr.1 releju
i2cset -y 1 0x10 0x01 0x00
Ieslēdziet kanāla Nr.2 releju
i2cset -y 1 0x10 0x02 0xFF
Izslēdziet kanāla Nr.2 releju
i2cset -y 1 0x10 0x02 0x00
Ieslēdziet kanāla Nr.3 releju
i2cset -y 1 0x10 0x03 0xFF
Izslēdziet kanāla Nr.3 releju
i2cset -y 1 0x10 0x03 0x00
Ieslēdziet kanāla Nr.4 releju
i2cset -y 1 0x10 0x04 0xFF
Izslēdziet kanāla Nr.4 releju
i2cset -y 1 0x10 0x04 0x00
7. darbība: programma C valodā (Raspberry Pi)
Izveidojiet avota kodu un nosauciet to par "relay.c"
#iekļaut
#iekļaut
#iekļaut
#define DEVCIE_ADDR 0x10
#define RELAY1 0x01
#define RELAY2 0x02
#define RELAY3 0x03
#define RELAY4 0x04
#define ON 0xFF
#define OFF 0x00
int main (anulēts)
{
printf ("Ieslēgt relejus C / n");
int fd;
int i = 0;
fd = wiringPiI2CSetup (DEVICE_ADDR);
priekš(;;){
par (i = 1; i <= 4; i ++)
{
printf ("ieslēdziet releju Nr. $ d", i);
elektroinstalācijaPiI2CWriteReg8 (fd, i, ON);
gulēt (200);
printf ("izslēgt releju Nr. $ d", i);
wiringPiI2CWriteReg8 (fd, i, OFF);
gulēt (200);
}
}
atgriezties 0;
}
Apkopojiet to
gcc relejs.c -lvadsPi -o relejs
Izpildi to
./relejs
8. darbība: programma programmā Python (Raspberry Pi)
Šo kodu ieteicams izpildīt, izmantojot Python 3, un instalēt smbus bibliotēku:
Izveidojiet failu ar nosaukumu "relay.py" un ielīmējiet šādu kodu:
importa laiks kā t
importēt smbus
importēt sistēmu
IERĪCE_BUS = 1
IERĪCE_ADDR = 0x10
autobuss = smbus. SMBus (DEVICE_BUS)
kamēr taisnība:
pamēģini:
i diapazonā (1, 5):
bus.write_byte_data (DEVICE_ADDR, i, 0xFF)
t.smigt (1)
bus.write_byte_data (DEVICE_ADDR, i, 0x00)
t.smigt (1)
izņemot tastatūru Pārtraukt kā e:
drukāt ("Iziet no cilpas")
sys.exit ()
* Saglabājiet to un pēc tam palaidiet to kā python3:
python3 relejs.py
9. darbība: programma programmā Java (Raspberry Pi)
Izveidojiet jaunu failu ar nosaukumu: I2CRelay.java un ielīmējiet šādu kodu:
importēt java.io. IOException;
importēt java.util. Arrays;
importēt com.pi4j.io.i2c. I2CBus;
importēt com.pi4j.io.i2c. I2CDevice;
importēt com.pi4j.io.i2c. I2CFactory;
importēt com.pi4j.io.i2c. I2CFactory. UnsupportedBusNumberException;
importēt com.pi4j.platform. PlatformAlreadyAssignedException;
importēt com.pi4j.util. Console;
publiskā klase I2CRelay {
// releja reģistra adrese.
public static final int DOCKER_PI_RELAY_ADDR = 0x10;
// releja kanāls.
publisks statisks galīgais baits DOCKER_PI_RELAY_1 = (baits) 0x01;
publisks statisks galīgais baits DOCKER_PI_RELAY_2 = (baits) 0x02;
publisks statisks galīgais baits DOCKER_PI_RELAY_3 = (baits) 0x03;
publisks statisks galīgais baits DOCKER_PI_RELAY_4 = (baits) 0x04;
// Releja statuss
publisks statisks galīgais baits DOCKER_PI_RELAY_ON = (baits) 0xFF;
publisks statisks galīgais baits DOCKER_PI_RELAY_OFF = (baits) 0x00;
public static void main (String args) metieni InterruptException, PlatformAlreadyAssignedException, IOException, UnsupportedBusNumberException {
galīgā konsoles konsole = new Console ();
I2CBus i2c = I2CFactory.getInstance (I2CBus. BUS_1);
I2CDevice ierīce = i2c.getDevice (DOCKER_PI_RELAY_ADDR);
console.println ("Ieslēdziet releju!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_ON);
Vītne.miega (500);
console.println ("Izslēgt releju!");
device.write (DOCKER_PI_RELAY_1, DOCKER_PI_RELAY_OFF);
}
}
Ieteicams:
Karstās plāksnes automātiskās vadības sistēma (HPACS): 3 soļi
Karstās plāksnes automātiskās vadības sistēma (HPACS): šī projekta mērķis ir sniegt vienkāršu intuitīvu veidu, kā saprast, kā veikt automātisko PID regulēšanu, izmantojot sildītāju. Tas, ko esmu izveidojis, ir balstīts uz Åström-Hägglund metodi, lai iegūtu parametrus, izmantojot sprādziena kontroli, lai atklātu sistēmas īpašības
Vadības gaismas diodes ar Alexa vai IFTTT (SINRIC PRO PAMĀCĪBA): 6 soļi
Vadības gaismas diodes ar Alexa vai IFTTT (SINRIC PRO PAMĀCĪBA): Tātad jūs vēlētos būt tā persona, kas sevi demonstrē ikdienišķu vakariņu laikā, sakot "Alexa ieslēdz gaismu?" Šis projekts ir domāts jums! Šīs instrukcijas beigās jūs varēsiet kontrolēt RGB joslu ar Alexa ierīci un IFTTT, lai
Uzdevumu pārvaldnieks - mājsaimniecības darbu vadības sistēma: 5 soļi (ar attēliem)
Uzdevumu pārvaldnieks - mājsaimniecības darbu pārvaldības sistēma: Es gribēju mēģināt risināt reālu problēmu, ar kuru saskaramies mūsu (un, manuprāt, daudzu citu lasītāju) mājsaimniecībā, proti, kā sadalīt, motivēt un apbalvot savus bērnus par palīdzību ar mājsaimniecības darbiem. Līdz šim mēs esam saglabājuši laminētu loksni
Balss vadības gaismas elektronika RGB LED sloksnes un vairāk ar Cortana un Arduino mājas automatizāciju: 3 soļi
Balss vadības gaismas Elektronika RGB LED sloksnes un vairāk ar Cortana un Arduino mājas automatizāciju: Vai jums patīk ideja kontrolēt lietas ar savu balsi? Vai arī nepatīk izkāpt no gultas, lai izslēgtu gaismu? Bet vai visi esošie risinājumi, piemēram, google home, ir pārāk dārgi? Tagad to var pagatavot pats par 10 USD. Un vēl labāk - tas ir ļoti vienkārši
3 pārsteidzoši BRAIN / MIND vadības projekti Gaismas LedStrip LED ar Arduino un Neurosky: 6 soļi (ar attēliem)
3 pārsteidzoši BRAIN / MIND vadības projekti Gaismas LedStrip LED ar Arduino un Neurosky: Vai esat kādreiz gribējuši ieslēgt vai izslēgt gaismas, tikai domājot par to? Vai arī vēlaties uzzināt, cik saspringts esat, aplūkojot RGB gaismas diodes krāsu? Lai gan tagad jūs varat, ievērojot šos norādījumus! Lai gūtu priekšstatu par to, ko mēs darām