Sadržaj:

Svjetska veza za mikrokontroler za korake ispod 20 USD: 15
Svjetska veza za mikrokontroler za korake ispod 20 USD: 15

Video: Svjetska veza za mikrokontroler za korake ispod 20 USD: 15

Video: Svjetska veza za mikrokontroler za korake ispod 20 USD: 15
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Srpanj
Anonim
Svjetska veza za mikrokontroler za manje od 20 USD
Svjetska veza za mikrokontroler za manje od 20 USD

Upravljajte kućnim termostatom s posla. Uključite prskalicu s bilo kojeg mjesta na svijetu pritiskom na prekidač. Ovaj Instructable pokazuje kako povezati dva ili više mikrokontrolera u iznosu od 4 USD koristeći okosnicu interneta i neki jednostavan VB. Net kod. Ovo se nadovezuje na raniji Instructable koji pokazuje kako povezati mikrokontroler s računalom i koristiti lonac za upravljanje servo https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ Ovaj put imamo mikrokontroler koji razgovara s programom VB. Net, a zatim s web lokacijom ftp, natrag na drugu VB. Net program i odatle drugi mikrokontroler bilo gdje u svijetu, sa ili bez ljudske intervencije. Kako bi inače strojevi u Matrixu ikada trebali preuzeti ako ne mogu međusobno razgovarati?

Korak 1: Okupite dijelove

Skupite dijelove
Skupite dijelove

Mnogi dijelovi su isti kao u PC Control Instructable https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ i predlaže se da se to dovrši prije pokušaja za povezivanje dva mikrokontrolera. Iako je sasvim moguće upotrijebiti lonac za upravljanje servo pogonom, ovaj put idemo na nešto jednostavnije - prekidač koji uključuje LED diodu. Prekidač bi lako mogao biti senzor razine spremnika, a LED dioda bi mogla biti crpka u blizini rijeke, ali prvo bismo trebali raditi nešto jednostavno. Dijelovi - dva čipa Picaxe 08M - dostupni iz mnogih izvora, uključujući Rev Ed https://www.rev- ed.co.uk/picaxe/ (UK), PH Anderson https://www.phanderson.com/ (SAD) i Microzed https://www.microzed.com.au/ (Australija). Ovi čipovi su ispod 4 USD. Dva od: Protoboard, 9V baterija i kopče za baterije, 10k otpornik, 22k otpornik, 33uF 16V kondenzator, 0,1uF kondenzator, 7805L niskonaponski regulator 5V, žice (telefon s punom jezgrom/podatkovna žica, npr. Cat5/6), LED, 1k otpornik. 1 od: D9 ženska utičnica i poklopac i 2 metra 3 (ili 4) podatkovne žice jezgre (za preuzimanje) i prekidač. 2 računala s 9 -pinskim serijskim portom (mogu se otkloniti pogreške na jednom računalu) i internetskom vezom. Za računala bez serijskog priključka, USB na serijski uređaj https://www.rev-ed.co.uk/docs/axe027.pdf i mala stereo utičnica.

Korak 2: Preuzmite i instalirajte neki softver

Preuzmite i instalirajte neki softver
Preuzmite i instalirajte neki softver

Trebat će nam besplatni softver VB. Net i upravljački program picaxe, a ako ste učinili PC kontroler Instructable, već ćete ih imati. VB. Net (Visual Basic Express) dostupan je na https://msdn2.microsoft.com/hr -us/express/aa718406.aspxPicaxe softver dostupan je na https://www.rev-ed.co.uk/picaxe/ Morat ćete se registrirati kod Microsofta da biste preuzeli -ako je to problem, upotrijebite lažnu e -poštu ili nešto. Zapravo mi je bilo korisno dati svoju stvarnu e -poštu dok šalju povremena ažuriranja. Spomenut ću i forum picaxe https://www.picaxeforum.co.uk/ jer je ovo vrsta foruma u kojem rade učitelji i odgajatelji i gdje učenici obično mogu dobiti odgovore na pitanja u roku od nekoliko sati. Forum jako razumije čak i najjednostavnija pitanja jer su neki učenici još uvijek na razini osnovne škole. Nemojte se bojati zatražiti pomoć!

Korak 3: Izgradite sklop za preuzimanje

Izgradite sklop za preuzimanje
Izgradite sklop za preuzimanje

Ovaj sklop za preuzimanje koristi picaxe čip, nekoliko otpornika, regulator i bateriju od 9V. Više informacija dostupno je u dokumentaciji/pomoći za picaxe koja se nalazi u izborniku pomoći programa. Krug bi trebao potrajati samo nekoliko minuta nakon što svi dijelovi budu pri ruci. Nakon što je čip programiran, on zadržava svoj program u EEPROM -u čak i kad je napajanje isključeno. Budući da programiramo dva čipa, možda bi bilo vrijedno označiti čipove kako biste znali koji je koji. Uvijek se možete vratiti i reprogramirati čip uklanjanjem veze i pomicanjem otpornika.

Mogao bih također dodati da picaxes rade sretno na 3 AA baterije. Regulirano napajanje od 5 V korisno je za pokretanje analognih ulaza jer se referentni naponi ne mijenjaju, ali za jednostavne sklopove za uključivanje/isključivanje nije potrebno regulirano napajanje. U tim se situacijama 5V reg može izostaviti.

Korak 4: Programirajte čips

Programirajte čips
Programirajte čips

Nazvat ćemo jedan program Tx i jedan Rx. Tx je upravljački čip i ima prekidač i LED diodu. Rx također ima LED. Kad se prekidač promijeni, signal prelazi s Tx na Rx, mijenja LED i također mijenja drugu varijablu koja se zatim vraća na Tx. Zato pritisnite prekidač i za manje od minute LED dioda se mijenja na oba kruga pokazujući da je poruka stigla tamo i da Rx djeluje na novi položaj prekidača. Na najjednostavnijoj razini, pikaxe ima 14 jednobajtnih registara. Kad se stvori virtualna mreža, povezujemo sve te registre zajedno pa se, ako se bajt promijeni u jednom pikasu, promijeni u svim pikaksima. Jasno je da ako dva pikaksa pokušavaju promijeniti isti bajt, to će biti jako zbunjujuće, ali ako svaki pikaks promijeni samo jedan bajt, tada svi ostali pikaksi mogu vidjeti tu promjenu i mogu djelovati na nju. Jednostavne poruke mogu se prosljeđivati natrag i naprijed ako se određeni bajt promijeni samo jednim pikasom. Lonac može promijeniti vrijednost u registru, a jedan ili više drugih piksa može osjetiti tu promjenu i pomaknuti servo ili bilo što drugo i uključiti grijač. Drugi registar mogao bi vratiti temperaturu u prostoriji. Kopirajte i zalijepite programe zauzvrat u picaxe programer i preuzmite ih na svaki od odgovarajućih čipova pomoću plave strelice za preuzimanje iz programatora picaxe. Tx: main: serin 3, N2400, ("Podaci"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'preuzmite paket s računala ako je pin2 = 0 zatim 'testirajte prekidač i postavite registar b0 ovisno o statusu b0 = 0 else b0 = 1 endif ako je b1 = 0 tada' drugi picaxe postavlja b1 ovisno o b0 nisko 1 'dovelo dalje visoko 1' vodilo na endif serout 0, N2400, ("Podaci", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'pošaljite natrag na računalo idite na glavno i Rx: main: serin 3, N2400, ("Podaci"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'preuzmi paket s računala b1 = b0' promijeni registar b1 u jednaki registar b0 ako je b1 = 0 tada nisko 1 'vodi dalje drugo 1' vodi na kraju serout 0, N2400, ("Podaci", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'pošaljite natrag na računalo goto main

Korak 5: Izgradite Tx krug

Izgradite krug Tx
Izgradite krug Tx

Ako prelazite naprijed -natrag između radnog kruga i programskog kruga, svakako promijenite vezu u nogu 2 i položaj otpornika od 22 k s noge 2 na nogu 4. Ili možete izgraditi namjenski sklop za preuzimanje i premjestiti čipove preko. Samo zabilježite radi li krug ili se preuzima jer to može biti prilično zbunjujuće. Posebno imajte na umu da krug u tijeku neće raditi ako noga 2 ostane plutajuća - potrebno ga je uzemljiti. Noga 2 je pin za preuzimanje i ako je ostavljen plutajući, hvata zalutali RF signal od flouro svjetla i čip misli da se preuzima drugi program.

Također je vrijedno spomenuti nomenklaturu picaxe koja fizičku iglu naziva nogom, a virtualnu iglu iglom. Tako je izlaz na pin 2 u kodu zapravo izlaz na fizičkoj nozi 5. Ovo bi se moglo činiti čudnim, ali znači da se kôd može prenijeti na veće pikase poput 28 i 40 pin verzije i još uvijek raditi.

Korak 6: Izgradite Rx krug

Izgradite Rx sklop
Izgradite Rx sklop

Ovaj krug je gotovo isti kao i odašiljač - samo nema prekidač.

Korak 7: Napišite neki VB. Net kod

Napišite neki VB. Net kod
Napišite neki VB. Net kod

Mogao sam sastaviti kôd i učiniti ovaj program dostupnim kao prevedeni.exe, ali učenje nekog VB. Net -a je toliko nevjerojatno korisno da ga vrijedi proći korak po korak. Ako ovo radite na dva različita računala, možete izgraditi program u.exe koji stvara mali program za postavljanje koji se može instalirati na drugo računalo. Ili možete postaviti VB. Net na oba računala i pokrenuti programe unutar VB. Net -a Pretpostavimo da znate otvoriti novi VB.net projekt od koraka 7 i 8 https://www.instructables.com/id/S1MMU2XF82EU2GT /Na prazan obrazac dodajmo sljedeće komponente s alatne trake i stavimo ih u obrazac na mjesta kao što je prikazano. Za oznake i okvire za tekst promijenite svojstvo teksta (preko u donjem desnom kutu) na ono što je potrebno. Ne brinite o postavkama mjerača vremena - promijenit ćemo ih u kodu, ali svakako umetnite mjerač vremena. Možete pomicati stvari i nema pravih pravila o lokaciji. Veliki tekstualni okvir je RichTextBox, a tri manja obični tekstualni okviri. Što se tiče redoslijeda, počinjemo od vrha obrasca i krećemo se prema dolje. Ako nešto izostavite, doći će do pogreške u kodu koja bi trebala dati neku vrstu traga. Molimo vas da odaberete nasumični naziv datoteke za Textbox3 - ovo je naziv vaše jedinstvene grupe piksa na ftp poslužitelju i očito ako svi koristimo isto ime i podaci će se sve pobrkati! Žao mi je zbog crtica u ovoj tablici-stavljanjem razmaka gubi se oblikovanje u tablici. Objekt Toolbox ------- Tekst ----------- ------------------------------ NotesLabel1 ------------------ Picaxe CommunicationsLabel2 ------------------ FTP StatusLabel3 ------------------ StatusLabel4 ---------- -------- Picaxe registriLabel5 ------------------ Registar 0-13Label6 ------------------ Vrijednost 0-255Oznaka7 ------------------ Naziv datoteke FTP vezeTextbox1 ---------------- 0 -------- -------------------------------------- 0 je nula, a ne OTextbox2 ----- ----------- 0Okvir za tekst3 ---------------- Ime moje datoteke --------------------- ---------- Promijeni tako da nema sukoba! Gumb1 ------------------ ModifyRichtextbox1 Picturebox1 Picturebox2 Timer1

Korak 8: Dodajte kôd

Dodajte neki kôd
Dodajte neki kôd

Položaj gumba koji se kreće između prikaza obrasca i prikaza koda potražite u 12. koraku drugog uputstva. Prijeđite na prikaz koda i zalijepite sljedeći kôd. Sve bi se boje trebale ponovno pojaviti kao na snimci zaslona. Ako redak nije pravilno kopiran zbog problema s prebacivanjem riječi, izbrišite razmake dok poruka o pogrešci ne nestane. Pokušao sam komentirati većinu redaka tako da kôd barem ima smisla. Izbrišite bit javne klase tako da je tekst prazan prije lijepljenja ovoga - ovaj kôd već ima javnu klasu. Ako objekt poput tekstualnog okvira nije postavljen na obrazac ili ima pogrešan naziv, pojavit će se u tekstualnom kodu s iskrivljenom plavom linijom ispod njega. Unosi System. IOImports Strings = Microsoft. VisualBasic 'pa se može koristiti stvari poput lijeve (i desne (za nizovePublicform Form1 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)) "za naredbe spavanja Dim WithEvents serialPort kao novi IO. Ports. SerialPort" serijski port deklarira Dim PicaxeRegisters (0 do 13) Kao što Byte 'registrira b0 do b13 Dim ModifyFlag kao Boolean Private Sub Form1_Load (ByVal pošiljatelj kao objekt, ByVal e kao System. EventArgs) Rukuje sa Me. Loadom' trebaju sve ove smeće -.net to stavlja automatski kada idete form1events gore/učitajte Timer1. Enabled = True 'stavite ovo u kôd kao zadane vrijednosti na false pri stvaranju Timer1. Interval = 20000' svakih 20 sekundi PictureBox1. BackColor = Color. Gry '' započnite s okvirima za poruke sive PictureBox2. BackColor = Color. Gray ModifyFlag = False ' ako ručno izmijenite vrijednost tada s kip preuzimanje RichTextBox1. Multiline = True 'pa može prikazati više od jednog retka Call DisplayPicaxeRegisters ()' prikazati 14 registara Call ReadFTPFilename () 'pročitati naziv datoteke s diska (sprema se svakih 20 sekundi) End Sub Sub SerialTxRx () Dim DataPacket (0 do 17) As Byte 'cijeli podatkovni paket "Data" +14 bajtova Dim i As Integer' i je uvijek koristan za petlje itd. Za i = 0 do 3 DataPacket (i) = Asc (Mid ("Podaci", i + 1, 1)) 'dodajte riječ "Podaci" u paket Dalje Za i = 0 do 13 DataPacket (i + 4) = PicaxeRegisters (i)' dodajte sve bajtove u paket Sljedeće Ako serialPort. IsOpen Zatim serialPort. Close () 'za svaki slučaj već otvoreno End If Try With serialPort. PortName = "COM1"' Većina novih računala zadana je na com1, ali svako računalo prije 1999. sa serijskim mišem vjerojatno će zadano na com2. BaudRate = 2400 '2400 je najveća brzina za male pikakse. Paritet = IO. Portovi. Paritet. Ni jedan 'bez pariteta. DataBits = 8' 8 bita. StopBits = IO. Ports. StopBits. One 'one stop bit. ReadTimeout = 1000' millisecon ds istječe u 1 sekundi ako nema odgovora. Open () 'otvorite serijski port. DiscardInBuffer ()' očistite ulazni međuspremnik. Write (DataPacket, 0, 18) 'pošaljite niz podatkovnih paketa Call Sleep (300)' 100 milisekundi minimalno čekanje na povrat podataka i više ako je tok podataka duži. Pročitajte (DataPacket, 0, 18) 'pročitajte natrag u nizu paketa podataka. Close ()' zatvorite serijski port Završi s Za i = 4 do 17 PicaxeRegisters (i - 4) = DataPacket (i) 'premjestite novi podatkovni paket u matricu registara Next PictureBox1. BackColor = Color. GreenYellow' radi Catch ex As Exception PictureBox1. BackColor = Color. Red 'ne radi Kraj Pokušajte Prekini Sub Sub FTPUpload (ByVal File Name As String) Dim localFile As String 'mjesto za pohranu podataka Dim remoteFile As String' naziv datoteke razlikuje velika i mala slova ovo je jako važno Const host As String = "ftp://ftp.0catch.com" 'imajte na umu da je 0 nula nije znak O Const korisničko ime As String = "picaxe.0catch.com" Const lozinka As String = "picaxetester" Dim URI Kao String localFile = Naziv datoteke 'možda nije potreban, ali ako definirate lokaciju, npr. C: / mydirectory može jednostavno dodati na ovaj način remoteFile = "/" + Naziv datoteke' datoteka na ftp poslužitelju treba dodati "/" ispred URI = host + remoteFile Pokušajte zatamniti ftp kao sustav. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = Novi System. Net. NetworkCredential (korisničko ime, lozinka) 'prijavite se ftp. KeepAle prekid veze jednom učinjeno ftp. UseBinary = True 'koristite binarne komunikacije ftp. Timeout = 9000' isteka nakon 9 sekundi - vrlo korisno jer ftp ponekad umire 'timeout (i frekvencija takta od 20 sekundi) možda će morati biti sporija za dialup veze ftp. Metoda = System. Net. WebRequestMethods. Ftp. UploadFile 'početi slati datoteku Dim fs As New FileStream (localFile, FileMode. Open)' otvoriti lokalnu datoteku Dim filecontents (fs. Length) As Byte 'čitati u memoriji fs. Read (filecontents, 0, fs. Length) fs. Close () 'zatvori datoteku Dim requestStream As Stream = ftp. GetRequestStream ()' start ftp link requestSt ream. Write (filecontents, 0, filecontents. Length) 'send it requestStream. Close ()' zatvorite vezu PictureBox2. BackColor = Color. GreenYellow 'promijenite okvir u zeleno da biste rekli da je u redu Label2. Text = "FTP povezan" " tekst koji kaže da je spojen Uhvatite okvir 'nije moguće povezati PictureBox2. BackColor = Color. Red' okvir u crveno jer nema veze Label2. Text = "FTP Upload Fail" 'tekst koji govori da veza nije uspjela Kraj Pokušajte Prekini Sub Sub FTPDownload (ByVal naziv datoteke kao niz) 'preuzima daljinsku datoteku u lokalnu datoteku Dim localFile As String' mjesto za pohranu podataka Dim remoteFile As String 'naziv datoteke razlikuje velika i mala slova ovo je stvarno važno..0catch.com "Const password As String =" picaxetester "Dim URI As String 'localFile =" C: / " + Naziv datoteke' pohranjuje se u korijenskom direktoriju, ali može promijeniti ovaj localFile = Ime datoteke 'pa može dodati c: / ako je potrebno definirati stvarna lokacija remoteFile = "/" + Naziv datoteke 'dodan na udaljenu ftp lokaciju URI = host + remoteFile' make up puna adresa Pokušajte Dim ftp kao System. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = Novi System. Net. NetworkCredential (korisničko ime, lozinka) 'log. KeepAlive = False 'će se prekinuti nakon završetka ftp. UseBinary = True' binarni način ftp. Timeout = 9000 'timeout nakon 9 sekundi ftp. Method = System. Net. WebRequestMethods. Ftp. DownloadFile' preuzmi datoteku 'pročitanu u komadima kao ne znam koliko je datoteka velika Koristi se odgovor kao System. Net. FtpWebResponse = CType (ftp. GetResponse, System. Net. FtpWebResponse) Korištenje responseStream Kao IO. Stream = response. GetResponseStream Koristeći fs kao novi IO. FileStream (localF, IO. FileMode. Create) Dim međuspremnik (2047) Kao Byte Dim čitanje kao cijeli broj = 0 Čitaj = responseStream. Read (me uspremnik, 0, buffer. Length) 'komad iz ftp fs. Write (međuspremnik, 0, čitanje)' i zapiši u datoteku Petlja Do čitanja = 0 'dok nema više komada responseStream. Close ()' zatvori ftp datoteku fs. Flush () 'ispiši clear fs. Close ()' i zatvori th e Datoteka Završi korištenjem responseStream. Close () 'zatvorite je čak i ako ništa nije bilo Završite Upotrebom response. Close () PictureBox2. BackColor = Color. GreenYellow' zeleni okvir dok je radio Label2. Text = "FTP Connected" 'i tekst koji to kaže radilo Kraj pomoću funkcije Uhvati 'ovdje postavite kodove pogrešaka PictureBox2. BackColor = Boja. Crveno' crveno polje jer nije radilo Label2. Text = "FTP Preuzimanje nije uspjelo" 'i poruka da se ovo završi Pokušajte završiti s pod -privatnim pod -timer1_Tick (ByVal pošiljatelj Kao System. Object, ByVal e As System. EventArgs) Rukuje Timer -om 1. Označite If ModifyFlag = False Then 'ako je korisnik promijenio bajt, nemojte preuzimati Label3. Text = "Preuzimanje" System. Windows. Forms. Application. DoEvents () 'tako da se prikazuje novi tekst oznake Call FTPDownload (TextBox3. Text)' preuzmite udaljenu datoteku Label3. Text = "Preuzeto" System. Windows. Forms. Application. DoEvents () Poziv ReadRemoteFileToRegisters () 'spremite brojeve datoteka u matricu registra Label3. Text = "Talking to picaxe" System. Windows. Forms. Application. DoEvents () Else ModifyFlag = False 'poništi zastavicu Završi ako Call SerialTxRx () 'pošaljete na picaxe i ponovo ga pročitate Label3. Text = "Poslano i primljeno s picaxe" System. Windows. Forms. Application. DoEvents () Pozovite DisplayPicaxeRegisters () Pozovite SaveRegistersToLocalFile ()' spremite brojeve u datoteku Label3. Text = "Učitavanje" System. Windows. Forms. Application. DoEvents () Pozovite FTPUpload (TextBox3. Text) 'pošaljite natrag na ftp web mjesto koje se zove moje ime Label3. Text = "Odmaranje" Pozovite SaveFTPFilename ()' pa se čita u pri ponovnom pokretanju End Sub Sub DisplayPicaxeRegisters () Dim i As Integer Dim registernumber As String RichTextBox1. Multiline = True 'pa može prikazati više od jednog retka u tekstualnom okviru RichTextBox1. Clear ()' očistite tekstualni okvir Za i = 0 do 13 registernumber = Trim (Str (i)) 'obrezati vodeće prostore If i <10 then registernumber = "0" + registernumber' dodati 0 brojevima ispod 10 End If RichTextBox1. AppendText (registernumber + "=" + Str (PicaxeRegisters (i)) + Chr (13)) Sljedeće 'chr (13) je vraćanje nosača pa novi redak Završi Sub Privatni dodatni gumb1_Click (ByVal pošiljatelj Kao System. Object, ByVal e As System. EventArgs) Rukuje gumbom 1. Pritisnite Dim i As Integer 'prvo se odjavite iz raspona i = Val (TextBox1. Text) Ako je i <0 Ili i> 13 Tada TextBox1. Text = 0 End If i = Val (TextBox2. Text) Ako je i <0 Ili i> 255 Tada TextBox2. Text = 0 Kraj Ako PicaxeRegisters (Val (TextBox1. Text)) = Val (TextBox2. Text) 'promijenite vrijednost Call DisplayPicaxeRegisters ()' i osvježite zaslon ModifyFlag = True 'i sljedeća ftp veza preskočite preuzimanje End Sub Sub SaveRegistersToLocalFile ()' spremi niz registra u lokalnu tekstualnu datoteku Dim i As Integer FileOpen (1, TextBox3. Text, OpenMode. Output) 'otvorite tekstualnu datoteku pod nazivom u tekstualnom okviru Za i = 0 do 13 PrintLine (1, Str (PicaxeRegisters (i))) 'spremi 14 vrijednosti Sljedeća FileClose (1)' zatvori datoteku End Sub Sub ReadRemoteFileToRegisters () 'čita lokalnu tekstualnu datoteku u polje registra Dim i As Integer Dim LineOfText As String Pokušajte FileOpen (1, TextBox3. Text, OpenMode. Input) 'pročitajte naziv udaljene datoteke Za i = 0 do 13 LineOfText = LineInput (1)' pročitajte u 14 lin es PicaxeRegisters (i) = Val (LineOfText) 'pretvoriti tekst u vrijednosti Next FileClose (1) Catch ex As Exception FileClose (1)' datoteka ne postoji pa nemojte ništa Završiti Pokušaj Završi Sub Sub ReadFTPFilename () 'pa ime udaljena ftp datoteka ista je sljedeći put kada se ovaj program pokrene Dim LineOfText As String Pokušajte FileOpen (1, "FTPFilename.txt", OpenMode. Input) 'otvorite datoteku LineOfText = LineInput (1) TextBox3. Text = LineOfText' pročitajte name FileClose (1) Catch ex As Exception FileClose (1) End Pokušaj End Sub Sub SaveFTPFilename () FileOpen (1, "FTPFilename.txt", OpenMode. Output) 'spremite naziv udaljene ftp datoteke PrintLine (1, TextBox3. Text) FileClose (1) Završi podzavršnu klasu

Korak 9: Pokrenite program na oba računala

Pokrenite program na oba računala
Pokrenite program na oba računala

Pokrenite program pokretanjem klika na zeleni trokut pri vrhu sredine zaslona - gumb 'Pokreni otklanjanje pogrešaka'. Ništa se neće dogoditi 20 sekundi, a zatim će se program pokušati povezati s ftp poslužiteljem i pokušat će se povezati s pikasom. Okviri sa slikama postat će crveni ili zeleni. FTP lokacija je besplatna web stranica i svatko to može koristiti, ali morate upotrijebiti drugačiji radni naziv ftp datoteke (moj je DoctorAcula1) inače bismo svi mogli dobiti međusobne podatke ako koristimo isti naziv datoteke! Ako želite, na kraju možete dobiti vlastitu ftp stranicu - samo promijenite ftp lokaciju, korisničko ime i lozinku na dva mjesta u kodu s moje web stranice 0Catch. Većina web stranica dopušta ftp. Više računala može pristupiti istoj ftp datoteci - ftp poslužitelj datoteka razvrstava kojim se redoslijedom to događa. Povremeno dolazi do sukoba ili zastoja podataka, a čini se da se to događa svakih 20 čitanja datoteke. U kodu postoji vrijeme čekanja ako se to dogodi pa ne vraća podatke umjesto oštećenih podataka. Korištenje širokopojasne veze sa brzinom prijenosa od 128 KB znači da prijenos datoteka traje oko 3 sekunde, ali ponekad i do 8 sekundi, od kojih se većina zauzima u rukovanju, a ne u prijenosu podataka. Time se postavlja vrijeme timer1 od najmanje 20 sekundi uzimajući u obzir preuzimanje, učitavanje i razgovor s pikasom. S vrlo brzim širokopojasnim internetom možda ćete moći skratiti vrijeme ciklusa. Registar možete promijeniti ručno unutar programa VB. Ako to učinite, sljedeći ciklus odbrojavanja preskače preuzimanje s ftp stranice i šalje nove podatke na picaxe, a zatim ih ponovno čita i učitava. Novi podaci tako nalaze svoj put do svih pikava povezanih s ovom skupinom. To je korisno za otklanjanje pogrešaka i/ili za povezivanje računalnog softvera u hardversku petlju mikrokontrolera. Web stranice također mogu pristupiti hardverskoj petlji pomoću PERL skripte ili slične datoteke za pisanje nove datoteke na ftp stranicu. Ova je snimka zaslona snimljena na Tx čipu, prekidač je bio uključen i registar b0 = na 1 poslan je na Rx čip koji je tada je promijenio i registar b1 u 1. LED je tako bio osvijetljen na obje ploče. Ovo je trivijalna primjena, ali lako je uključiti pumpu snage 3,6 Kw umjesto LED diode. Još nekoliko ideja nalazi se na https://drvernacula.topcities.com/ uključujući povezivanje pikaksa putem radio veza na solarni pogon. S radijskim vezama i internetom moguće je da 'Strojevi' dopru u mnoge krajeve svijeta. Na forumu picaxe postoje neke ideje o tome da ovu ideju nastavite i zamijenite računalo i ftp web mjesto namjenskim čipovima web poslužitelja koji se priključuju ravno u usmjerivač. Jasno je da bi to smanjilo potrošnju energije veze. Ako ste zainteresirani za daljnje rasprave, pošaljite ih na komentarima Intstructable i/ili na forumu picaxe. Dr James MoxhamAdelaide, Južna Australija

Korak 10: Snimke zaslona koda

Snimke zaslona programa Code
Snimke zaslona programa Code

Na zahtjev, evo niza snimaka zaslona vb.net koda sa svim oblikovanjem. Ovaj kôd je zapravo kopiran natrag s ovog uputstva i oblikovanje se ponovno automatski pojavilo. Bilo bi bolje kopirati i zalijepiti tekst nego pokušati pročitati ove slike, ali one će biti korisne ako ste u internetskom kafiću i ne možete instalirati vb.net.

Korak 11: Snimka zaslona2

Snimka zaslona 2
Snimka zaslona 2

Snimka zaslona 2

Korak 12: Snimka zaslona 3

Snimka zaslona 3
Snimka zaslona 3

Snimka zaslona 3

Korak 13: Snimka zaslona 4

Snimka zaslona 4
Snimka zaslona 4

Snimka zaslona 4

Korak 14: Snimka zaslona 5

Snimka zaslona 5
Snimka zaslona 5

Snimka zaslona 5

Korak 15: Snimka zaslona 6

Snimka zaslona 6
Snimka zaslona 6

Snimka zaslona 6

Preporučeni: