Talaan ng mga Nilalaman:

Pandaigdigang Link ng Microcontroller para sa ilalim ng $ 20: 15 Mga Hakbang
Pandaigdigang Link ng Microcontroller para sa ilalim ng $ 20: 15 Mga Hakbang

Video: Pandaigdigang Link ng Microcontroller para sa ilalim ng $ 20: 15 Mga Hakbang

Video: Pandaigdigang Link ng Microcontroller para sa ilalim ng $ 20: 15 Mga Hakbang
Video: Tenochtitlan: the Lost Realm of Cain? | ANUNNAKI SECRETS 42 | The Lost Realms by Zecharia Sitchin 2024, Hulyo
Anonim
Pandaigdigang Link ng Microcontroller sa ilalim ng $ 20
Pandaigdigang Link ng Microcontroller sa ilalim ng $ 20

Kontrolin ang iyong termostat sa bahay mula sa trabaho. I-on ang isang pandilig mula sa kahit saan sa mundo sa pamamagitan ng pag-flick ng isang switch. Ipinapakita ng Instructable na ito kung paano i-link ang dalawa o higit pang $ 4 microcontrollers gamit ang gulugod ng internet at ilang simpleng VB. Net code. Bumubuo ito sa isang naunang Instructable na nagpapakita kung paano i-link ang isang microcontroller sa isang PC at gumamit ng isang palayok upang makontrol ang isang servo https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ Sa oras na ito mayroon kaming isang microcontoller na nakikipag-usap sa isang VB. Net na programa pagkatapos sa isang ftp website, bumalik sa isa pang VB. Net programa at pagkatapos ay isang pangalawang microcontroller kahit saan sa mundo, mayroon o walang interbensyon ng tao. Paano pa ang mga machine sa The Matrix na dapat na sakupin kung hindi sila maaaring makipag-usap sa bawat isa?

Hakbang 1: Ipunin ang Mga Bahagi

Ipunin ang Mga Bahagi
Ipunin ang Mga Bahagi

Marami sa mga bahagi ay kapareho ng sa PC Control Instructable https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ at iminungkahing makumpleto muna ito bago subukan. upang mai-link ang dalawang mga microcontroller. Habang posible na gumamit ng isang palayok upang makontrol ang isang servo, sa oras na ito ay pupunta kami para sa isang mas simple - isang switch na binubuksan ang isang led. Ang switch ay maaaring isang sensor ng antas ng tanke at ang led ay maaaring isang pump down malapit sa isang ilog ngunit kumuha muna tayo ng isang simpleng bagay na gumagana. Mga Bahagi - Dalawang Picaxe 08M chips - magagamit mula sa maraming mga mapagkukunan kasama ang Rev Ed https://www.rev- ed.co.uk/picaxe/ (UK), PH Anderson https://www.phanderson.com/ (USA) at Microzed https://www.microzed.com.au/ (Australia). Ang mga chips na ito ay mas mababa sa $ 4US. Dalawa sa: Protoboard, 9V baterya at mga clip ng baterya, 10k risistor, 22k risistor, 33uF 16V capacitor, 0.1uF capacitor, 7805L mababang kapangyarihan 5V regulator, mga wire (solidong pangunahing telepono / data wire tulad ng Cat5 / 6), LED, 1k resistor. 1 ng: D9 babaeng socket at takip at 2 metro ng 3 (o 4) pangunahing data wire (para sa pag-download) at isang toggle switch. 2 computer na may 9 pin serial port (maaaring ma-debug sa isang computer) at isang koneksyon sa internet. Para sa mga computer na walang serial port, isang USB sa serial device https://www.rev-ed.co.uk/docs/axe027.pdf at isang maliit na socket ng stereo.

Hakbang 2: Mag-download at Mag-install ng Ilang Software

Mag-download at Mag-install ng Ilang Software
Mag-download at Mag-install ng Ilang Software

Kakailanganin namin ang libreng VB. Net at ang picaxe controller software at kung nagawa mo na ang PC controller Instructable magkakaroon ka na ng mga ito. Ang VB. Net (Visual Basic Express) ay magagamit mula sa https://msdn2.microsoft.com/en -us / express / aa718406.aspx Ang picaxe software ay magagamit mula sa https://www.rev-ed.co.uk/picaxe/Kailangan mong magrehistro sa microsoft upang makuha ang pag-download - kung ito ay isang problema gumamit ng isang pekeng email o kung ano-ano. Talagang natagpuan ko na kapaki-pakinabang ang pagbibigay ng aking totoong email habang nagpapadala sila paminsan-minsan na mga pag-update. Babanggitin ko rin ang forum ng picaxe https://www.picaxeforum.co.uk/ dahil ito ang uri ng forum na tinatrabaho ng mga guro at guro at kung saan ang mga mag-aaral ay karaniwang makakakuha ng mga sagot sa mga katanungan sa loob ng ilang oras. Ang forum ay napaka-unawa ng kahit na ang pinakasimpleng mga katanungan dahil ang ilan sa mga mag-aaral ay nasa antas ng paaralang primarya pa rin. Mangyaring huwag matakot na humingi ng tulong!

Hakbang 3: Bumuo ng isang Circuit sa Pag-download

Bumuo ng isang Circuit sa Pag-download
Bumuo ng isang Circuit sa Pag-download

Ang download circuit na ito ay gumagamit ng isang picaxe chip, isang pares ng mga resistors, isang regulator at isang 9V na baterya. Ang karagdagang impormasyon ay magagamit sa dokumentasyon / tulong ng picaxe na lumalabas sa menu ng tulong ng programa. Ang circuit ay dapat tumagal lamang ng ilang minuto upang makabuo ng isang beses ang lahat ng mga bahagi ay upang ibigay. Kapag na-program ang isang maliit na tilad ay pinapanatili nito ang programa nito sa EEPROM kahit na naka-off ang kuryente. Dahil nagpaprogram kami ng dalawang chips maaaring suliting lagyan ng label ang mga chips upang malaman mo kung alin ang alin. Maaari kang laging bumalik at muling magprogram ng isang maliit na tilad sa pamamagitan ng pag-alis ng isang link at paglipat ng isang risistor.

Maaari ko ring idagdag na ang mga picaxes ay masayang tumatakbo sa 3 baterya ng AA. Ang isang kinokontrol na supply ng 5V ay kapaki-pakinabang para sa pagpapatakbo ng mga analog na input dahil ang mga voltages ng sanggunian ay hindi nagbabago, ngunit para sa mga simpleng on / off na circuit ay hindi kinakailangan ng isang kinokontrol na supply. Ang 5V reg ay maaaring iwanang sa mga sitwasyong ito.

Hakbang 4: I-program ang Chips

Program ang Chips
Program ang Chips

Tatawagan namin ang isang programa na Tx at isang Rx. Ang Tx ay ang control chip at mayroong switch at isang led. May lead din si Rx. Kapag binago ng switch ang signal ay mula sa Tx hanggang Rx, binabago ang led at binabago din ang pangalawang variable na pagkatapos ay bumalik sa Tx. Kaya't i-flick ang switch at mas mababa sa isang minuto ang humantong mga pagbabago sa parehong mga circuit na nagpapahiwatig na ang mensahe ay nakarating doon at ang Rx ay kumikilos sa bagong posisyon ng switch. Sa pinakasimpleng antas ng picaxe ay may 14 na solong byte na rehistro. Kapag nilikha ang isang virtual network na naka-link namin ang lahat ng mga pagrehistro magkasama kaya kung ang isang byte ay nagbabago sa isang picaxe nagbabago ito sa lahat ng mga picaxes. Malinaw kung ang dalawang mga picaxes ay sumusubok na baguhin ang parehong byte pagkatapos ito ay magiging lubhang nakalilito ngunit kung ang bawat picaxe ay nagbago lamang ng isang byte pagkatapos ang lahat ng iba pang mga picaxes ay maaaring makita ang pagbabago na at maaaring kumilos dito. Ang mga simpleng mensahe ay maaaring maipasa pabalik at pasulong kung ang isang tiyak na byte ay binago lamang ng isang picaxe. Ang isang palayok ay maaaring magbago ng halaga sa isang rehistro at ang isa o higit pang mga picaxes ay maaaring madama ang pagbabago na iyon at ilipat ang isang servo o kung ano pa man at i-on ang isang pampainit. Ang isang pangalawang rehistro ay maaaring ibalik ang temperatura sa silid. Kopyahin at i-paste ang mga programa sa turn sa picaxe programmer at i-download ang mga ito sa bawat isa sa kani-kanilang mga chips gamit ang asul na download arrow mula sa loob ng picaxe programmer. Tx: pangunahing: serin 3, N2400, ("Data"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'kumuha ng packet mula sa computer kung pin2 = 0 pagkatapos ay 'subukan ang switch at itakda ang magparehistro b0 depende sa katayuan b0 = 0 pa b0 = 1 endif kung b1 = 0 pagkatapos' iba pang mga picaxe set b1 depende sa b0 mababa 1 'na humantong sa ibang mataas na 1' na humantong sa endif serout 0, N2400, ("Data", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'ipadala muli sa computer goto mainand Rx: pangunahing: serin 3, N2400, ("Data"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'kumuha ng packet mula sa computer b1 = b0' baguhin ang rehistro b1 sa pantay na rehistro b0 kung b1 = 0 pagkatapos ay mababa ang 1 'humantong sa iba pang mataas na 1' na humantong sa endif serout 0, N2400, ("Data", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'ipadala pabalik sa pangunahing computer goto

Hakbang 5: Buuin ang Tx Circuit

Buuin ang Tx Circuit
Buuin ang Tx Circuit

Kung ikaw ay pabalik-balik sa pagitan ng isang gumaganang circuit at isang circuit ng programa siguraduhing baguhin ang koneksyon sa leg 2 at ang lokasyon ng 22k risistor mula sa leg 2 hanggang leg 4. O maaari kang bumuo ng isang nakalaang download circuit at ilipat ang mga chips sa kabila Tandaan lamang kung ang isang circuit ay tumatakbo o pag-download dahil maaari itong makakuha ng lubos nakalilito. Sa partikular, tandaan na ang isang tumatakbo na circuit ay hindi gagana kung ang leg 2 ay naiwan na lumulutang - kailangan itong saligan. Ang Leg 2 ay ang download pin at kung maiiwan itong lumulutang kumukuha ito ng ligaw na RF mula sa mga ilaw ng flouro at iniisip ng maliit na tilad na may isa pang programa na nai-download.

Ito rin ay nagkakahalaga ng pagbanggit ng picaxe nomenclature na tumatawag sa isang pisikal na pin isang binti at isang virtual pin na isang pin. Sa gayon ang isang output sa pin 2 sa code ay talagang isang output sa pisikal na binti 5. Maaaring mukhang kakaiba ito ngunit nangangahulugan ito na ang code ay maaaring mai-port sa mas malaking mga picaxes tulad ng 28 at 40 pin na mga bersyon at gumagana pa rin.

Hakbang 6: Buuin ang Rx Circuit

Buuin ang Rx Circuit
Buuin ang Rx Circuit

Ang circuit na ito ay halos kapareho ng transmiter - wala lamang itong switch.

Hakbang 7: Sumulat ng Ilang VB. Net Code

Sumulat ng Ilang VB. Net Code
Sumulat ng Ilang VB. Net Code

Maaari kong maiipon ang code at gawing magagamit ang program na ito bilang isang naipon.exe ngunit ang pag-aaral ng ilang VB. Net ay napakahusay na kapaki-pakinabang na sulit na dumaan ito sa hakbang-hakbang. Kung pinapatakbo mo ito sa dalawang magkakaibang computer maaari mong Buuin ang programa sa isang.exe na lumilikha ng isang maliit na programa ng pag-setup na maaaring mai-install sa pangalawang computer. O maaari mong ilagay ang VB. Net sa parehong mga computer at patakbuhin ang mga programa mula sa loob ng VB. Ipagpalagay natin na alam mo kung paano magbukas ng isang bagong proyekto ng VB.net mula sa hakbang 7 at 8 ng https://www.instructables.com/id/S1MMU2XF82EU2GT / Sa blangko na form idagdag natin ang mga sumusunod na sangkap mula sa toolbar at ilagay ang mga ito sa form sa mga lokasyon tulad ng ipinakita. Para sa mga label at mga textboxes, baguhin ang pag-aari ng teksto (higit sa kanang bahagi sa ibaba) sa kung ano ang kinakailangan. Huwag mag-alala tungkol sa mga setting para sa timer - babaguhin namin ang mga ito sa code ngunit tiyaking maglalagay ng timer. Maaari mong ilipat ang mga bagay sa paligid at walang totoong mga patakaran tungkol sa lokasyon. Ang malaking kahon ng teksto ay isang RichTextBox at ang maliit na tatlo ay mga ordinaryong Textbox. Sa mga tuntunin ng pagkakasunud-sunod nagsisimula na kami sa tuktok ng form at bumababa. Kung iniwan mo ang isang bagay ay magkakaroon ng isang error sa code na dapat magbigay ng ilang uri ng bakas. Mangyaring pumili ng isang random na filename para sa Textbox3 - ito ang pangalan ng iyong natatanging pangkat ng mga picaxes sa ftp server at malinaw naman kung ginagamit namin ang lahat magkatulad na pangalan at pagkatapos ay ang data ay makakakuha ng lahat ng maputik! Paumanhin tungkol sa mga gitling sa talahanayan na ito - ang paglalagay sa mga puwang ay mawawala ang pag-format sa talahanayan. Bagay na bagay sa kahon ------- Teksto ----------- ------------------------------ NotesLabel1 ----------------- Picaxe MgaLabel2 ng Komunikasyon ---------- ---------------- FTP StatusLabel3 ------------------ StatusLabel4 ---------- -------- Mga Rehistro ng PicaxeLabel5 ---------------- Pagrehistro 0-13Label6 ---------------- Halaga 0-255Label7 ---------------- FTP link filenameTextbox1 ---------------- 0 -------- ----------------- 0 ay isang zero hindi isang OTextbox2 ----- ----------- 0Textbox3 ---------------- Myfilename -------------------- ---------- Baguhin upang walang mga pag-aaway! Button1 -----------------ModifyRichtextbox1 Picturebox1 Picturebox2 Timer1

Hakbang 8: Magdagdag ng Ilang Code

Magdagdag ng Ilang Code
Magdagdag ng Ilang Code

Tingnan ang hakbang 12 ng iba pang itinuturo para sa lokasyon ng pindutan na pumitik sa pagitan ng form view at view ng code. Lumipat sa view ng code at i-paste ang sumusunod na code. Ang mga kulay ay dapat muling lumitaw tulad ng sa screenshot. Kung ang isang linya ay hindi nakopya nang maayos dahil sa isang problema sa wordwrap pagkatapos tanggalin ang mga puwang hanggang sa mawala ang mensahe ng error. Sinubukan kong magbigay ng puna sa karamihan ng mga linya kaya't ang code kahit papaano ay may katuturan. Tanggalin ang pampublikong klase nang kaunti upang ang teksto ay blangko bago i-paste ito - ang code na ito ay mayroon nang isang pampublikong klase. Kung ang isang bagay tulad ng isang text box ay hindi nakalagay sa form o may maling pangalan pagkatapos ay lalabas ito sa text code na may isang maliit na asul na linya sa ilalim nito. System ng Import. IOImports Strings = Microsoft. VisualBasic 'kaya maaaring gamitin mga bagay tulad ng kaliwa (at kanan (para sa stringsPublic Class Form1 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds Bilang Integer) 'para sa mga pahayag sa pagtulog na Dim WithEvents serialPort Bilang Bagong IO. Ports. SerialPort' serial port idineklarang Dim PicaxeRegisters (0 To 13) Tulad ng pagrehistro ng Byte 'b0 to b13 Dim ModifyFlag Bilang Boolean Private Sub Form1_Load (ByVal sender Bilang Bagay, ByVal e Bilang System. EventArgs) Humahawak sa Akin. Kailangan ng Load' ang lahat ng mga bagay na basura -.net awtomatikong inilalagay ito kapag pumunta form1events sa itaas / load Timer1. Enified = True 'ilagay ito sa code bilang mga default sa maling kapag nilikha Timer1. Interval = 20000' tuwing 20 segundo PictureBox1. BackColor = Kulay. Gray 'magsimula sa mga kahon ng comms na kulay abong PictureBox2. BackColor = Kulay. Gray ModifyFlag = Mali' kung baguhin nang manu-mano ang isang halaga pagkatapos s kip i-download ang RichTextBox1. Multiline = True 'upang maipakita ang higit sa isang linya ng Call DisplayPicaxeRegisters ()' ipakita ang 14 na rehistro Call ReadFTPFilename () 'basahin ang filename mula sa disk (muling nai-save bawat 20 sec) End Sub Sub SerialTxRx () Dim DataPacket (0 hanggang 17) Bilang buong data packet ng Byte na "Data" +14 bytes Dim i As Integer 'ako ay palaging kapaki-pakinabang para sa mga loop atbp Para sa i = 0 hanggang 3 DataPacket (i) = Asc (Mid ("Data", i + 1, 1)) 'idagdag ang salitang "Data" sa packet Susunod Para sa i = 0 To 13 DataPacket (i + 4) = PicaxeRegisters (i)' idagdag ang lahat ng mga byte sa packet Susunod Kung serialPort. IsOpen Pagkatapos serialPort. Close () 'kung sakali binuksan na ang End If Try With serialPort. PortName = "COM1"' Karamihan sa mga bagong computer default sa com1 ngunit ang anumang bago ng 1999 computer na may isang serial mouse ay marahil ay default sa com2. BaudRate = 2400 '2400 ang bilis ng maxiumum para sa maliit na mga picaxes. Parity = IO. Ports. Parity. Wala 'walang pagkakapareho. DataBits = 8' 8 bits. StopBits = IO. Ports. StopBits. Isang 'one stop bit. ReadTimeout = 1000' millisecon ds so Times out sa 1 segundo kung walang tugon. Buksan () 'buksan ang serial port. DiskardInBuffer ()' i-clear ang input buffer. Isulat (DataPacket, 0, 18) 'ipadala ang array ng datapacket Call Sleep (300)' 100 milliseconds minimum na maghintay para sa data na bumalik at higit pa kung ang data stream ay mas mahaba. Basahin (DataPacket, 0, 18) 'basahin muli sa array ng packet ng data. Close ()' isara ang serial port End With For i = 4 To 17 PicaxeRegisters (i - 4) = DataPacket (i) 'ilipat ang bagong packet ng data sa rehistro ng array Susunod na PictureBox1. BackColor = Kulay. GreenYellow' nagtatrabaho Catch ex Bilang Exception ng PictureBox1. BackColor = Kulay. Red 'hindi gumagana End Subukan End Sub Sub FTPUpload (ByVal Filename As String) Dim localFile As String 'lugar upang mag-imbak ng data Dim remoteFile Bilang isang filename ng String ay case sensitive ito ay talagang mahalaga Const host As String = "ftp://ftp.0catch.com"' tandaan na ang 0 ay isang zero not a character O Const username As String = "picaxe.0catch.com" Const password As String = "picaxetester" Dim URI As String localFile = Filename 'maaaring hindi kinakailangan ngunit kung tukuyin ang isang lokasyon hal c: / mydirectory ay maaaring magdagdag madali sa ganitong paraan remoteFile = "/" + Filename' file sa ftp server pangangailangan "/" idinagdag sa harap URI = host + remoteFile Subukan Dim ftp Bilang System. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = New System. Net. NetworkCredential (username, password) 'mag-log in sa ftp. KeepAlive = False' ay magiging pagdiskonekta sa sandaling tapos na ftp. UseBinary = True 'gamitin ang binary comms ftp. Timeout = 9000' timeout pagkatapos ng 9 segundo - napaka kapaki-pakinabang bilang ftp minsan namatay 'timeout (at ang dalas ng orasan ng 20 secs) ay maaaring kailanganing maging mas mabagal para sa dialup koneksyon ftp. Pamamaraan = System. Net. WebRequestMethods. Ftp. UploadFile 'simulang magpadala ng file Dim fs Bilang Bagong FileStream (localFile, FileMode. Open)' buksan ang lokal na file na Dim filecontents (fs. Length) Bilang Byte 'na nabasa sa mga memory fs. Read (filecontents, 0, fs. Length) fs. Close () 'isara ang file na Dim requestStream As Stream = ftp. GetRequestStream ()' simulan ang kahilingan sa link ng ftpSt ream. Write (filecontents, 0, filecontents. Length) 'ipadala ito requestStream. Close ()' isara ang link na PictureBox2. BackColor = Kulay. GreenYellow 'baguhin ang kahon sa berde upang masabing nagtrabaho ok Label2. Txt = "FTP Connected"' teksto na nagsasabing kumonekta sa Catch 'ay hindi makakonekta sa PictureBox2. BackColor = Color. Red' na kahon sa pula bilang walang koneksyon Label2. Txt = "Nabigo ang Pag-upload ng FTP" 'na teksto na nagsabing ang koneksyon ay Natapos na Subukan ang End Sub Sub FTPDownload (ByVal Filename As String) Ang 'pag-download ng remotefile sa localfile Dim localFile Bilang String' na lugar upang mag-imbak ng data Dim remoteFile Bilang String 'filename ay case sensitibo ito ay talagang mahalaga Const host As String = "ftp://ftp.0catch.com" Const username As String = "picaxe.0catch.com "Const password As String =" picaxetester "Dim URI As String 'localFile =" C: / "+ Filename' store sa root direktoryo ngunit maaaring baguhin ang localFile = Filename 'upang makapagdagdag ng c: / kung kailangan upang tukuyin tunay na lokasyon remoteFile = "/" + Filename 'idinagdag sa remote ftp lokasyon URI = host + remoteFile' make up buong address Subukang Dim ftp Bilang System. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = New System. Net. NetworkCredential (username, password) 'log in ftp. KeepAlive = False 'ay magdidiskonekta pagkatapos ng natapos na ftp. UseBinary = True' binary mode ftp. Timeout = 9000 'timeout pagkatapos ng 9 segundo ftp. Method = System. Net. WebRequestMethods. Ftp. DownloadFile' mag-download ng isang file 'basahin sa mga piraso bilang hindi alam kung gaano kalaki ang file na Paggamit ng tugon Bilang System. Net. FtpWebResponse = CType (ftp. GetResponse, System. Net. FtpWebResponse) Paggamit ng responseStream As IO. Stream = response. GetResponseStream Paggamit ng fs Bilang Bagong IO. FileStream (localFile, IO. FileMode. Create) Dim buffer (2047) Tulad ng nabasa ni Byte Dim Bilang Integer = 0 Basahin = responseStream. Basahin (buffer, 0, buffer. Length) na piraso mula sa ftp fs. Isulat (buffer, 0, basahin) 'at sumulat sa file Loop Hanggang basahin = 0 'hanggang sa wala nang mga piraso ng pagtugonStream. Close ()' isara ang ftp file fs. Flush () 'flush clear fs. Close ()' at isara ang ika e file End using responseStream. Close () 'isara ito kahit na wala doon End using response. Close () PictureBox2. BackColor = Color. GreenYellow' green box habang gumana ito ng Label2. Txt = "FTP Connected" 'at teksto na nagsasabing ito nagtrabaho End using Catch 'ilagay ang mga error code dito sa PictureBox2. BackColor = Color. Red' pulang kahon dahil hindi ito gumana Label2. Txt = "Nabigo ang Pag-download ng FTP" 'at mensahe upang sabihin na ito End End End Sub Private Sub Timer1_Tick (ByVal sender Bilang System. Object, ByVal e Bilang System. EventArgs) Humahawak sa Timer1. Lagyan ng tsek Kung ModifyFlag = Mali Pagkatapos 'kung ang gumagamit ay nagbago ng isang byte pagkatapos ay huwag i-download ang Label3. Txt = "Pag-download" System. Windows. Forms. Application. DoEvents () 'napakaraming bagong teksto ng label ay nagpapakita ng Call FTPDownload (TextBox3. Txt)' i-download ang malayuang file na Label3. Txt = "Na-download" System. Windows. Forms. Application. DoEvents () Tumawag ReadRemoteFileToRegisters () 'i-save ang mga numero ng file sa rehistro ng array Label3. Txt = "Pakikipag-usap sa picaxe" System. Windows. Forms. Application. DoEvents () Else ModifyFlag = Mali 'i-reset ang watawat Tapusin Kung Tumawag sa SerialTxRx () 'ipadala sa picaxe at basahin itong muli Label3. Txt = "Ipinadala at natanggap mula sa picaxe" System. Windows. Forms. Application. DoEvents () Call DisplayPicaxeRegister () Tumawag sa SaveRegistersToLocalFile ()' i-save ang mga numero sa file Label3. Text = "Uploading" System. Windows. Forms. Application. DoEvents () Tumawag sa FTPUpload (TextBox3. Text) 'ipadala pabalik sa ftp site na pinangalanan bilang aking pangalan na Label3. Txt = "Pahinga" Tumawag sa SaveFTPFilename ()' upang mabasa kung kailan muling i-restart ang End Sub Sub DisplayPicaxeRegisters () Dim i As Integer Dim registernumber As String RichTextBox1. Multiline = True 'upang maipakita ang higit sa isang linya sa text box na RichTextBox1. Clear ()' i-clear ang text box Para sa i = 0 To 13 regista)) + Chr (13)) Susunod na 'chr (13) ay pagbalik sa karwahe kaya bagong linya End Sub Pribadong Sub Button1_Click (ByVal sender Bilang System. Object, ByVal e Bilang System. EventArgs) Humahawak ng Button1. Click Dim i As Integer 'suriin ang saklaw muna i = Val (TextBox1. Txt) Kung ako <0 O i> 13 Pagkatapos TextBox1. Txt = 0 Tapusin Kung i = Val (TextBox2. Txt) Kung ako <0 O i> 255 Pagkatapos TextBox2. Txt = 0 Tapusin Kung PicaxeRegister (Val (TextBox1. Text)) = Val (TextBox2. Txt) 'baguhin ang halagang Tumawag sa DisplayPicaxeRegister ()' at i-refresh ang display ModifyFlag = True 'at susunod na link ng ftp laktawan ang pag-download ng End Sub Sub SaveRegistersToLocalFile ()' i-save ang rehistro sa isang lokal na text file na Dim i As Integer FileOpen (1, TextBox3. Txt, OpenMode. Output) 'buksan ang text file na may pangalang sa kahon ng teksto Para sa = = Sa 13 PrintLine (1, Str (PicaxeRegisters (i))) 'i-save ang 14 na halaga Susunod na FileClose (1)' isara ang file End Sub Sub ReadRemoteFileToRegisters () 'basahin ang lokal na file ng teksto sa rehistro ng array Dim i As Integer Dim LineOfText Bilang String Subukan ang FileOpen (1, TextBox3. Txt, OpenMode. Input) 'basahin ang malayuang pangalan ng file Para sa i = 0 To 13 LineOfText = LineInput (1)' basahin sa 14 lin es PicaxeRegisters (i) = Val (LineOfText) 'i-convert ang teksto sa mga halagang Susunod na FileClose (1) Catch ex As Exception ng FileClose (1)' file ay walang mayroon kaya huwag gumawa ng Walang Wakas na Subukan End Sub Sub ReadFTPFilename () 'kaya ang pangalan ng ang remote ftp file ay pareho sa susunod na ang program na ito ay pinatakbo Dim LineOfText Bilang String Subukan ang FileOpen (1, "FTPFilename.txt", OpenMode. Input) 'buksan ang file LineOfText = LineInput (1) TextBox3. Txt = LineOfText' basahin ang pangalanan FileClose (1) Catch ex Bilang Exception FileClose (1) Tapusing Subukan End Sub Sub SaveFTPFilename () FileOpen (1, "FTPFilename.txt", OpenMode. Output) 'i-save ang malayuang ftp file name na PrintLine (1, TextBox3. Txt) FileClose (1) Tapusin ang Klase ng SubEnd

Hakbang 9: Patakbuhin ang Programa sa Parehong mga PC

Patakbuhin ang Programa sa Parehong mga PC
Patakbuhin ang Programa sa Parehong mga PC

Simulang patakbuhin ang programa sa pamamagitan ng pag-click sa berdeng tatsulok sa tuktok na gitna ng screen - ang pindutang 'Start Debugging'. Walang mangyayari sa loob ng 20 segundo at pagkatapos ay susubukan ng programa na kumonekta sa ftp server at susubukan na kumonekta sa picaxe. Ang mga picturebox ay magiging pula o berde. Ang lokasyon ng ftp ay isang libreng website at maaaring magamit ito ng sinuman ngunit kailangan mong gumamit ng ibang ftp na gumaganang filename (ang akin ay DoctorAcula1) kung hindi man ay mapupunta kaming lahat sa data ng bawat isa kung gagamit kami ng parehong filename! Kung nais mo maaari kang makakuha ng iyong sariling ftp site - baguhin lamang ang lokasyon ng ftp, username at password sa dalawang lugar sa code mula sa aking 0Catch website. Pinapayagan ng karamihan sa mga website ang ftp. Maaaring ma-access ng maramihang mga computer ang parehong ftp file - ang ftp fileserver ay umaayos sa kung anong pagkakasunud-sunod mangyari ang mga ito. Paminsan-minsan may mga pag-aaway ng data o pag-hang at tila nangyayari ito sa bawat 20 file na nagbabasa. Mayroong isang pag-timeout sa code kung nangyari ito kaya't hindi ito nagbabalik ng data kaysa sa nasirang data. Ang paggamit ng isang koneksyon sa broadband na may bilis na 128kbs na pag-upload ay nangangahulugang ang isang pag-upload ng file ay tumatagal ng halos 3 segundo ngunit kung minsan hanggang sa 8 segundo, na ang karamihan ay kinuha sa pagkakamay kaysa sa paglipat ng data. Itinatakda nito ang timer1 na oras ng isang minimum na halos 20 segundo na isinasaalang-alang ang pag-download, pag-upload at pag-chat sa picaxe. Sa napakabilis na broadband maaari mong maikli ang oras ng pag-ikot. Maaari mong baguhin ang isang pagrehistro nang manu-mano sa loob ng VB program. Kung gagawin mo, ang susunod na cycle ng cycle ay laktawan ang pag-download mula sa ftp site at ipadala ang bagong data sa picaxe at pagkatapos ay basahin ito pabalik at i-upload ito. Ang bagong data sa gayon ay nahahanap ang paraan sa lahat ng mga picaxes na naka-link sa pangkat na ito. Kapaki-pakinabang ito para sa pag-debug at / o para sa pag-link ng PC software sa loop ng hardware ng microcontroller. Maaari ring ma-access ng mga website ang loop ng hardware gamit ang PERL script o katulad upang magsulat ng isang bagong file sa ftp site. Ang screenshot na ito ay kinuha na pinapatakbo ang Tx chip, nakabukas ang switch at ang rehistro na b0 = to 1 ay naipadala sa Rx chip kung saan pagkatapos ay binago ang rehistro b1 sa 1 din. Ang led ay sa gayon ay naiilawan sa parehong mga board. Ito ay isang walang halaga na application ngunit madali itong i-on ang isang 3.6Kw pump sa halip na isang led. Ang ilan pang mga ideya ay nasa https://drvernacula.topcities.com/ kasama ang pag-link ng mga picaxes sa pamamagitan ng mga solar power radio link. Sa mga link sa radyo kasama ang internet posible para sa 'Ang Mga Makina' na maabot ang maraming sulok ng mundo. Mayroong ilang mga ideya sa paligid sa forum ng picaxe tungkol sa pagkuha ng karagdagang ideya sa ideyang ito at palitan ang site ng PC at ftp ng mga nakalaang mga webserver chip na dumidikit nang diretso sa isang router. Malinaw na babawasan nito ang pagkonsumo ng kuryente ng isang link. Kung interesado ka sa karagdagang mga talakayan mangyaring mag-post sa Hindi maipapatayo na mga komento at / o sa picaxe forum. Dr James MoxhamAdelaide, South Australia

Hakbang 10: Mga Screenshot ng Code

Mga screenshot ng Code
Mga screenshot ng Code

Sa pamamagitan ng kahilingan, narito ang isang serye ng mga screenshot ng vb.net code kasama ang lahat ng pag-format sa lugar. Ang code na ito ay talagang kinopya pabalik ng itinuturo na ito at awtomatikong muling lumitaw ang pag-format. Mas mahusay na kopyahin at i-paste ang teksto kaysa subukang basahin ang mga larawang ito ngunit magiging kapaki-pakinabang ang mga ito kung nasa isang internet cafe ka at hindi mai-install ang vb.net.

Hakbang 11: Screenshot2

Screenshot2
Screenshot2

Screenshot 2

Hakbang 12: Screenshot 3

Screenshot 3
Screenshot 3

Screenshot 3

Hakbang 13: Screenshot 4

Screenshot 4
Screenshot 4

Screenshot 4

Hakbang 14: Screenshot 5

Screenshot 5
Screenshot 5

Screenshot 5

Hakbang 15: Screenshot 6

Screenshot 6
Screenshot 6

Screenshot 6

Inirerekumendang: