فهرست مطالب:

سیستم ردیاب خورشیدی خودکار EAL-Industry 4.0: 9 مرحله
سیستم ردیاب خورشیدی خودکار EAL-Industry 4.0: 9 مرحله

تصویری: سیستم ردیاب خورشیدی خودکار EAL-Industry 4.0: 9 مرحله

تصویری: سیستم ردیاب خورشیدی خودکار EAL-Industry 4.0: 9 مرحله
تصویری: 125 نوآورانه ترین وسایل نقلیه الکتریکی و حمل و نقل شخصی 2024, جولای
Anonim
Image
Image
سیستم ردیاب خورشیدی خودکار EAL-Industry 4.0
سیستم ردیاب خورشیدی خودکار EAL-Industry 4.0

من پروژه خود را تا زمان استفاده از IOT و استفاده از آن به صورت هوشمند ، با استفاده از برنامه و برنامه های کاربردی دیگر و همچنین حذف مجدد از پایگاه داده مورد بررسی قرار دادم. Fra databasen skal det da være muligt at hente dataen og vise den. با استفاده از این برنامه می توانید برنامه خود را در ویندوز از طریق arduino enhed و viser dette وارد کنید. از این پس می توانید اطلاعات موجود در پایگاه داده را تغییر دهید.

مرحله 1: Afgrænsning

برای شروع به کار با سیستم عامل در Solcelle ، در صورت تمایل می توانید از ولتاژ و پایگاه داده استفاده کنید. برای اولین بار به سیستم دسترسی پیدا کرده و ممنوع ، پایگاه داده ، اطلاعات و راهنمای Arduinoen sammen med Node-RED را انتخاب کنید. Samt dette havde vi også tænkt os at monitorere e reelt solcellepanel med en inverter. Vi måtte dog gentænke projektet، da vi ikke kunne få inverteren til at virke med solcellepanelet، derfor endte vi med at gå med en lille solcelle، som kunne moniteres direkte fra Arduinoen. با استفاده از قطره Node-RED ، می توانید از پروژه های دیگر استفاده کنید. من در برنامه lave en Windows ، hvor vi har samlet alle funktionerne ، افزودن داده های بیشتر از Arduinoen ، تأیید داده ها در پایگاه داده ، و همچنین پایگاه داده را بررسی کردم.

مرحله 2: Byg Et Solpanels Holder

دارنده Byg Et Solpanels
دارنده Byg Et Solpanels
دارنده Byg Et Solpanels
دارنده Byg Et Solpanels
دارنده Byg Et Solpanels
دارنده Byg Et Solpanels
دارنده Byg Et Solpanels
دارنده Byg Et Solpanels

با استفاده از این طرح می توانید از راه دور استفاده کنید و سپس از طریق چاپگر سه بعدی و چاپگرهای سه بعدی و با استفاده از چاپگرهای سه بعدی ، می توانید از آن استفاده کنید. derefter var det bare og montere panel og step motor på holderen vi har vedlagt filerne fra Inventor så de er lige til og bruge

مرحله 3: Automatisk Solpanel

Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel

solpanelet bruger 2 stk. گام موتور og 4 stk. سنسور lys hvor vi så kan måle lys værdigerne som vi bruger til og vælge hvilken retning panelet skal stå i for og få bedst udnyttelse af panelet vi har vedlagt koden til panelet

her er link til de forskellige komponenter der er indkøbt

www.amazon.co.uk/gp/product/B00KCP76CS/ref…

www.amazon.co.uk/Neuftech-Stepper-28BYJ-48…

www.amazon.co.uk/Photo-Resistor-5mm-Photoc…

www.amazon.co.uk/Arduino-A000066-ATMEGA328…

مرحله 4: ولت متر

ولت متر
ولت متر

من می توانم از پایگاه داده در هر جایی که می خواهم ارسال کنم ، از طریق آنالوگ ایندالوگ در Arduino på billedet kan i se hvordan det er forbundet و vi har også vedlagt koden til vores voltmeter را مشاهده کنید.

مرحله 5: Beskrivelse Af Programmet

Beskrivelse Af Programmet
Beskrivelse Af Programmet

Vores ide med dette program er at lave en Windows app، der kan vise voltagen live fra en solcelle. Dette gør vi ved at første at oprette en forbindelse mellem den Arduino som læser voltagen fra solcellen og app’en. Dataen kan nu blive lest fra Arduinoen ved at trykke på "Læs data fra Arduino"، man vælger hvor mange datasæt man innsker ved at skrive dette antal i "Antal man ønsker fra solcelle" ، datasættene kommer med و sekunds mellemrum. در حال حاضر ، می توانید داده ها را در پایگاه داده بارگذاری کنید ، در صورت تمایل و برچسب زمانی و شناسه unik. من می خواهم از پایگاه داده خود استفاده کنم ، می توانم اطلاعاتی را در مورد اطلاعات و اطلاعات من در مورد داده های موجود در "Antal der hentes fra databasen" پیدا کنم. Man kan nu vælge at for vist gennemsnittet fra disse ved at makkere de datasæt man ønsker gennemsnittet af.

مرحله 6: کد

با استفاده از System ؛ با استفاده از System. Collections. Generic ؛ با استفاده از System. ComponentModel ؛ با استفاده از System. Data ؛ با استفاده از System. Drawing ؛ با استفاده از System. Linq ؛ با استفاده از System. Text ؛ استفاده از System. Threading. Tasks؛ با استفاده از System. Windows. Forms ؛ با استفاده از System. IO. Ports ؛ استفاده از MySql ؛ با استفاده از MySql. Data. MySqlClient ؛ با استفاده از System. Globalization ؛ فضای نام WindowsFormsApp1 {کلاس عمومی جزئی Form1: Form { /* Her har vi vores data to connectionstring. در صورت تمایل نمی توانید در پایگاه داده پایگاه داده یا سرور خود را بیابید.*/ private SerialPort myport؛ string _server = "127.0.0.1"؛ string _database = "test"؛ string _uid = "root"؛ string _pwd = ""؛ فرم عمومی 1 () {InitializeComponent ()؛ } /* I denne Void laver vi vores connectionstring til vores database vi bruger de data overfor. Hvis der laves en connections vil der komme en hvor der står "connected" Hvis der ikke kan laves en connection to databasen vil der kommer en errormessage hvor i der står "اتصال برقرار نشد ، لطفاً اتصال خود را بررسی کنید" */ خصوصی void knap_Click (شی فرستنده ، EventArgs ه) {try {// Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. string myConn = "server =" + _server + "؛ database =" + _batabase + "؛ uid =" + _uid + "؛ pwd =" + _pwd + "؛"؛ اتصال MySqlConnection = MySqlConnection جدید (myConn) ؛ اتصال باز ()؛ MessageBox. Show ("متصل") ؛ } catch (استثنا) {MessageBox. Show ("اتصال متصل نشد ، لطفاً اتصال خود را بررسی کنید")؛ }} /* من پایگاه داده پایگاه داده را از فرستنده خالی می کنم. اطلاعات داده ها را می توان در سیستم مدیریت داده ها و داده ها در جعبه داده یا در جعبه اطلاعاتی که در آن قرار داده شده است در پایگاه داده قرار داد. برای ارسال داده ها به DB "یا حذف داده ها به DB" و حذف مجدد جعبه داده ها */ private void insetDB_Click (فرستنده شیء ، EventArgs e) {// Her laver vi en string hvor vi skriver hvordan vores connetions or til databasen. string myConn = "server =" + _server + "؛ database =" + _batabase + "؛ uid =" + _uid + "؛ pwd =" + _pwd + "؛"؛ با استفاده از (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open ()؛ // I vores foreach statment læser den alle linjerne i vores Data Box ind indsætters være for sig inde i tablen power and rækken volt and databasen foreach (var lines in textBoxDB. Lines) {string myInsert = "INSERT INTO power (volt) VALUES ('" + lines. ToString () +"') "؛ MySqlCommand cmd = MySqlCommand جدید (myInsert ، conn) ؛ cmd. ExecuteNonQuery ()؛ } conn. Close ()؛ MessageBox. Show ("داده ها تا پایگاه داده ارسال می شوند") ؛ textBoxDB. Clear ()؛ }} /* I denne Void henter vi det data vi har gemmt i vores base data. vi har en tekstbox hvor der er lavet 3 kolonner hvor der kommer forsekilg data ind. Den første viser data id der efter vises hvad volten var og til sidst kan du se tidspunket det er målt på. lige nu hentes det antal man har valgt til målinger men det kan laves om hvis man ønsker at se felre eller mindre.*/ private void knapDBGet_Click (فرستنده شیء ، EventArgs e) {listViewDb. Clear ()؛ // Her bliver de 3 kolonner lavet. listViewDb. Columns. Add ("id") ؛ listViewDb. Columns. Add ("ولت") ؛ listViewDb. Columns. Add ("تاریخ") ؛ listViewDb. MultiSelect = true؛ listViewDb. View = View. Details؛ // Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. string myConn = "server =" + _server + "؛ database =" + _batabase + "؛ uid =" + _uid + "؛ pwd =" + _pwd + "؛"؛ با استفاده از (MySqlConnection conn = new MySqlConnection (myConn)) {conn. Open ()؛

// Her henter vi de sidste til 20 id der er indsat and tablen Power i databasen.

int antal = int. Parse (textBoxAntal. Text) ؛ string myInsert = "SELECT * FROM (SELECT * FROM power ORDER BY id DESC LIMIT"+antal+") sub ORDER BY id ASC"؛ MySqlCommand cmd = MySqlCommand جدید (myInsert ، conn) ؛

// Her laver vi en data tabel (dTable) hvor den data vi henter و databasen bliver lagt ind.

MySqlDataAdapter MyAdapter = جدید MySqlDataAdapter ()؛ MyAdapter. SelectCommand = cmd؛ DataTable dTable = DataTable جدید ()؛ MyAdapter. Fill (dTable) ؛ for (int i = 0؛ i <dTable. Rows. Count؛ i ++) {// Her fordeler vi det data vi lagt ind i dtable ud i de 3 kolonner vi oprettede tidliger i koden. DataRow dataRow = dTable. Rows ؛ ListViewItem listitem = جدید ListViewItem (dataRow ["id"]. ToString ())؛ listitem. SubItems. Add (dataRow ["ولت"]. ToString ())؛ listitem. SubItems. Add (dataRow ["date"]. ToString ())؛ listViewDb. Items. Add (listitem) ؛ } conn. Close ()؛ }

}

/* I denne Void har vi lavet en funktion hvor vi kan regne gennemsnitet af det makere data vi har hentet fra databasen.

Du makere det du vil lægge sammen og i bunden af teksboxen står der hvad gennemsnitet. Hvis der sker en fejl vil den skrive en massage at hvor der står "Error 40: User is a dummy" */ private void listViewDb_SelectedIndexChanged (فرستنده شیء ، EventArgs e) {try {float output = 0؛ if (listViewDb. SelectedItems. Count> = 2) { /* خروجی وی در خروجی می تواند 0 sammen med den mærkeret data som bliver lavert om til data floen og derefter divideres der med den antal der er mærkert så den regner gennemsnitet af ولتاژ Ved at vi brugte CultureInfo. InvariantCulture kan vi få lov til at bruge. i vores komatal */ foreach (ListViewItem item in listViewDb. SelectedItems) {output += float. Parse (item. SubItems [1]. Text، CultureInfo. InvariantCulture)/ listViewDb. SelectedItems. Count؛ } Output. Text = output. ToString ()؛ }} catch {MessageBox. Show ("خطای 40: کاربر آدمک است")؛ }} /* I denne Void har vi lavet så den kan læse på serieport i vores tilfælde på en arduino. Den læser hvad der står i serieport på com port3 og ligger den data vi modtager ind i vores Data Box Når vi trykker på خواندن داده ها læser den de næste 50 linjer der bliver sendt til serieporten Hvis der er en fejl så den ikke kan læse daten vil der komme en errobox hvor der vil stå "god help you" */ private void startBn_Click (فرستنده شیء ، EventArgs e) {// Her skriver du de data du skal bruge til at kunne connct til det du skal læse fra. textBoxDB. Clear ()؛ myport = جدید SerialPort ()؛ myport. BaudRate = 9600؛ myport. PortName = textBoxPort. Text؛ myport. DataBits = 8؛ myport. StopBits = StopBits. One؛ سعی کنید {// Her siger vi hvor mange den skal ind læse af gangen og hvor det skal ligges henne. myport. Open ()؛ for (int i = 1؛ i <= int. Parse (textBoxAntalArduino. Text)؛ i ++) {string inData = myport. ReadLine ()؛ textBoxDB. AppendText (inData) ؛ } myport. Close ()؛ } گرفتن (استثنا) {

MessageBox. Show ("Der udfylt forkert")؛

}

} private void helpBt_Click (فرستنده شیء ، EventArgs e)

{MessageBox. Show ("1 کلیک کنید و اطلاعات بیشتری را در تاریخ دیگری در برنامه من مشاهده کنید." p database læs fra database for at læse den gemet data. " +" / n " +" 4 man kan klike på id for at renge gennemsnite af de valt dataer ud. " +" / n " +" 5 Forbinles test ser om databasen køre. " +" / n " +" port navn skal udfyldes med den port man har sat solcellen til " +" / n " +" der skal skrives et antal på hvor mange man vil hendte fra solcellen " +" / n " +" Antal der skal hentes fra databasen skal udfyldes ")؛ }}}

مرحله 7: پایگاه داده

پایگاه داده
پایگاه داده

با این حال ، در راه های حل مشکل ، می توانید با استفاده از آن به راحتی از این طریق وارد عمل شوید. Vi ville også gerne kunne se hvad den lave ved tidliger målinger ، eller hvad den i gennemsnittet har productionret i den sidste tid. For at kunne gemme det data har vi lavet en database and wampserver. با استفاده از برنامه و برنامه در Visual studio و فرستنده آن می توانید با استفاده از ولتاژهای مختلف به پایگاه داده بروید. Databasen gemmer værdien som en varchar، da vi havde store problemer med at databasen ville modtage komatal، hvis den gemte dem i double. پایگاه داده Vores را به همه افراد و همکاران خود در این زمینه می توانم اضافه کنم و از آنها استفاده کنم. Vores app can hente den forskellige data fra databasen ، می تواند به شما این امکان را بدهد که بتوانید genenemsnittet را از طریق målingerne استفاده کنید.

مرحله 8: HTML Hjemmeside

HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside
HTML Hjemmeside

در صورت استفاده از داده های دیگر برای پایگاه داده های موجود ، می توانید از HTML و CSS استفاده کنید. HTML er blevet brugt til at bygge alle elementerne op på siden و linke til data side side to man at man kan komme mellem de to side.

CSS er blevet brugt til at give html elementerne farve og til at give den afstand der skal være mellem alting på hjemmesiden.

مرحله 9: PHP Hjemmeside

PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside
PHP Hjemmeside

ved brugen af php er der blevet lavet en hjemmeside sådan at en ikke tekniker er i stand til at læse data ud fra solcellen.

denne side er lavet ved at php connector til databasen و henter dataen ind på hjemmeside lige så snart man loader den. ved brugen af CSS kode er det blevet sat op på en nem og overskuelige måde، med alt den data der kommer fra databasen.

توصیه شده: