Sadržaj:

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

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

Video: Svjetska veza za mikrokontroler za korake ispod 20 USD: 15 koraka
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Juli
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 bilo gdje u 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 pot za upravljanje servo https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ Ovaj put imamo mikrokontroler koji razgovara sa programom VB. Net, a zatim sa ftp veb lokacijom, nazad na drugu VB. Net program i odatle drugi mikrokontroler bilo gdje u svijetu, sa ili bez ljudske intervencije. Kako bi inače mašine u Matrixu ikada trebale preuzeti ako ne mogu međusobno razgovarati?

Korak 1: Prikupite dijelove

Prikupite dijelove
Prikupite 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 prvo 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 nivoa spremnika, a LED dioda bi mogla biti pumpa do rijeke, ali hajde da prvo napravimo 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 regulator male snage 5805L, žice (telefon sa punom jezgrom/podatkovna žica npr. Cat5/6), LED, 1k otpornik. 1 od: ženska utičnica i poklopac D9 i 2 metra 3 (ili 4) žice za prijenos podataka jezgre (za preuzimanje) i prekidač. 2 računara sa 9 -pinskim serijskim portom (mogu se otkloniti greške na jednom računaru) i internetskom vezom. Za računare bez serijskog porta, USB na serijski uređaj https://www.rev-ed.co.uk/docs/axe027.pdf i malu stereo utičnicu.

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 picaxe kontroler, a ako ste radili PC kontroler Instructable, već ćete ih imati. VB. Net (Visual Basic Express) dostupan je na https://msdn2.microsoft.com/en -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 tako nešto. Zapravo mi je bilo od pomoći da dajem 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 nastavnici i gdje studenti obično mogu dobiti odgovore na pitanja u roku od nekoliko sati. Forum razumije razumijevanje i najjednostavnijih pitanja jer su neki učenici još uvijek u osnovnoj školi. Molimo vas da se ne plašite zatražiti pomoć!

Korak 3: Izgradite krug za preuzimanje

Napravite sklop za preuzimanje
Napravite sklop za preuzimanje

Ovo kolo za preuzimanje koristi picaxe čip, nekoliko otpornika, regulator i bateriju od 9V. Više informacija dostupno je u picaxe dokumentaciji/pomoći koja se nalazi u meniju 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 ih 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 pikaksevi 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 jednostavna kola za uključivanje/isključivanje nije potrebno regulirano napajanje. U tim se situacijama 5V reg može izostaviti.

Korak 4: Programirajte čipove

Programirajte čips
Programirajte čips

Jedan program ćemo nazvati Tx i jedan Rx. Tx je upravljački čip i ima prekidač i LED diodu. Rx takođe ima LED. Kad se prekidač promijeni, signal prelazi s Tx na Rx, mijenja LED i 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 najjednostavnijem nivou, pikaxe ima 14 jednobajtnih registara. Kada se stvori virtualna mreža, povezujemo sve te registre tako da 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, onda svi ostali pikaksi mogu vidjeti tu promjenu i mogu djelovati na nju. Jednostavne poruke mogu se prosljeđivati naprijed i natrag ako je određeni bajt promijenjen samo jednim pikasom. Lonac može promijeniti vrijednost u registru i 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 'preuzmi paket s računara ako je pin2 = 0 zatim 'testirajte prekidač i postavite registar b0 ovisno o statusu b0 = 0 else b0 = 1 endif ako je b1 = 0 onda' drugi picaxe postavlja b1 ovisno o b0 nisko 1 'isključeno inače visoko 1' vodi 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čunar idite na glavnu 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čunara 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čunar goto main

Korak 5: Izgradite Tx krug

Napravite Tx kolo
Napravite Tx kolo

Ako prelazite naprijed -natrag između radnog kruga i programskog kruga, svakako promijenite vezu na nogu 2 i lokaciju otpornika od 22 k s noge 2 na nogu 4 ili možete izgraditi namjensko kolo za preuzimanje i premjestiti čipove poprijeko. 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 pokretu neće raditi ako noga 2 ostane plutajuća - potrebno ga je uzemljiti. Noga 2 je pin za preuzimanje i ako je ostavljen u plutajućem položaju, hvata zalutali RF signal od flouro svjetla i čip misli da se preuzima drugi program.

Vrijedno je spomenuti i pikaxe nomenklaturu koja fizičku iglu naziva nogom, a virtualnu iglu iglom. Tako je izlaz na iglici 2 u kodu zapravo izlaz na fizičkoj nozi 5. Ovo bi moglo izgledati čudno, ali znači da se kod može prenijeti na veće pikase poput 28 i 40 pinske verzije i dalje raditi.

Korak 6: Izgradite Rx krug

Napravite Rx kolo
Napravite Rx kolo

Ovo kolo je gotovo isto kao i predajnik - 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 kompajlirani.exe, ali učenje nekog VB. Net -a je toliko nevjerovatno korisno da vrijedi proći kroz njega korak po korak. Ako ovo radite na dva različita računara, možete izgraditi program u.exe koji stvara mali program za postavljanje koji se može instalirati na drugom računaru. Ili možete postaviti VB. Net na oba računara i pokrenuti programe iz VB. Net -a Pretpostavimo da znate kako 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 na obrazac na lokacijama 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 tajmer. Možete pomicati stvari i nema pravih pravila o lokaciji. Veliki okvir za tekst je RichTextBox, a manji tri su obični okviri za tekst. Što se tiče redoslijeda, počinjemo od vrha obrasca i krećemo se prema dolje. Ako nešto izostavite, doći će do greške u kodu koja bi trebala dati neku vrstu traga. Molimo vas da izaberete nasumični naziv datoteke za Textbox3 - ovo je naziv vaše jedinstvene grupe piksa na ftp serveru i očito ako svi koristimo Izvinite zbog crtica u ovoj tabeli-stavljanjem razmaka gubi se oblikovanje u tabeli. Objekat alatke ------- Tekst ----------- ------------------------------ NotesLabel1 ------------------ Picaxe CommunicationsLabel2 ------------------ FTP StatusLabel3 ------------------ StatusLabel4 ---------- -------- Picaxe registriLabel5 ------------------ Registracija 0-13Label6 ------------------ Vrijednost 0-255Label7 ------------------ Naziv datoteke FTP vezeTextbox1 ---------------- 0 -------- -------------------------------------- 0 je nula, a ne OTextbox2 ----- ----------- 0Okvir za tekst3 ---------------- Ime moje datoteke --------------------- ---------- Promijeni tako da nema sukoba! Button1 ------------------ ModifyRichtextbox1 Picturebox1 Picturebox2 Timer1

Korak 8: Dodajte kôd

Dodajte neki kôd
Dodajte neki kôd

Pogledajte korak 12 drugog uputstva za lokaciju gumba koji se kreće između prikaza obrasca i prikaza koda. Pređite na prikaz koda i zalijepite sljedeći kôd. Sve bi se boje trebale ponovno pojaviti kao na snimci zaslona. Ako linija nije pravilno kopirana zbog problema s prebacivanjem riječi, izbrišite razmake dok poruka o grešci ne nestane. Pokušao sam komentirati većinu redova tako da kôd barem ima smisla. Izbrišite bit javne klase tako da je tekst prazan prije lijepljenja ovoga - ovaj kod već ima javnu klasu. Ako objekt poput tekstualnog okvira nije postavljen na obrazac ili ima pogrešno ime, pojavit će se u tekstualnom kodu sa iskrivljenom plavom linijom ispod njega. Unosi System. IOImports Strings = Microsoft. VisualBasic 'pa se može koristiti stvari poput lijevog (i desnog (za stringsPublic Class 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 mi sve ove smeće -.net to stavlja automatski kada idete form1events gore/load Timer1. Enabled = True 'postavite ovo u kôd kao zadane vrijednosti na false kada se kreira Timer1. Interval = 20000' svakih 20 sekundi PictureBox1. BackColor = Color. Gry '' započnite s okvirima za poruke sive PictureBox2. BackColor = Color. Griy ModifyFlag = False ' ako ručno izmenite vrednost, s kip preuzimanje RichTextBox1. Multiline = True 'pa može prikazati više od jednog reda Call DisplayPicaxeRegisters ()' prikazati 14 registara Call ReadFTPFilename () 'pročitati naziv datoteke sa diska (sačuvano svakih 20 sekundi) 0 do 17) As Byte 'cijeli paket podataka "Data" +14 bajtova Dim i As Integer' i je uvijek korisno za petlje itd. Za i = 0 do 3 DataPacket (i) = Asc (Mid ("Podaci", i + 1, 1)) 'dodaj riječ "Podaci" u paket Sljedeće Za i = 0 do 13 DataPacket (i + 4) = PicaxeRegisters (i)' dodaj sve bajtove u paket Dalje Ako serialPort. IsOpen Zatim serialPort. Close () 'za svaki slučaj već otvoreno End If Try With serialPort. PortName = "COM1"' Većina novih računara zadano ima com1, ali bilo koji računar prije 1999. sa serijskim mišem vjerovatno će zadati com2. BaudRate = 2400 '2400 je najveća brzina za mali pikaksi. Paritet = IO. Portovi. Paritet. Ni jedan 'bez pariteta. DataBits = 8' 8 bitova. StopBits = IO. Ports. StopBits. Jedan 'jedan stop bit. ReadTimeout = 1000' millisecon ds istekne 1 sekunda ako nema odgovora. Open () 'otvorite serijski port. DiscardInBuffer ()' obrišite ulazni bafer. Write (DataPacket, 0, 18) 'pošaljite niz paketa podataka Poziv Sleep (300)' 100 milisekundi minimalno čekanje da se podaci vrate i više ako je tok podataka duži. Pročitajte (DataPacket, 0, 18) 'pročitajte nazad u nizu paketa podataka. Close ()' zatvorite serijski port Završi sa For i = 4 do 17 PicaxeRegisters (i - 4) = DataPacket (i) 'premjestite novi paket podataka u registar matrice Next PictureBox1. BackColor = Color. GreenYellow' radi Catch ex As Exception PictureBox1. BackColor = Color. Red 'ne radi Kraj Pokušajte Završi Sub Sub FTPUpload (ByVal naziv datoteke kao niz) Dim localFile As String 'mjesto za pohranu podataka Dim remoteFile As String' naziv datoteke razlikuje velika i mala slova ovo je zaista 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 lako dodati na ovaj način remoteFile = "/" + Naziv datoteke' datoteka na ftp serveru treba dodati "/" ispred URI = host + remoteFile Pokušajte zatamniti ftp kao sistem. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = Novi System. Net. NetworkCredential (korisničko ime, lozinka) 'prijavite se ftp. KeepAli 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čnite slati datoteku Dim fs As New FileStream (localFile, FileMode. Open)' otvorite lokalnu datoteku Dim filecontents (fs. Length) As Byte 'čitajte u memoriji fs. Read (filecontents, 0, fs. Length) fs. Close () 'zatvori datoteku Dim requestStream As Stream = ftp. GetRequestStream ()' start ftp request linkSt REAM tekst koji kaže da je povezan Uhvatite okvir „ne može se povezati PictureBox2. BackColor = Color. Red“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 zaista važno. Const host As String = "ftp://ftp.0catch.com" Korisničko ime kao String = "picaxe.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 + udaljena datoteka' šminka 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 čita kao Integer = 0 Učitaj = responseStream. Read (bafer, 0, buffer. Length) 'komad iz ftp fs. Write (bafer, 0, čitanje)' i zapiši u datoteku Petlja Do čitanja = 0 'dok više nema komada e Datoteka Kraj Upotrebom responseStream. Close () 'zatvorite je čak i ako ništa nije bilo. Kraj Upotreba response. Close () PictureBox2. BackColor = Color. GreenYellow' zelena kutija dok je radila Label2. Text = "FTP je povezan" 'i tekst koji to kaže je uspjelo Kraj pomoću funkcije Uhvati 'ovdje postavite kodove grešaka PictureBox2. BackColor = Boja. Crvena' crvena kutija jer nije radila Label2. Text = "FTP Preuzimanje nije uspjelo" 'i poruka da se ovo završi Pokušajte prekinuti pod -privatni pod -tajmer1_Tick (ByVal pošiljalac Kao System. Object, ByVal e As System. EventArgs) Rukuje Tajmerom 1. Označite Ako je 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 Pozovite FTPDownload (TextBox3. Text)' preuzmite udaljenu datoteku Label3. Text = "Preuzeto" System. Windows. Forms. Application. DoEvents () Poziv ReadRemoteFileToRegisters () 'spremite brojeve datoteka u niz 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 sa picaxe" System. Windows. Forms. Application. DoEvents () Pozovite DisplayPicaxeRegisters () Pozovite SaveRegistersToLocalFile ()' sačuvajte brojeve u datoteku Label3. Text = "Učitavanje" System. Windows. Forms. Application. DoEvents () Pozovite FTPUpload (TextBox3. Text) 'pošaljite natrag na ftp lokaciju koja 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 reda u tekstualnom okviru RichTextBox1. Clear ()' očistite okvir za tekst Za i = 0 do 13 registernumber = Trim (Str (i)) 'obrezati vodeće razmake Ako je i <10 Tada registernumber = "0" + registernumber' dodaj 0 brojevima ispod 10 End If RichTextBox1. AppendText (registarski broj + "=" + Str (PicaxeRegisters (i)) + Chr (13)) Sljedeće 'chr (13) je vraćanje nosača pa novi red End Sub Private Private Button1_Click (ByVal pošiljatelj Kao System. Object, ByVal e Kao 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 Kraj Ako 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 Pozovite DisplayPicaxeRegisters ()' i osvježite ekran 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 okviru za tekst Za i = 0 do 13 PrintLine (1, Str (PicaxeRegisters (i))) 'sačuvaj 14 vrijednosti Next FileClose (1)' zatvori datoteku End Sub Sub ReadRemoteFileToRegisters () 'čita lokalnu tekstualnu datoteku u niz 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) 'pretvori 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 je ista 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 udaljeni naziv ftp datoteke PrintLine (1, TextBox3. Text) FileClose (1) Kraj podzavršne klase

Korak 9: Pokrenite program na oba računara

Pokrenite program na oba računara
Pokrenite program na oba računara

Pokrenite program klikom na zeleni trokut pri vrhu sredine ekrana - dugme 'Pokreni otklanjanje grešaka'. Ništa se neće dogoditi 20 sekundi, a zatim će program pokušati da se poveže na ftp server i pokušaće da se poveže sa pikasom. Okviri sa slikama postaju crveni ili zeleni. FTP lokacija je besplatna web stranica i svatko to može koristiti, ali morate upotrijebiti drugo radno ime datoteke ftp (moje je DoctorAcula1) u protivnom 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 sa moje web stranice 0Catch. Većina web stranica dozvoljava ftp. Više računara može pristupiti istoj ftp datoteci - ftp poslužitelj datoteka sortira kojim se redoslijedom to događa. Povremeno dolazi do sukoba ili prekida podataka, a čini se da se to događa svakih 20 pročitanih datoteka. 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 učitavanje datoteke traje oko 3 sekunde, ali ponekad i do 8 sekundi, od kojih se većina zauzima u rukovanju, a ne u prijenosu podataka. Ovo postavlja vrijeme timer1 na minimalno oko 20 sekundi uzimajući u obzir preuzimanje, učitavanje i chat s pikasom. S vrlo brzim širokopojasnim pristupom možda ćete moći skratiti vrijeme ciklusa. Registar možete promijeniti ručno unutar programa VB. Ako to učinite, sljedeći ciklus mjerača vremena preskače preuzimanje sa ftp web lokacije i šalje nove podatke na picaxe, a zatim ih ponovo čita i postavlja. Novi podaci tako nalaze svoj put do svih pikava povezanih s ovom grupom. Ovo je korisno za otklanjanje grešaka i/ili za povezivanje računarskog softvera u hardversku petlju mikrokontrolera. Web stranice također mogu pristupiti hardverskoj petlji koristeći PERL skriptu ili slično za pisanje nove datoteke na ftp stranicu. Ovaj snimak ekrana je snimljen na Tx čipu, prekidač je bio uključen i registar b0 = na 1 je poslan 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 aplikacija, ali lako je uključiti pumpu od 3,6 Kw umjesto LED diode. Još nekoliko ideja nalazi se na https://drvernacula.topcities.com/ uključujući povezivanje pikasa putem radio veza na solarni pogon. S radio vezama i internetom moguće je da 'Mašine' dopru u mnoge krajeve svijeta. Na forumu picaxe postoje neke ideje o tome da ovu ideju nastavite dalje i zamijenite računalo i ftp web mjesto namjenskim čipovima web servera 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 koji se ne mogu uništiti i/ili na forumu picaxe. Dr James MoxhamAdelaide, Južna Australija

Korak 10: Snimci ekrana koda

Snimci ekrana programa Code
Snimci ekrana programa Code

Na zahtjev, evo niza snimaka ekrana vb.net koda sa svim oblikovanjem na mjestu. Ovaj kôd je zapravo kopiran natrag s ove upute 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: Snimak ekrana2

Snimak ekrana2
Snimak ekrana2

Snimak ekrana 2

Korak 12: Snimak ekrana 3

Snimak ekrana 3
Snimak ekrana 3

Snimak ekrana 3

Korak 13: Snimak ekrana 4

Snimak ekrana 4
Snimak ekrana 4

Snimak ekrana 4

Korak 14: Snimak ekrana 5

Snimak ekrana 5
Snimak ekrana 5

Snimak ekrana 5

Korak 15: Snimak ekrana 6

Snimak ekrana 6
Snimak ekrana 6

Snimak ekrana 6

Preporučuje se: