Talaan ng mga Nilalaman:

EAL-Industry 4.0 Awtomatikong Solar Tracker System: 9 Mga Hakbang
EAL-Industry 4.0 Awtomatikong Solar Tracker System: 9 Mga Hakbang

Video: EAL-Industry 4.0 Awtomatikong Solar Tracker System: 9 Mga Hakbang

Video: EAL-Industry 4.0 Awtomatikong Solar Tracker System: 9 Mga Hakbang
Video: Bro’s hacking life 😭🤣 2024, Hulyo
Anonim
Image
Image
EAL-Industry 4.0 Awtomatikong Solar Tracker System
EAL-Industry 4.0 Awtomatikong Solar Tracker System

Natutukoy ko ang proyekto na ito upang mabigyan ng talento ang aking talino sa pag-aaral, upang mai-scan ang data sa aking app / mag-apply at mag-ayos ng ilang database. Fra databasen skal det da være muligt at hente dataen og vise den. Maging ang valgt at ang detalyado na ito ay mag-iisa, mag-iwan ng voltagen sa pamamagitan ng en arduino enhed at viser dette sa Windows app. Hvor det herefter er muligt at lagre og hente denne data fra en database.

Hakbang 1: Afgrænsning

Mas mabilis na magsimula sa iyo sa pamamagitan ng pag-download ng Solcelle, para sa iyo upang mag-aral kung paano mo ito mabago at mag-imbak sa iyong database. Først havde vi tænkt os at lave en hjemmeside og forbinde, databasen, hjemmesiden og Arduinoen sammen med Node-RED. Samt dette havde vi også tænkt os at monitorere e reelt solcellepanel med en inverter. Sa gayon ang aso ay mag-uusap ng mga proyekto, at ang mga ito ay dapat na mag-inverteren hanggang sa virke med solcellepanelet, derfor endte vi med at gå med en lille solcelle, som kunne moniteres direkte fra Arduinoen. Magtatapos ka rin sa droppe Node-RED, mula sa iyo at gawin itong proyekto. Itinakda ko ang valgte vi at lave sa Windows app, upang makita ang samlet na ito ng lahat ng funktionerne, altså data opsamlingen fra Arduinoen, lagringen af denne data at ang database, samt læsning af databasen.

Hakbang 2: Byg Et Solpanels Holder

Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder
Byg Et Solpanels Holder

Magagawa mong mag-disenyo ng may-ari ng solpanel så vi para ma-access ang rtert efter solen vi valgte at tegne det i 3D så vi kunne printe delene ud i en 3D printer na mag-sklle na hubad na passe efter det solpanel vi har indkøbt. derefter var det bare og montere panel at step motor para sa may-ari ng vi har vedlagt filerne fra Inventor så de er lige til og bruge

Hakbang 3: Automatisk Solpanel

Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel
Automatisk Solpanel

solpanelet bruger 2 stk. Hakbang motor og 4 stk. lys sensor 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

ang kanyang 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…

Hakbang 4: Voltmeter

Voltmeter
Voltmeter

vi skal nu bruge nogle data som vi kan sende til database der har vi brugt solpanelets volt og læser dem på en analog indgang på en Arduino på billedet para i se hvordan det er forbundet og vi har også vedlagt koden til vores voltmeter.

Hakbang 5: Beskrivelse Af Programmet

Beskrivelse Af Programmet
Beskrivelse Af Programmet

Ang mga pangunahing ideya sa programa sa Windows app, upang makita ang voltagen live na sol solon. Dette gør vi ved at første at oprette en forbindelse mellem den Arduino som læser voltagen fra solcellen og app'en. Ang data na ito ay maaaring mabigyan ng Arduinoen at subukan ito”Mag-iwan ng data mula sa Arduino”, bilang isang tao sa pamamagitan ng isang tao na nagtapos sa skrive dette antal sa”Antal na tao nang mag-isa”, datasættene kommer med et sekunds mellemrum. Ang lahat ng mga datasættene er læst, ay maaaring mag-upload ng data hanggang sa database, upang mai-blive ang tildelt at timestamp at isang natatanging ID. I app’en er der også mulighed for at hente dataen fra database, ang tao ay mas mahusay na mag-isip ng mga ito sa isang tao, na nag-uusap at nagsulat ng numero sa textboksen”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.

Hakbang 6: Kode

gamit ang System; gamit ang System. Collection. Generic; gamit ang System. ComponentModel; gamit ang System. Data; gamit ang System. Pagguhit; gamit ang System. Linq; gamit ang System. Txt; gamit ang System. Treading. Tasks; gamit ang System. Windows. Forms; gamit ang System. IO. Ports; gamit ang MySql; gamit ang MySql. Data. MySqlClient; gamit ang System. Globalization; namespace WindowsFormsApp1 {pampublikong bahagyang klase Form1: Form {/ * Ang kanyang har vi vores data hanggang sa koneksyontring. Maaring mabigyan ng detalyadong impormasyon ang server ng server. * / Pribadong SerialPort myport; string _server = "127.0.0.1"; string _database = "pagsubok"; string _uid = "root"; string _pwd = ""; pampublikong Form1 () {InitializeComponent (); } / * Tinitiyak ko ang Void laver vi vores na koneksyon hanggang sa ang database ng vi vi bruger de data overfor. Hvis der laves en koneksyon vil der komme en messagebox hvor der står "konektado" Hvis der ikke para laves en connection til databasen vil der kommer en errormessage hvor i der står "Nabigong kumonekta mangyaring suriin ang iyong koneksyon" * / pribadong void knap_Click (object nagpadala, EventArgs e) {try {// Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; MySqlConnection connection = bagong MySqlConnection (myConn); koneksyon. Buksan (); MessageBox. Show ("Nakakonekta"); } catch (Exception) {MessageBox. Show ("Nabigong kumonekta mangyaring suriin ang iyong koneksyon"); }} / * Pinawalang-bisa ko ang nagpadala sa aking database. Ang datos na ito ay maaaring magpatuloy upang mai-install ang Data Box upang masubukan ang mga ito sa pamamagitan ng pagsulat ng impormasyon tungkol sa pagpapadala ng databasen. Maging ang mga mensahe sa mensahe ng "ipadala ang data sa DB" at upang maiwasang bliver Data Box cleart * / pribadong walang bisa insetDB_Click (tagapadala ng bagay, EventArgs e) {// Ang kanyang laver vi en string hvor vi skriver hvordan vores koneksyon ay hanggang sa databasen. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; gamit ang (MySqlConnection conn = bagong MySqlConnection (myConn)) {conn. Open (); // I vores precach statment læser den alle linjerne i vores Data Box and indsætters være for sig inde i tablen power og rækken volt i databasen frontach (var lines in textBoxDB. Lines) {string myInsert = "INSERT INTO power (volt) VALUES ('"+ lines. ToString () +"') "; MySqlCommand cmd = bagong MySqlCommand (myInsert, conn); cmd. IpatupadNonQuery (); } conn. Close (); MessageBox. Show ("Ipinadala ang data sa database"); textBoxDB. Clear (); }} / * Tinukoy ko ang Void henter sa detalyadong data sa pamamagitan ng data base. vi har en tekstbox hvor der er lavet 3 kolonner hvor der kommer abandonekilg data ind. Ang data ng viser na ito ay maaaring makita sa pamamagitan ng iyong panuntunan sa iyo kung hindi ka makakakuha ng detalyadong impormasyon. 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 (object sender, EventArgs e) {listViewDb. Clear (); // Ang kanyang bliver de 3 kolonner lavet. listViewDb. Columns. Add ("id"); listViewDb. Columns. Add ("volt"); listViewDb. Columns. Add ("petsa"); listViewDb. MultiSelect = totoo; listViewDb. View = View. Details; // Her laver vi en string hvor vi skriver hvordan vores connetions er til databasen. string myConn = "server =" + _server + "; database =" + _database + "; uid =" + _uid + "; pwd =" + _pwd + ";"; gamit ang (MySqlConnection conn = bagong MySqlConnection (myConn)) {conn. Open ();

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

int antal = int. Parse (textBoxAntal. Txt); string myInsert = "SELECT * MULA SA (SELECT * MULA sa power ORDER NG id DESC LIMIT" + antal + ") sub ORDER BY id ASC"; MySqlCommand cmd = bagong MySqlCommand (myInsert, conn);

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

MySqlDataAdapter MyAdapter = bagong MySqlDataAdapter (); MyAdapter. SelectCommand = cmd; DataTable dTable = bagong DataTable (); MyAdapter. Fill (dTable); para sa (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 = bagong ListViewItem (dataRow ["id"]. ToString ()); listitem. SubItems. Add (dataRow ["volt"]. ToString ()); listitem. SubItems. Add (dataRow ["date"]. ToString ()); listViewDb. Mga Item. Magdagdag (listitem); } conn. Close (); }

}

/ * Tinukoy ko ang Void har vi lavet en funktion hvor vi para 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 hvor der står "Error 40: User is a dummy" * / private void listViewDb_SelectedIndexChanged (object sender, EventArgs e) {try {float output = 0; kung (listViewDb. SelectedItems. Count> = 2) {/ * Ang kanyang ligger vi vores output som 0 sammen med den mærkeret data som bliver lavert om til data typen float og derefter divideres der med den antal der er mærkert så den regner gennemsnitet af mabulok Ved at vi brugte CultureInfo. InvariantCultural para sa iyo upang maibahagi sa bruge. i vores komatal * / maaga (ListViewItem item sa listViewDb. SelectedItems) {output + = float. Parse (item. SubItems [1]. Teksto, CultureInfo. InvariantCultural) / listViewDb. SelectedItems. Count; } Output. Txt = output. ToString (); }} mahuli ang {MessageBox. Show ("Error 40: Ang gumagamit ay isang dummy"); }} / * Tinukoy ko ang Void har vi lavet så den para læse på serieport i vores tilfælde på en arduino. Tungkol dito ang serye ng aking serye sa port3 at ligger ang data na ito upang mabago ang data Box Data upang subukin ang Basahin ang data upang maiwasang 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 (object sender, EventArgs e) {// Her skriver du de data du skal bruge til at kunne connct til det du skal læse fra. textBoxDB. Clear (); myport = bagong SerialPort (); myport. BaudRate = 9600; myport. PortName = textBoxPort. Txt; myport. DataBits = 8; myport. StopBits = StopBits. One; subukan ang {// Her siger vi hvor mange den skal ind læse af gangen og hvor det skal ligges henne. myport. Buksan (); para sa (int i = 1; i <= int. Parse (textBoxAntalArduino. Text); i ++) {string inData = myport. ReadLine (); textBoxDB. AppendText (inData); } myport. Close (); } catch (Exception) {

MessageBox. Show ("Der udfylt forkert");

}

} pribadong void helpBt_Click (nagpadala ng object, EventArgs e)

{MessageBox. Show ("1 Mag-click sa data para sa solse para sa petsa ng programa." + "\ N" + "2 i-click ang aking database para sa gemme dataen." + "\ N" + "3 i-click på læs fra database for at læse den gemet data. "+" / n "+" 4 na tao para sa iyo para sa renge gennemsnite af de valt dataer ud. "+" / n "+" 5 Test forbinles 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 "); }}}

Hakbang 7: Database

Database
Database

Da vi besluttede at vi ville lave en solcellestyring, ville det være smart at vi kunne se hvor mange volt den laver lige nu. Kung nais mong makita kung ano ang nais kong gawin sa pamamagitan ng pag-uusap, maaari kong makita kung sino ang gumagawa ng mga ito? Para sa kunne gemme det data har vi lavet en database i wampserver. Magagawa ko ito at programa sa Visual studio upang magpadala ng isang string para sa karagdagang impormasyon. Databasen gemmer værdien som en varchar, da vi havde store problemer med at databasen ville modtage komatal, hvis den gemte dem i double. Ang nagbigay ng database ay nagbibigay sa lahat ng ito ay naiiba sa isang tao upang makita ang mga ito, at maaari itong magamit nang higit pa. Ang app na ito ay maaaring magtago ng data mula sa iyong data, upang masuri ang mga ito at mag-iwan ng mga gennemsnittet na ito.

Hakbang 8: HTML Hjemmeside

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

Magagawa mong iligtas ang lahat para sa datos ng datos para sa mga databasen, sa kabilang panig ng bygget op ved hjælp HTML at CSS. Ang HTML ay namumula sa brugt hanggang sa bygge ng lahat ng elemento sa pamamagitan ng link at pag-link ng data sa tabi ng tao at kung saan maaari kang umabot sa gilid.

Ang CSS ay nagpuputi ng brugt hanggang sa magbigay ng html elementerne farve at til at give den afstand der skal være mellem alting på hjemmesiden.

Hakbang 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 konecter til databasen og henter dataen ind på hjemmeside lige så snart man loader den. ved brugen af CSS code er det blevet sat op på en nem og overskuelige måde, med alt den data der kommer fra databasen.

Inirerekumendang: