рджреВрд╕рд░рд╛ рдПрдкреНрд▓реЗрдЯ, рдЗрд╕реЗ рдмрдВрдж рдХрд░рдирд╛ рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ 3 рдореЗрдВ рдкрд╛рд░рджрд░реНрд╢реА рдмрдЯрди

рд╕рднреА рдХреЗрдпреВ рдХреЛред рдореЗрд░реА рдкрд╣рд▓реА рдкреЛрд╕реНрдЯ, рдХреГрдкрдпрд╛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдиреНрдпрд╛рдп рди рдХрд░реЗрдВред

рдЙрдкрдХрд░рдг рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдиреЗрддреНрд░рд╣реАрди рд░реВрдк рд╕реЗ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереА рдФрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдХреНрд░рд╛рдпреЛрдХреЛрдореНрдкреНрд░реЗрд╕рд░ рдХреЛ рджреВрд░ рд╕реЗ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВред рд╣рд╛рде рдореЗрдВ Arduino UNO рдерд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд▓реНрдХрд╛ рд╕реЗрдВрд╕рд░ рдЦрд░реАрджрд╛ рдЧрдпрд╛ рдерд╛, рдЕрдм рддрдХ 12 рд╡реА рдкрд░ 2 рд░рд┐рд▓реЗ рдФрд░ 2 рд╕реЛрд▓рдиреЙрдЗрдб (рдмрд┐рдВрджреБ рдирд╣реАрдВ) рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдпрд╣ рд╡реНрдпрд╡рд╕рд╛рдп рддрд╛рдкрдорд╛рди, рдЖрд░реНрджреНрд░рддрд╛ рдФрд░ рджрдмрд╛рд╡ рдХреЗ рд╕реЗрдВрд╕рд░ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдирд┐рдХрд▓ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдпрд╣ рддреИрдпрд╛рд░ рдирд╣реАрдВ рд╣реИред

рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг 3 рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдкрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рдереА, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░реВрд╕реА-рднрд╛рд╖рд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдореЗрдВред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореЗрд░реЗ рдЬреИрд╕реЗ рдХреБрдЫ рдбрдореА рдХрд┐рд╕реА рджрд┐рди рдХрд╛рдо рдЖрдПрдВрдЧреЗ рддрд╛рдХрд┐ рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреА рддрд░рд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмреЗрд╡рдХреВрдл рди рдмрдиреЗрдВред

Arduino рдХреЗ рд▓рд┐рдП рд╕реНрдХреЗрдЪ рддреАрди рд░реВрдмрд▓ рдХреА рддрд░рд╣ рд╕рд░рд▓ рд╣реИ: рдХреЙрдо рдкреЛрд░реНрдЯ рд╕реЗ рдХреБрдЫ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдкрд░, рдбрдВрдХ рдкрд┐рдВрд╕ рдкрд░ рдореВрд▓реНрдп рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЙрдо рдкреЛрд░реНрдЯ рдХрд╛ рдЙрддреНрддрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд░реЛрд╢рдиреА рдХреЛ рднреА рдорд╛рдкрддрд╛ рд╣реИ рдФрд░ рдЙрд╕ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рднреА рдХрд░рддрд╛ рд╣реИред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╕реНрдХреЗрдЪ рдЕрд░реБрдбрд┐рдиреЛ:

#include <Wire.h> #include <BH1750.h> int val; BH1750 lightMeter; void setup() { Serial.begin(9600); lightMeter.begin(); Serial.println("Running..."); pinMode (7, OUTPUT); pinMode(6, OUTPUT); digitalWrite(7, HIGH); digitalWrite(6, HIGH); } void loop() { uint16_t lux = lightMeter.readLightLevel(); if (Serial.available()) { val = Serial.read(); if (val == '0') { digitalWrite(7, HIGH); digitalWrite(6, HIGH); Serial.println("  "); } if (val == '1') { digitalWrite(7, HIGH); digitalWrite(6, LOW); Serial.println(" 1 "); } if (val == '2') { digitalWrite(7, LOW); digitalWrite(6, HIGH); Serial.println("  2"); } if (val == '3') { digitalWrite(7, LOW); digitalWrite(6, LOW); Serial.println("  "); } if (val == '4') { if (lux >= 800) { Serial.print("Light: "); Serial.print(lux); Serial.println(" lx   "); } else { Serial.print("Light: "); Serial.print(lux); Serial.println(" lx  !!!!!!!"); } } } } 

рдпрд╣, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ, рдПрдХ рджрд┐рдорд╛рдЧ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдЕрдиреНрдп рд▓реЛрдЧ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдореЗрд░реЗ рдкрд░реНрдмреНрд▓реБрдбрд╛ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ, рдореИрдВ рдПрдХ рд╕рд░рд▓ рд▓реЗрдХрд┐рди рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп GUI рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдкрд╣рд▓реЗ Arduino IDE рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдерд╛, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рдПрдкреНрд▓реЗрдЯ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП ControlP5 рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЪреАрдЬреЛрдВ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдФрд░ рдЦреЛрдЬрдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдереА: 1) рджреВрд╕рд░реА рд╡рд┐рдВрдбреЛ рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░рдирд╛, 2) рджреВрд╕рд░реА рд╡рд┐рдВрдбреЛ рдХреЛ рдмрдВрдж рдХрд░рдирд╛, рд▓реЗрдХрд┐рди рддрд╛рдХрд┐ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗ, 3) рдордЬрд╝реЗ рдХреЗ рд▓рд┐рдП - рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рддреНрд░ рд╕реЗрдЯ рдХрд░рдирд╛ рдФрд░ рдмрдЯрди, рдкрд╛рд░рднрд╛рд╕реА рдмрдЯрдиред

рддреЛ, рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдХреЗрдЪ:

рдХреЛрдб рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ
 import processing.serial.*; import controlP5.*; import java.util.Date; Serial port; Textfield recived; Textfield recived1; Textfield recived2; Textfield recived3; Textfield recived4; Textfield recived5; String val; String data; String DateTab; String Dat; int data2=0; String time; Button vyvod; PrintWriter output; Table table2; int i=0; ControlP5 cp5; ControlP5 ax; PFont font; PFont font2; String[] args = {"YourSketchNameHere"}; SecondApplet sa; PImage fon; PImage fon2; PImage titlebaricon; //     void setup() { titlebaricon = loadImage("data/myicon.png"); surface.setIcon(titlebaricon); surface.setTitle(" "); //     ))) printArray(Serial.list()); port = new Serial(this, "/dev/ttyUSB0", 9600); // com  ( Ubuntu,  Windows  //com port) cp5 = new ControlP5(this); font = createFont("Arial", 20); //  fon = loadImage("data/phil.bmp"); //     fon2 = loadImage("data/fon2.bmp"); /*        void settings()*/ PImage img; img = loadImage("data/image1.bmp"); // -     "data"  image(img, 0, 0); tint(0, 255, 0, 126); //  - 50%      image(img, 50, 0); PImage img2; img2 = loadImage("data/image2.bmp"); image(img2, 0, 0); image(img2, 50, 0); //       // tint()       . PImage img3; //       . img3 = loadImage("data/image3.bmp"); image(img3, 0, 0); image(img3, 50, 0); PImage img4; img4 = loadImage("data/image4.bmp"); image(img4, 0, 0); image(img4, 50, 0); PImage img5; img5 = loadImage("data/imagezapros.bmp"); image(img5, 0, 0); image(img5, 50, 0); PImage img6; img6 = loadImage("data/temper.bmp"); image(img6, 0, 0); image(img6, 50, 0); cp5.addButton("Relay_1") .setSize (100, 50) .setPosition(50, 50) .setFont(font) .setImage(img) .setLabel(" 1"); cp5.addButton("Relay_2") .setSize (100, 50) .setPosition(250, 50) .setFont(font) .setImage(img2) .setLabel(" 2"); cp5.addButton("Relay_ON") .setSize (300, 50) .setPosition(50, 120) .setFont(font) .setLabel(" ") .setImage(img3); cp5.addButton("Relay_OFF") .setSize (300, 50) .setPosition(50, 190) .setFont(font) .setLabel(" ") .setImage(img4); cp5.addButton("Zapros_sostoyaniya") .setSize (300, 50) .setPosition(50, 260) .setFont(font) .setLabel(" ") .setImage(img5); recived=cp5.addTextfield(" ") .setSize(380,100) .setPosition(10, 340) .setColorValueLabel(0) .setFont(font) .setColorBackground(color(255, 255, 255)); cp5.addButton("temps") .setSize (380, 50) .setPosition(10, 500) .setColorBackground(color(70, 100, 0)) .setColorForeground(color(0, 0, 0)) .setFont(font) .setLabel("") .setImage(img6); } void settings(){ size(400, 560); } void draw() { background(fon); fill(0, 0, 0); textFont(font); text(" ", 135, 30); int s = second(); int m = minute(); int h = hour(); int d = day(); int mo = month(); int y = year(); DateTab = str(d)+ "." + str(mo) + "." + str(y) + (" ") + str(h) + (":") + str(m) + (":") + str(s); if ( port.available() > 0){ val = port.readString(); if(data2==0){ //        -   , recived.setText(val); // - com ,  -   . } /* data2 - ,    Second Applet     textfield   . */ } sa = new SecondApplet(); } void Relay_1(){ port.write("1"); } void Relay_2(){ port.write("2"); } void Relay_ON(){ port.write("3"); } void Relay_OFF(){ port.write("0"); } void Zapros_sostoyaniya(){ data2=0; port.write("4"); } void save123(){ //       data2=1; port.write("4"); delay(600); port.available(); Dat=DateTab + " " + val; table2 = loadTable("data/Journaltemp.ods"); //   table2.setString(0, 0, "t"); //     0.0 table2.removeColumn(0); /*  0,          */ TableRow newRow = table2.addRow(); //   newRow.setString(0, Dat); /*  0        ( )*/ saveTable(table2, "data/Journaltemp.ods"); //    data2=0; } void temps(){ PApplet.runSketch(args, sa); //  Second Applet } public class SecondApplet extends PApplet { public void setup(){ surface.setTitle(" "); surface.setIcon(titlebaricon); font2 = createFont("Arial", 20); /*   , ,    ..*/ ax = new ControlP5(this); ax.addButton("test1") .setSize(159, 70) .setPosition(1, 300) .setFont(font2) .setLabel(""); ax.addButton("test2") .setSize(158, 70) .setPosition(161, 300) .setFont(font2) .setLabel(""); ax.addButton("test3") .setSize(159, 70) .setPosition(320, 300) .setFont(font2) .setLabel(""); ax.addButton("test4") .setSize(159, 70) .setPosition(480, 300) .setFont(font2) .setLabel(""); ax.addButton("test5") .setSize(159, 70) .setPosition(640, 300) .setFont(font2) .setLabel(""); ax.addButton("obj") .setSize (790, 50) .setPosition(5, 540) .setColorBackground(color(70, 100, 0)) .setColorForeground(color(0, 0, 0)) .setFont(font) .setLabel(""); recived1 = ax.addTextfield(" ") .setSize(157, 70) .setPosition(2, 370) .setColorValueLabel(0) .setFont(font) .setColorBackground(color(255, 255, 255)); recived2=ax.addTextfield(" ") .setSize(156, 70) .setPosition(162, 370) .setColorValueLabel(0) .setFont(font) .setColorBackground(color(255, 255, 255)); recived3=ax.addTextfield(" ") .setSize(157, 70) .setPosition(321, 370) .setColorValueLabel(0) .setFont(font) .setColorBackground(color(255, 255, 255)); recived4=ax.addTextfield(" ") .setSize(157, 70) .setPosition(481, 370) .setColorValueLabel(0) .setFont(font) .setColorBackground(color(255, 255, 255)); recived5=ax.addTextfield(" ") .setSize(157, 70) .setPosition(641, 370) .setColorValueLabel(0) .setFont(font) .setColorBackground(color(255, 255, 255)); } public void settings() { size(800, 600); //    } public void draw() { background(fon2); //  )) textFont(font2); } public void test1(){ recived1.setText(" 11111"); } public void test2(){ recived2.setText(" 22222"); } public void test3(){ recived3.setText(" 33333"); //    Second Applet } public void test4(){ recived4.setText(" 44444"); } public void test5(){ recived5.setText(" 55555"); } public void obj(){ save123(); /*              */ } public void exitActual(){} //      [X]    . } //      ,       [X]. 


рдореБрдЭреЗ рдкреНрд░рд╛рдкреНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо:

рд╕рдордп
рджреЛ

рдореИрдВ рдЖрдкрд╕реЗ рдкреВрдЫрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЬреНрдпрд╛рджрд╛ рдХрд┐рдХ рди рдХрд░реЗрдВ- рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рдкрд░ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИ, рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдЗрд╕реЗ рдЗрддрдиреА рд╕рд░рд▓ рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдирд┐рдХрд▓рд╛ рдерд╛ред рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭрд╕реЗ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЕрдкрдиреЗ рдЬреА рдХреЛ рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рд╣реИ ... рдХреЛрдб - рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреАред

Source: https://habr.com/ru/post/hi478552/


All Articles