Съдържание:

Световна връзка за микроконтролер за стъпки под $ 20: 15
Световна връзка за микроконтролер за стъпки под $ 20: 15

Видео: Световна връзка за микроконтролер за стъпки под $ 20: 15

Видео: Световна връзка за микроконтролер за стъпки под $ 20: 15
Видео: PEAKMETER PM18C мультиметр с Aliexpress обзор функциональности 2024, Ноември
Anonim
Световна връзка за микроконтролер за под $ 20
Световна връзка за микроконтролер за под $ 20

Контролирайте домашния си термостат от работа. Включете пръскачката от всяка точка на света, като натиснете превключвател. Този Instructable показва как да свържете два или повече микроконтролера от $ 4, използвайки гръбнака на интернет и прост код на VB. Net. Това се основава на по -ранен Instructable, който показва как да свържете микроконтролер към компютър и да използвате пот за управление на серво https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ Този път имаме микроконтролер, който говори с програма VB. Net, след това с уебсайт на ftp, обратно към друг VB. Net програма и оттам втори микроконтролер навсякъде по света, с или без човешка намеса. Как иначе машините в The Matrix някога трябва да поемат, ако не могат да говорят помежду си?

Стъпка 1: Съберете частите

Съберете частите
Съберете частите

Много от частите са същите като в PC Control Instructable https://www.instructables.com/id/Control-real-world-devices-with-your-PC/ и се препоръчва това да бъде завършено първо, преди да се опитате за свързване на два микроконтролера. Въпреки че е напълно възможно да използвате пот за управление на серво, този път ще отидем за нещо по -просто - превключвател, включващ светодиод. Превключвателят лесно може да бъде сензор за нивото на резервоара, а светодиодът може да бъде помпа в близост до река, но нека първо да работим с нещо просто. Части - два чипа Picaxe 08M - достъпни от много източници, включително Rev Ed https://www.rev- ed.co.uk/picaxe/ (Великобритания), PH Anderson https://www.phanderson.com/ (САЩ) и Microzed https://www.microzed.com.au/ (Австралия). Тези чипове са под $ 4US. Две от: Protoboard, 9V батерия и скоби за батерии, 10k резистор, 22k резистор, 33uF 16V кондензатор, 0.1uF кондензатор, 7805L ниска мощност 5V регулатор, проводници (плътножилен телефон/кабел за данни например Cat5/6), LED, 1k резистор. 1 от: D9 гнездо и капак и 2 метра 3 (или 4) жичен кабел за данни (за изтегляне) и превключвател. 2 компютъра с 9 пинов сериен порт (може да се отстранява грешка на един компютър) и интернет връзка. За компютри без сериен порт, USB към серийно устройство https://www.rev-ed.co.uk/docs/axe027.pdf и малък стерео гнездо.

Стъпка 2: Изтеглете и инсталирайте софтуер

Изтеглете и инсталирайте софтуер
Изтеглете и инсталирайте софтуер

Ще се нуждаем от безплатния софтуер за VB. Net и picaxe контролер и ако сте направили PC контролера с инструкции, вече ще ги имате. VB. Net (Visual Basic Express) е достъпен от https://msdn2.microsoft.com/en -us/express/aa718406.aspx Софтуерът picaxe е достъпен от https://www.rev-ed.co.uk/picaxe/ Ще трябва да се регистрирате в Microsoft, за да изтеглите -ако това е проблем, използвайте фалшив имейл или нещо. Всъщност ми беше полезно да дам истинския си имейл, когато изпращат случайни актуализации. Ще спомена и форума на picaxe https://www.picaxeforum.co.uk/, тъй като това е форумът, в който работят учители и преподаватели и където учениците обикновено могат да получат отговори на въпроси в рамките на няколко часа. Форумът е много разбиращ дори за най -простите въпроси, тъй като някои от учениците все още са на ниво начално училище. Моля, не се страхувайте да поискате помощ!

Стъпка 3: Изградете верига за изтегляне

Изградете верига за изтегляне
Изградете верига за изтегляне

Тази схема за изтегляне използва чип picaxe, няколко резистора, регулатор и 9V батерия. Повече информация е налична в документацията/помощ за picaxe, която се появява в помощното меню на програмата. Изграждането на веригата трябва да отнеме само няколко минути, след като всички части са под ръка. След като чип е програмиран, той запазва програмата си в EEPROM дори когато захранването е изключено. Тъй като програмираме два чипа, може би си струва да ги обозначим, за да знаете кой е кой. Винаги можете да се върнете и да препрограмирате чип, като премахнете връзка и преместите резистор.

Мога също да добавя, че пикаксите работят щастливо с 3 батерии АА. 5V регулирано захранване е полезно за работа на аналогови входове, тъй като референтните напрежения не се променят, но за прости схеми за включване/изключване не е необходимо регулиране на захранването. Регионът 5V може да бъде пропуснат в тези ситуации.

Стъпка 4: Програмирайте чиповете

Програмирайте чиповете
Програмирайте чиповете

Ще наречем една програма Tx и една Rx. Tx е управляващият чип и има превключвател и светодиод. Rx също има светодиод. Когато превключвателят се смени, сигналът преминава от Tx към Rx, променя светодиода и също променя втора променлива, която след това се връща към Tx. Затова натиснете превключвателя и за по -малко от минута светодиодът се променя и на двете вериги, показвайки, че съобщението е попаднало там и Rx действа върху новото положение на превключвателя. На най-простото ниво picaxe има 14 еднобайтови регистри. Когато се създаде виртуална мрежа, ние свързваме всички тези регистри заедно, така че ако байт се промени в един пикакс, той се променя във всички пикакси. Ясно е, че ако два пикакса се опитват да променят един и същ байт, това ще стане много объркващо, но ако всеки пикакс променя само един байт, тогава всички останали пикакси могат да видят тази промяна и могат да действат върху нея. Простите съобщения могат да се предават напред и назад, ако определен байт е променен само с един пикакс. Саксията може да промени стойността в регистър и един или повече други пикакси могат да усетят тази промяна и да преместят серво или каквото и да е и да включат нагревател. Втори регистър може да върне температурата в стаята. Копирайте и поставете програмите на свой ред в picaxe програмист и ги изтеглете на всеки от съответните чипове, като използвате синята стрелка за изтегляне от програмата picaxe. Tx: main: serin 3, N2400, ("Данни"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'вземете пакет от компютър, ако pin2 = 0 след това 'тествайте превключвателя и задайте регистър b0 в зависимост от състоянието b0 = 0 else b0 = 1 endif ако b1 = 0 тогава' други пикасета задава b1 в зависимост от b0 ниско 1 'отключено иначе високо 1' води към endif serout 0, N2400, ("Данни", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'изпратете обратно на компютъра goto mainand Rx: main: serin 3, N2400, ("Данни"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'вземете пакет от компютър b1 = b0' променете регистър b1 на равен регистър b0 ако b1 = 0 след това ниско 1 'откъснато друго високо 1' доведе до endif serout 0, N2400, ("Данни", b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) 'изпратете обратно на компютъра goto main

Стъпка 5: Изградете Tx веригата

Изградете Tx веригата
Изградете Tx веригата

Ако прелиствате напред и назад между работна верига и верига за програмиране, не забравяйте да промените връзката на крак 2 и местоположението на 22k резистора от крак 2 на крак 4. Или можете да изградите специална схема за изтегляне и да преместите чиповете през. Само отбележете дали верига работи или се изтегля, тъй като това може да стане доста объркващо. По -специално, имайте предвид, че работеща верига няма да работи, ако крак 2 е оставен плаващ - той трябва да бъде заземен. Leg 2 е щифтът за изтегляне и ако е оставен плаващ, той улавя разсеяните RF от флуоро светлини и чипът смята, че се изтегля друга програма.

Заслужава да се спомене и номенклатурата на picaxe, която нарича физически щифт крак и виртуален щифт щифт. По този начин изходът на пин 2 в кода всъщност е изход на физически крак 5. Това може да изглежда странно, но това означава, че кодът може да бъде пренесен към по -големи пикакси като 28 и 40 пиновите версии и все още работи.

Стъпка 6: Изградете Rx верига

Изградете Rx верига
Изградете Rx верига

Тази схема е почти същата като предавателя - просто няма превключвател.

Стъпка 7: Напишете VB. Net код

Напишете VB. Net код
Напишете VB. Net код

Можех да компилирам кода и да направя тази програма достъпна като компилиран.exe, но изучаването на някои VB. Net е толкова невероятно полезно, че си струва да преминем през него стъпка по стъпка. Ако използвате това на два различни компютъра, можете да изградите програмата в.exe, която създава малка програма за настройка, която може да бъде инсталирана на втория компютър. Или можете да поставите VB. Net на двата компютъра и да стартирате програмите от VB. Net Нека предположим, че знаете как да отворите нов проект VB.net от стъпки 7 и 8 на https://www.instructables.com/id/S1MMU2XF82EU2GT /В празния формуляр нека добавим следните компоненти от лентата с инструменти и ги поставим във формуляра на местата, както е показано. За етикетите и текстовите полета променете текстовото свойство (в долния десен ъгъл) на необходимото. Не се притеснявайте за настройките на таймера - ние ще ги променим в кода, но не забравяйте да поставите таймер. Можете да премествате нещата наоколо и няма истински правила за местоположението. Голямото текстово поле е RichTextBox, а по -малките три са обикновени текстови полета. По отношение на реда започваме в горната част на формуляра и се придвижваме надолу. Ако оставите нещо, ще има грешка в кода, която трябва да даде някаква представа. Моля, изберете произволно име на файл за Textbox3 - това е името на вашата уникална група от пикакси на ftp сървъра и очевидно, ако всички използваме същото име, тогава данните ще се объркат! Съжалявам за тиретата в тази таблица-поставянето на интервали губи форматирането в таблицата. Обект Toolbox ------- Текст ----------- ------------------------------ NotesLabel1 ------------------ Picaxe CommunicationsLabel2 ------------------ FTP StatusLabel3 ------------------ StatusLabel4 ---------- -------- Регистри PicaxeLabel5 ------------------ Регистър 0-13Label6 ------------------ Стойност 0-255Label7 ------------------ Име на файла на FTP връзка Текстово поле1 ---------------- 0 -------- -------------------------------------- 0 е нула, а не OTextbox2 ----- ----------- 0Textbox3 ---------------- Име на моя файл --------------------- ---------- Промяна, така че да няма сблъсъци! Бутон1 ------------------ ModifyRichtextbox1 Picturebox1 Picturebox2 Timer1

Стъпка 8: Добавете код

Добавете код
Добавете код

Вижте стъпка 12 от другата инструкция за местоположението на бутона, който се прелиства между изглед на формуляр и изглед на код. Превключете към изглед на код и поставете следния код. Всички цветове трябва да се появят отново, както на екрана. Ако ред не е копиран правилно поради проблем с преноса на думи, изтрийте интервалите, докато съобщението за грешка изчезне. Опитах се да коментирам повечето редове, така че кодът поне да има смисъл. Изтрийте бита на публичния клас, така че текстът да е празен, преди да го поставите - този код вече има публичен клас. Ако обект като текстово поле не е поставен във формуляра или има грешно име, той ще се появи в текстовия код с изкривена синя линия под него. Импортира System. IOImports Strings = Microsoft. VisualBasic ', така че може да се използва неща като ляво (и дясно (за stringsPublic Class Form1 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer) "за декларации за заспиване Dim WithEvents serialPort като нов IO. Ports. SerialPort" сериен порт декларира Dim PicaxeRegisters (0 до 13) Като Byte 'регистрира b0 до b13 Dim ModifyFlag Като булева частна подформа Form1_Load (Изпращачът ByVal като обект, ByVal e като System. EventArgs) се справя с Me. Load' се нуждае от всички тези боклуци -.net го поставя автоматично, когато отидете form1events по -горе/заредете Timer1. Enabled = True 'поставете това в кода като по подразбиране на false при създаване на Timer1. Interval = 20000' на всеки 20 секунди PictureBox1. BackColor = Color. Grey 'започнете с полетата за съобщения сив PictureBox2. BackColor = Color. Gray ModifyFlag = False' ако промените стойност ръчно, тогава s kip изтегляне RichTextBox1. Multiline = True ', така че може да показва повече от един ред Call DisplayPicaxeRegisters ()' показва 14 регистъра Call CallFTPFilename () 'чете името на файла от диска (запазва се на всеки 20 секунди) End Sub Sub SerialTxRx () Dim DataPacket (0 до 17) Като байт 'целият пакет данни "Данни" +14 байта Dim i As Integer' i винаги е полезен за цикли и т.н. За i = 0 до 3 DataPacket (i) = Asc (Mid ("Данни", i + 1, 1)) 'добавете думата "Data" към пакета Next For i = 0 To 13 DataPacket (i + 4) = PicaxeRegisters (i)' добавете всички байтове към пакета Next If serialPort. IsOpen Тогава serialPort. Close () 'само в случай, че вече е отворен End If Try With serialPort. PortName = "COM1"' Повечето нови компютри по подразбиране са com1, но всеки компютър преди 1999 г. със серийна мишка вероятно ще бъде по подразбиране com2. BaudRate = 2400 '2400 е максималната скорост за малки пикакси. ds изтича за 1 секунда, ако няма отговор. Open () 'отворете серийния порт. DiscardInBuffer ()' изчистете входния буфер. Write (DataPacket, 0, 18) 'изпратете масива от пакети данни Call Sleep (300)' 100 милисекунди минимум за изчакване за връщане на данни и повече, ако потокът от данни е по -дълъг. Прочетете (DataPacket, 0, 18) 'прочетете обратно в масива от пакети данни. Close ()' затворете серийния порт Край с For i = 4 до 17 PicaxeRegisters (i - 4) = DataPacket (i) 'преместете новия пакет данни в регистърния масив Следващ PictureBox1. BackColor = Color. GreenYellow' работещ Catch ex As Exception PictureBox1. BackColor = Color. Red 'не работи Край Опитайте End Sub Sub FTPUpload (ByVal File Name As String) Dim localFile As String 'място за съхраняване на данни Dim remoteFile As String' името на файла е чувствително към регистъра, това е наистина важно Const host As String = "ftp://ftp.0catch.com" 'забележете, че 0 е a нула не е символ O Const потребителско име As String = "picaxe.0catch.com" Const password As String = "picaxetester" Dim URI As String localFile = Име на файл 'може би не е необходимо, но ако дефинирате местоположение, например c: / mydirectory може лесно да добави по този начин remoteFile = "/" + Име на файла' файл на ftp сървър се нуждае "/" добавен отпред URI = хост + remoteFile Опитайте Dim ftp като система. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = Нов System. Net. NetworkCredential (потребителско име, парола) 'влезте ftp. KeepAli прекъсване на връзката веднъж направено ftp. UseBinary = True 'използвайте двоични комуникации ftp. Timeout = 9000' изчакване след 9 секунди - много полезно, тъй като ftp понякога умира 'изчакването (и тактовата честота от 20 секунди) може да се наложи да бъде по -бавно за комутируеми връзки ftp. Метод = System. Net. WebRequestMethods. Ftp. UploadFile 'започнете да изпращате файл Dim fs As New FileStream (localFile, FileMode. Open)' отворете локалния файл Dim filecontents (fs. Length) As Byte 'прочетете в паметта fs. Read (filecontents, 0, fs. Length) fs. Close () 'затворете файла Dim requestStream As Stream = ftp. GetRequestStream ()' стартиране на ftp заявка за връзка ream. Write (filecontents, 0, filecontents. Length) 'изпратете го requestStream. Close ()' затворете връзката PictureBox2. BackColor = Color. GreenYellow 'променете полето на зелено, за да кажете, че работи добре Label2. Text = "FTP свързан" " текст, казващ, че е свързан Catch 'не може да се свърже PictureBox2. BackColor = Color. Red' поле до червено, тъй като няма връзка Label2. Text = "FTP Upload Fail" 'текст, казващ, че връзката е неуспешна End Опитайте End Sub Sub FTPDownload (ByVal File Name As String) "изтегля отдалечен файл в локален файл Dim localFile As String" място за съхраняване на данни Dim remoteFile As String "името на файла е чувствително към регистъра, това е наистина важно 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: / " + Име на файл' се съхранява в основната директория, но може да промени този localFile = Име на файл ', така че може да добави c: \, ако е необходимо да се дефинира действително местоположение remoteFile = "/" + Име на файл "добавено към отдалечено ftp местоположение URI = хост + remoteFile" грим пълен адрес Опитайте Dim ftp като System. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = Нов System. Net. NetworkCredential (потребителско име, парола). KeepAlive = False 'ще бъде прекъснат след приключване на ftp. UseBinary = True' двоичен режим ftp. Timeout = 9000 'таймаут след 9 секунди ftp. Method = System. Net. WebRequestMethods. Ftp. DownloadFile' изтегляне на файл ', прочетен на парчета като не знам колко голям е файлът Използва отговор като System. Net. FtpWebResponse = CType (ftp. GetResponse, System. Net. FtpWebResponse) Използване на responseStream Както IO. Stream = response. GetResponseStream Използване на fs като нов IO. FileStream (localF, IO. FileMode. Create) Dim buffer (2047) As Byte Dim read As Integer = 0 Do read = responseStream. Read (buffer, 0, buffer. Length) 'парче от ftp fs. Write (buffer, 0, read)' и запишете във файл Цикъл До четене = 0 'докато няма повече парчета responseStream. Close ()' затворете ftp файла fs. Flush () 'flush clear fs. Close ()' и затворете th e файл Край Използване responseStream. Close () 'го затворете, дори ако нямаше нищо Край Използване response. Close () PictureBox2. BackColor = Color. GreenYellow' зелено поле, както работи Label2. Text = "FTP свързан" "и текст, който го казва работеше Край с използване на Catch 'поставете кодовете за грешки тук PictureBox2. BackColor = Color. Red' червено поле, тъй като не работи Label2. Text = "FTP Download Fail" "и съобщение, за да кажете това End Опитайте End Sub Private Sub Timer1_Tick (ByVal изпращач Като System. Object, ByVal e As System. EventArgs) Манипулира Таймер 1. Отметнете If ModifyFlag = False then 'ако потребителят е променил байт, не изтегляйте Label3. Text = "Изтегляне" System. Windows. Forms. Application. DoEvents () "така че новият текст на етикета показва Call FTPDownload (TextBox3. Text)" изтегляне на отдалечен файл Label3. Text = "Изтеглено" System. Windows. Forms. Application. DoEvents () Извикване ReadRemoteFileToRegisters () "запазване на файловите номера в масива на регистрите Label3. Text = "Talking to picaxe" System. Windows. Forms. Application. DoEvents () Else ModifyFlag = False 'нулира флага Край Ако Call SerialTxRx () 'изпратете до пикасето и го прочетете Label3. Text = "Изпратено и получено от picaxe" System. Windows. Forms. Application. DoEvents () Обадете се DisplayPicaxeRegisters () Извикайте SaveRegistersToLocalFile ()' запазете номера във файл Label3. Text = "Качване" System. Windows. Forms. Application. DoEvents () Извикване на FTPUpload (TextBox3. Text) 'изпращане обратно до ftp сайт, наречен като мое име Label3. Text = "Почивка" Извикване SaveFTPFilename ()' така чете в при рестартиране End Sub Sub DisplayPicaxeRegisters () Dim i As Integer Dim регистър номер As String RichTextBox1. Multiline = True ', така че може да показва повече от един ред в текстовото поле RichTextBox1. Clear ()' изчистете текстовото поле За i = 0 до 13 registernumber = Trim (Str (i)) 'отрежете водещите интервали Ако i <10 Тогава registernumber = "0" + registernumber' добавете 0 към числата под 10 End If RichTextBox1. AppendText (регистър номер + "=" + Str (PicaxeRegisters (i)) + Chr (13)) Следващ 'chr (13) е връщане на каретка, така че нов ред End Sub Private Private Button1_Click (ByVal изпращач Като System. Object, ByVal e As System. EventArgs) Манипулира бутон 1. Щракнете върху Dim i As Integer 'първо излезте от обхвата i = Val (TextBox1. Text) Ако i <0 или i> 13 Тогава TextBox1. Text = 0 End If i = Val (TextBox2. Text) Ако i <0 или i> 255 Тогава TextBox2. Text = 0 End Ако PicaxeRegisters (Val (TextBox1. Text)) = Val (TextBox2. Text) 'променете стойността Call DisplayPicaxeRegisters ()' и опресняване на дисплея ModifyFlag = True 'и следващата ftp връзка пропуснете изтеглянето End Sub Sub SaveRegistersToLocalFile ()' запазване на масив от регистър в локален текстов файл Dim i As Integer FileOpen (1, TextBox3. Text, OpenMode. Output) 'отворете текстовия файл с име в текстовото поле За i = 0 до 13 PrintLine (1, Str (PicaxeRegisters (i))) 'запазете 14 стойности Next FileClose (1)' затворете файла End Sub Sub ReadRemoteFileToRegisters () 'прочетете локален текстов файл в масива на регистрите Dim i As Integer Dim LineOfText As String Опитайте FileOpen (1, TextBox3. Text, OpenMode. Input) 'прочетете името на отдалечения файл за i = 0 до 13 LineOfText = LineInput (1)' прочетете в 14 lin es PicaxeRegisters (i) = Val (LineOfText) 'преобразуване на текст в стойности Next FileClose (1) Catch ex As Exception FileClose (1)' файл не съществува, така че не правете нищо End Опитайте End Sub Sub ReadFTPFilename () 'така името на отдалеченият ftp файл е същият при следващото стартиране на тази програма Dim LineOfText As String Опитайте FileOpen (1, "FTPFilename.txt", OpenMode. Input) "отворете файла LineOfText = LineInput (1) TextBox3. Text = LineOfText" прочетете име FileClose (1) Catch ex As Exception FileClose (1) Край Опитайте End Sub Sub SaveFTPFilename () FileOpen (1, "FTPFilename.txt", OpenMode. Output) 'запазете името на отдалечения ftp файл PrintLine (1, TextBox3. Text) FileClose (1) End SubEnd Class

Стъпка 9: Стартирайте програмата на двата компютъра

Стартирайте програмата на двата компютъра
Стартирайте програмата на двата компютъра

Започнете да стартирате програмата, като щракнете върху зеления триъгълник в горната част на екрана - бутона „Стартиране на отстраняване на грешки“. Нищо няма да се случи за 20 секунди и след това програмата ще се опита да се свърже с ftp сървъра и ще се опита да се свърже с picaxe. Кутиите със снимки ще станат червени или зелени. Местоположението на ftp е безплатен уебсайт и всеки може да използва това, но трябва да използвате различно ftp работно име на файл (моето е DoctorAcula1) иначе всички бихме могли да завършим с данните на другия, ако използваме едно и също име на файл! Ако искате, в крайна сметка можете да получите свой собствен ftp сайт - просто променете ftp местоположението, потребителското име и паролата на две места в кода от моя уебсайт 0Catch. Повечето уебсайтове позволяват ftp. Няколко компютъра имат достъп до един и същ ftp файл - ftp файлов сървърът подрежда в какъв ред се случват. Понякога има сблъсъци или прекъсвания на данни и това изглежда се случва на всеки 20 прочетени файла. В кода има изчакване, ако това се случи, така че не връща данни, а не повредени данни. Използването на широколентова връзка със скорост на качване от 128kbs означава, че качването на файл отнема около 3 секунди, но понякога до 8 секунди, повечето от които се заемат при ръкостискане, а не при пренос на данни. Това задава времето на timer1 от минимум около 20 секунди, като се вземат предвид изтеглянето, качването и чатът с пикасето. С много бърз широколентов достъп може да съкратите времето за цикъл. Можете да промените регистър ръчно в програмата VB. Ако го направите, следващият цикъл на таймера прескача изтеглянето от ftp сайта и изпраща новите данни на picaxe, след което ги чете обратно и ги качва. По този начин новите данни намират своя път към всички пикакси, свързани с тази група. Това е полезно за отстраняване на грешки и/или за свързване на компютърния софтуер към хардуерния контур на микроконтролера. Уебсайтовете също могат да получат достъп до хардуерния цикъл, използвайки PERL скрипт или подобен, за да напишат нов файл на ftp сайта. Тази екранна снимка е направена с Tx чип, превключвателят е включен и регистърът b0 = до 1 е изпратен до Rx чипа, който след това също беше променил регистър b1 на 1. По този начин светодиодът беше запален и на двете дъски. Това е тривиално приложение, но е лесно да включите 3.6Kw помпа вместо светодиод. Още няколко идеи са на https://drvernacula.topcities.com/, включително свързване на пикакси чрез радиовръзки със слънчева енергия. С радиовръзки плюс интернет е възможно „Машините“да достигнат до много краища на земното кълбо. Във форума на picaxe има някои идеи за по -нататъшното развитие на тази идея и замяната на компютъра и ftp сайта със специални чипове за уеб сървър, които се включват директно в рутер. Очевидно това ще намали консумацията на енергия на връзка. Ако се интересувате от по -нататъшни дискусии, моля, публикувайте в Intstructable коментарите и/или във форума на picaxe. Д -р Джеймс Моксъм, Аделаида, Южна Австралия

Стъпка 10: Екранни снимки на Code

Екранни снимки на Code
Екранни снимки на Code

При поискване, ето поредица от екранни снимки на кода vb.net с цялото форматиране. Този код всъщност беше копиран обратно от тази инструкция и форматирането се появи отново автоматично. По -добре би било да копирате и поставите текста, отколкото да се опитате да прочетете тези снимки, но те ще бъдат полезни, ако сте в интернет кафене и не можете да инсталирате vb.net.

Стъпка 11: Екранна снимка2

Екранна снимка2
Екранна снимка2

Екранна снимка 2

Стъпка 12: Екранна снимка 3

Екранна снимка 3
Екранна снимка 3

Екранна снимка 3

Стъпка 13: Екранна снимка 4

Екранна снимка 4
Екранна снимка 4

Екранна снимка 4

Стъпка 14: Екранна снимка 5

Екранна снимка 5
Екранна снимка 5

Екранна снимка 5

Стъпка 15: Екранна снимка 6

Екранна снимка 6
Екранна снимка 6

Екранна снимка 6

Препоръчано: