Агуулгын хүснэгт:

Дэлхий даяар микроконтроллерын холбоос 20 доллараас доош 15 алхам
Дэлхий даяар микроконтроллерын холбоос 20 доллараас доош 15 алхам

Видео: Дэлхий даяар микроконтроллерын холбоос 20 доллараас доош 15 алхам

Видео: Дэлхий даяар микроконтроллерын холбоос 20 доллараас доош 15 алхам
Видео: Заработайте 175 долларов в первый день на изображениях G... 2024, Арваннэгдүгээр
Anonim
Дэлхий даяар микроконтроллерын холбоос 20 доллараас доош үнээр
Дэлхий даяар микроконтроллерын холбоос 20 доллараас доош үнээр

Гэрийнхээ термостатыг ажлаасаа удирдаарай. Шилжүүлэгчийг дарж дэлхийн хаанаас ч хамаагүй ус цацагчийг асаана уу. Энэхүү зааварчилгаа нь интернэтийн нуруу болон VB. Net -ийн энгийн кодыг ашиглан хоёр ба түүнээс дээш долларын 4 долларын микроконтроллерийг хэрхэн холбохыг харуулсан болно. Энэ нь өмнөх зааварчилгаанд суурилсан бөгөөд микроконтроллерийг компьютерт хэрхэн холбож, servo -ийг хянахын тулд тогоо ашиглахыг харуулсан болно.: //www.instructables.com/id/Control-real-world-devices-with-your-PC/ Энэ удаад бид микроконтроллерийг VB. Net програмтай, дараа нь ftp вэбсайт руу, өөр VB. Net рүү буцааж ярьж байна. Хүний оролцоотой эсвэл оролцоогүй дэлхийн аль ч өнцөг булан дахь хоёр дахь микроконтроллер. Матрицад байгаа машинууд хоорондоо ярьж чадахгүй бол өөр яаж авах ёстой юм бэ?

Алхам 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 Андерсон https://www.phanderson.com/ (АНУ) ба Microzed https://www.microzed.com.au/ (Австрали). Эдгээр чипс нь 4 ам долларын үнэтэй байдаг. Хоёр нь: Protoboard, 9V батерей ба батерейны хавчаар, 10k резистор, 22k эсэргүүцэл, 33uF 16V конденсатор, 0.1uF конденсатор, 7805L бага чадлын 5V зохицуулагч, утас (хатуу цөмт утас/өгөгдлийн утас, жишээ нь Cat5/6), LED, 1k резистор. 1 -ээс: D9 эмэгтэй залгуур ба таг, 2 метр 3 (эсвэл 4) үндсэн өгөгдлийн утас (татаж авах боломжтой), унтраалга. 9 зүү цуваа порт бүхий 2 компьютер (нэг компьютер дээр дибаг хийх боломжтой), интернет холболт. Цуваа портгүй компьютеруудын хувьд USB-ээс цуваа төхөөрөмж https://www.rev-ed.co.uk/docs/axe027.pdf болон жижиг стерео залгууртай.

Алхам 2: Зарим програмыг татаж аваад суулгана уу

Зарим програмыг татаж аваад суулгана уу
Зарим програмыг татаж аваад суулгана уу

Бидэнд үнэгүй VB. Net болон picaxe хянагчийн програм хангамж хэрэгтэй болно, хэрэв та Instructable PC хянагчийг хийсэн бол танд эдгээр програмууд байх болно. -us/express/aa718406.aspx picaxe програм хангамжийг https://www.rev-ed.co.uk/picaxe/ дээрээс авах боломжтой. Та татаж авахын тулд microsoft -т бүртгүүлэх шаардлагатай болно. эсвэл ямар нэгэн зүйл. Тэд бодит мэдээллээ үе үе илгээж байх үед надад жинхэнэ имэйлээ өгөх нь надад үнэхээр тустай санагдсан. Энэ бол багш, сурган хүмүүжүүлэгчдээс бүрдсэн форум юм https://www.picaxeforum.co.uk/ оюутнууд ихэвчлэн хэдэн цагийн дотор асуултын хариултыг авах боломжтой. Зарим оюутнууд бага сургуулийн түвшинд сурч байгаа тул форум нь хамгийн энгийн асуултуудыг ч гэсэн маш сайн ойлгодог. Тусламж хүсэхээс бүү ай!

Алхам 3: Татаж авах хэлхээг бий болго

Татаж авах хэлхээг бий болгох
Татаж авах хэлхээг бий болгох

Энэхүү татаж авах хэлхээнд пикакс чип, хэд хэдэн резистор, зохицуулагч, 9В батерей ашигладаг. Дэлгэрэнгүй мэдээллийг програмын тусламжийн цэсэнд байгаа picaxe баримт бичиг/тусламжаас авах боломжтой. Бүх эд ангиудыг гартаа оруулсны дараа хэлхээг бүтээхэд хэдхэн минут л шаардагдана. Чипийг програмчилсны дараа цахилгаан унтарсан ч гэсэн програмаа EEPROM -д хадгалдаг. Бид хоёр чипийг програмчилж байгаа болохоор чипсийг тэмдэглэх нь зүйтэй болов уу, ингэснээр аль нь болохыг мэдэх болно. Та үргэлж буцаж очиж, холбоосыг арилгаж, резисторыг хөдөлгөж чипийг дахин програмчилж болно.

Пикакс нь 3 АА батерейгаар аз жаргалтай ажилладаг гэдгийг би нэмж хэлэх болно. 5В -ийн зохицуулалттай хангамж нь жишиг хүчдэл өөрчлөгдөхгүй тул аналог оролтыг ажиллуулахад хэрэгтэй боловч энгийн асаах/унтраах хэлхээнд зохицуулалттай тэжээл шаардагддаггүй. Ийм нөхцөлд 5V горимыг орхиж болно.

Алхам 4: Чипсийг програмчлах

Чипсийг програмчлах
Чипсийг програмчлах

Бид нэг програмыг Tx, нэг Rx гэж нэрлэх болно. Tx бол хяналтын чип бөгөөд унтраалга, залгууртай. Rx бас ледтэй. Шилжүүлэгч өөрчлөгдөхөд дохио Tx -ээс Rx руу шилждэг, удирдамжийг өөрчилдөг, мөн хоёр дахь хувьсагчийг өөрчилдөг бөгөөд дараа нь Tx рүү буцдаг. Тиймээс унтраагуурыг дараад минут хүрэхгүй хугацааны дотор хоёр хэлхээний гэрэл хоёуланд нь өөрчлөгдөж, мессеж ирсэн бөгөөд Rx нь шилжүүлэгчийн шинэ байрлал дээр ажиллаж байгааг илтгэнэ. Хамгийн энгийн түвшинд пикакс нь 14 байт регистртэй. Виртуал сүлжээ бий болоход бид эдгээр бүх бүртгэлийг хооронд нь холбож өгдөг, хэрэв нэг пиктэд байт өөрчлөгдвөл бүх пикакс дээр өөрчлөгддөг. Мэдээжийн хэрэг, хэрэв хоёр пикакс нэг байтыг өөрчлөхийг оролдож байгаа бол энэ нь маш их ойлгомжгүй болох болно, гэхдээ хэрэв пикакс бүр зөвхөн нэг байтыг өөрчилдөг бол бусад бүх пикаксууд энэ өөрчлөлтийг харж, үүн дээр ажиллах боломжтой болно. Хэрэв тодорхой байтыг зөвхөн нэг пиксексээр өөрчилвөл энгийн мессежийг урагш, урагш дамжуулж болно. Сав нь бүртгэлийн утгыг өөрчилж чаддаг бөгөөд нэг буюу хэд хэдэн пикакс нь servo эсвэл бусад зүйлийг өөрчилж, хөдөлгөж, халаагуурыг асааж байгааг мэдэрдэг. Хоёр дахь бүртгэл нь өрөөн доторх температурыг буцааж илгээх боломжтой. Хөтөлбөрүүдийг хуулж, пикакс програмист болгон байрлуулж, пикакс програмист доторх цэнхэр татаж авах сумыг ашиглан тус тусын чип бүрт татаж аваарай. Tx: үндсэн: серин 3, N2400, ("Өгөгдөл"), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 'pin2 бол компьютерээс пакет авна уу. 0 дараа нь 'шилжүүлэгчийг шалгаж, b0 төлөвөөс хамааран b0 регистрийг тохируулна уу b0 = 0 өөр b0 = 1 төгсгөл байвал b1 = 0 бол' бусад пикаксууд b1 -ээс хамаарна b0 бага 1 'өөр өөр унтраах өндөр 1' төгсгөл 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 -ийг b1 бол тэнцүү регистр болгон өөрчил. = 0 дараа нь бага 1 'унтраах өөр өндөр 1' төгсгөл 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 -ийг авдаг бөгөөд чип өөр програм татаж байгаа гэж бодож байна.

Физик зүүг хөл, виртуал зүүг зүү гэж нэрлэдэг пикаксийн нэр томъёог дурдах нь зүйтэй болов уу. Тиймээс кодын 2 -р зүү дээрх гаралт нь үнэндээ 5 -р хөлний гаралт юм. Энэ нь хачирхалтай санагдаж болох ч энэ кодыг 28 ба 40 зүү шиг том пикакс руу зөөж, ажилласаар байгаа гэсэн үг юм.

Алхам 6: Rx хэлхээг бий болгох

Rx хэлхээг бий болгох
Rx хэлхээг бий болгох

Энэ хэлхээ нь дамжуулагчтай бараг ижил байна - зүгээр л унтраалга байхгүй байна.

Алхам 7: VB. Net кодыг бичнэ үү

Зарим VB. Net кодыг бичнэ үү
Зарим VB. Net кодыг бичнэ үү

Би кодыг эмхэтгэж, энэ програмыг.exe хэлбэрээр хөрвүүлэх боломжтой байсан ч VB. Net -ийг сурах нь маш хэрэгтэй бөгөөд үүнийг алхам алхамаар давах нь зүйтэй юм. Хэрэв та үүнийг хоёр өөр компьютер дээр ажиллуулж байгаа бол програмыг.exe болгон бүтээж, хоёр дахь компьютер дээр суулгаж болох жижиг тохиргооны програмыг бий болгож чадна. Эсвэл та VB. Net -ийг хоёр компьютерт суулгаад програмуудыг VB. Net дотроос ажиллуулж болно https://www.instructables.com/id/S1MMU2XF82EU2GT -ийн 7, 8 -р алхамаас шинэ VB.net төслийг хэрхэн нээхээ мэддэг гэж бодъё. /Хоосон маягт дээр багаж самбараас дараах бүрэлдэхүүн хэсгүүдийг нэмж, зураг дээрх байршилд байрлуулна. Шошго болон текст хайрцгийн хувьд текстийн шинж чанарыг (баруун доод талд) шаардлагатай зүйл болгон өөрчилнө үү. Цаг хэмжигчийн тохиргооны талаар санаа зовох хэрэггүй - бид тэдгээрийг кодоор өөрчлөх болно, гэхдээ таймер оруулахаа мартуузай. Та бүх зүйлийг хөдөлгөж болно, байршлын талаар ямар ч дүрэм байдаггүй. Том текстийн хайрцаг нь RichTextBox бөгөөд жижиг 3 нь ердийн текстийн хайрцаг юм. Захиалгын хувьд бид маягтын дээд хэсгээс эхэлж, доошоо явж байна. Хэрэв та ямар нэгэн зүйл орхих юм бол ямар нэгэн мэдээлэл өгөх ёстой код дээр алдаа гарах болно. Textbox3 -ийн санамсаргүй файлын нэрийг сонгоно уу - энэ бол ftp сервер дээрх таны өвөрмөц пиксел бүлэг бөгөөд хэрэв бид бүгдээрээ ижил нэртэй бол өгөгдөл бүрхэг болно! Энэ хүснэгтийн зураасыг уучлаарай-хоосон зай оруулах нь хүснэгтийн форматыг алдана. Toolbox объект ------- Текст ---------- ------------------------------ NotesLabel1 ------------------ Picaxe CommunicationsLabel2 ------------------ FTP StatusLabel3 ------------------ StatusLabel4 ---------- -------- Picaxe регистрүүдLabel5 ------------------ Бүртгүүлэх 0-13Label6 ------------------ Утга 0-255Label7 ------------------ FTP линк файлын нэр Текст хайрцаг1 ---------------- 0 -------- -------------------------------------- 0 нь OTextbox2 биш тэг юм2 ----- ----------- 0Textbox3 ---------------- Миний файлын нэр --------------------- ---------- Өөрчлөлт хийх тул мөргөлдөөн үүсэхгүй! Button1 ------------------ ModifyRichtextbox1 Picturebox1 Picturebox2 Timer1

Алхам 8: Зарим код нэмнэ үү

Зарим код нэмэх
Зарим код нэмэх

Маягт болон кодын харагдац хооронд шилждэг товчлуурын байршлыг бусад зааварчилгааны 12 -р алхамаас үзнэ үү. Код харах горим руу шилжиж дараах кодыг оруулна уу. Дэлгэцийн зураг дээрх шиг өнгүүд бүгд дахин гарч ирэх ёстой. Хэрэв үг боох асуудлын улмаас мөрийг зөв хуулж чадаагүй бол алдааны мэдэгдэл алга болох хүртэл хоосон зайг устгана уу. Би ихэнх мөрүүдийг тайлбарлахыг хичээсэн тул код нь дор хаяж утга учиртай болно. Нийтийн ангийн битийг устга, үүнийг буулгахаас өмнө текст хоосон байна - энэ код аль хэдийн нийтийн ангилалтай байна. Хэрэв текст хайрцаг гэх мэт объектыг маягт дээр байрлуулаагүй эсвэл буруу нэр өгсөн бол текстийн кодын доор цэнхэр өнгийн зураас гарч ирэх болно. зүүн (ба баруун) (stringsPublic Class Form1 Нийтийн зарлал Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer) '' унтлагын мэдэгдлийн хувьд Dim WithEvents serialPort As New IO. Ports. SerialPort 'цуваа порт нь Dim PicaxeRegisters (0 -ээс 13 хүртэл) Byte 'b0 -ээс b13 хүртэл Dim ModifyFlag -ийг Boolean Private Sub Form1_Load (ByVal sender as Object, ByVal e As System. EventArgs) Handles Me. Load -д бүртгүүлдэг тул. Form дээр гарч ирэх/ачаалах үед үүнийг сүлжээ автоматаар оруулдаг. Timer1. Enabled = True 'нь Timer1. Interval = 20000' -ийг 20 секунд тутамд үүсгэж байх үед үүнийг худал гэж тохируулдаг. Хэрэв утгыг гараар өөрчилвөл s kip download RichTextBox1. Multiline = True 'нь нэгээс олон мөрийг харуулах боломжтой DisplayPicaxeRegisters ()' 14 бүртгэлийг харуулна ReadFTPFilename () файлын нэрийг дискнээс уншдаг (20 секунд тутамд хадгалдаг) Дэд дэд SerialTxRx () Dim DataPacket () 0 -ээс 17 хүртэл) Байтын бүх өгөгдлийн багц "Өгөгдөл" +14 байт Dim i As Integer 'i нь гогцоонд үргэлж хэрэгтэй байдаг. I = 0 -ээс 3 хүртэл DataPacket (i) = Asc (Дунд ("Өгөгдөл", i + 1), 1)) 'пакетад "Өгөгдөл" гэсэн үгийг нэмнэ Дараа нь i = 0 -ээс 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 нь хамгийн дээд хурд юм. жижиг пикакс. Parity = IO. Ports. Parity. None 'parity байхгүй. DataBits = 8' 8 бит. StopBits = IO. Ports. StopBits. One 'one stop bit. ReadTimeout = 1000' миллисекон ds хариу өгөхгүй бол 1 секундын дотор хугацаа дуусна. () 'цуваа портыг нээнэ үү. DiscardInBuffer ()' оролтын буферийг цэвэрлэнэ. Бичих (DataPacket, 0, 18) 'өгөгдлийн багц массивыг дуудлага хийх өгөгдлийн урсгал урт байвал өгөгдөл буцаж ирэхийг хүлээх хамгийн бага хэмжээ ба түүнээс дээш. Өгөгдлийн пакет массивт дахин уншина уу. (i - 4) = DataPacket (i) 'шинэ өгөгдлийн пакетыг регистрийн массив руу шилжүүлэх (ByVal файлын нэрийг String байдлаар) Dim localFile As String -д өгөгдөл хадгалах газар Dim remoteFile As String файлын нэр нь жижиг үсгээр бичигдсэн бөгөөд энэ нь Const хост шиг чухал ач холбогдолтой String = "ftp://ftp.0catch.com" "0 нь тэг нь тэмдэгт биш O Const хэрэглэгчийн нэр As String = "picaxe.0catch.com" Const нууц үг String = "picaxetester" Dim URI нь String localFile байдлаар = Файлын нэр 'шаардлагагүй байж магадгүй, гэхдээ хэрэв байршлыг тодорхойлвол c: / mydirectory ингэж хялбархан нэмж болно remoteFile = "/" + Файлын нэр' файлыг ftp сервер дээр "/" нэмж оруулна. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = New System. Net. NetworkCredential (хэрэглэгчийн нэр, нууц үг) '-д нэвтрэх ftp. KeepAlive = False' байх болно. ftp. UseBinary = True -ийг салгасны дараа хоёртын комт ашиглах ftp. Timeout = 9000 '9 секундын дараа завсарлага авдаг - ftp заримдаа үхдэг тул маш их хэрэгтэй байдаг (мөн 20 секундын давтамж) нь залгаад холбоход удаан байх шаардлагатай болдог. Method = System. Net. WebRequestMethods. Ftp. UploadFile 'Dim fs файлыг New FileStream (localFile, FileMode. Open) хэлбэрээр илгээх ажлыг эхлүүлэх 0, fs. Length) fs. Close () 'Dim requestStream файлыг хаах Stream As Stream = ftp. GetRequestStream ()' эхлэх ftp линк хүсэлтSt ream. Write (filecontents, 0, filecontents. Length) 'request requestStream. Close ()' PictureBox2. BackColor = Color. GreenYellow холбоосыг хаах 'гэж хэлээд хайрцгийг ногоон болгож өөрчилсөн гэж хэлээд Label2. Text = "FTP холбогдсон" Catch холбогдсон гэсэн текст нь PictureBox2. BackColor = Color. Red 'хайрцгийг холболт хийгээгүй тул улаан болгож Label2. Text = "FTP -ийг байршуулж чадсангүй" гэсэн текст холболт амжилтгүй болсон гэж хэлээрэй Төгсгөлд нь оруулах дэд дэд FTP татаж авах (ByVal файлын нэрийг String байдлаар) 'Remotefile -ийг localfile руу татаж авдаг Dim localFile As String' өгөгдлийг хадгалах газар Dim remoteFile As String 'файлын нэр нь жижиг үсгээр бичигдсэн байдаг нь Const host As String = "ftp://ftp.0catch.com" Const хэрэглэгчийн нэр String = "picaxe.0catch.com "Const password as As String =" picaxetester "Dim URI нь String байдлаар 'localFile =" C: / " + Файлын нэр' -ийг үндсэн санд хадгалдаг боловч үүнийг localFile = Filename 'болгож өөрчилж болох тул тодорхойлох шаардлагатай бол c: / нэмж болно. бодит байршил remoteFile = "/" + Файлын нэр '-ийг алсын ftp байршилд нэмсэн URI = хост + remoteFile' бүрдүүлэлт бүтэн хаяг Dim ftp -ийг System. Net. FtpWebRequest = CType (System. Net. FtpWebRequest. Create (URI), System. Net. FtpWebRequest) ftp. Credentials = New System. Net. NetworkCredential (хэрэглэгчийн нэр, нууц үг) 'ftp руу нэвтэрч үзээрэй.. KeepAlive = False 'нь ftp. UseBinary = True' хоёртын горимын ftp. Timeout = 9000 'завсарлагааны 9 секундын дараа ftp. Method = System. Net. WebRequestMethods. Ftp. DownloadFile' файлыг татаж аваад 'хэсэг болгон уншсан Файлын хэмжээ хэр том болохыг мэдэхгүй байна. IO. FileMode. Create) Dim buffer (2047) Byte Dim гэж уншина уу Integer = 0 Do read = responseStream. Read (buffer, 0, buffer. Length) 'ftp fs. Write (buffer, 0, read)' болон файл руу бичих Loop болтол унших хүртэл = 0 'болтол хариу өгөхгүйStream. Close ()' ftp файлыг хаах fs. Flush () 'flush clear fs. Close ()' болон th e file End using respondStream. Close () 'юу ч байхгүй байсан ч гэсэн үүнийг хаагаарай Хариултыг ашиглахыг дуусгавар болгох "End Use Catch 'ажилласан" алдааны кодыг энд тавьжээ PictureBox2. BackColor = Color. Red' улаан хайрцаг ажиллахгүй байгаа тул Label2. Text = "FTP татаж авахад алдаа гарлаа" гэсэн үгийг илгээж, End End Private Private Sub Timer1_Tick (ByVal илгээгч) System. Object, ByVal e As System. EventArgs) Таймерыг зохицуулдаг1. ModifyFlag = False If 'гэж тэмдэглээрэй, хэрэв хэрэглэгч байтыг өөрчилсөн бол 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 'тугийг дахин тохируулна. Дуудлага хийх бол 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 ()' уншдаг. дахин ачаалах үед Төгсгөл дэд дэд DisplayPicaxeRegisters () Dim i As Integer Dim registernumber As String RichTextBox1. Multiline = True 'нь RichTextBox1. Clear () текстийн хайрцагт нэгээс олон мөрийг харуулах боломжтой i = 0 -ээс 13 хүртэл registernumber = Trim (Str (i)) 'тэргүүлэх зайг таслах бол хэрэв би <10 Дараа нь registernumber = "0" + registernumber' 10 -аас доош тооны төгсгөлд 0 нэмэх бол RichTextBox1. AppendText (registernumber + "=" + Str (PicaxeRegisters (i))) + Chr (13)) Дараагийн 'chr (13) бол тэрэг буцах тул шинэ мөр End Sub Private Sub Button1_Click (ByVal илгээгч) System. Object, ByVal e As System. EventArgs) Товчлуурыг дарна уу 1. Dim i As Integer товчийг дарна уу. i = Val (TextBox2. Text) Хэрэв i <0 Эсвэл i> 255 бол TextBox2. Text = 0 бол PicaxeRegisters (Val (TextBox1. Text)) = Val (TextBox2. Text) 'нь DisplayPicaxeRegisters ()' гэсэн утгыг өөрчилнө. дэлгэцийг шинэчлэх ModifyFlag = Үнэн 'ба дараагийн ftp линкийг татаж авах алгасах End Sub Sub SaveRegistersToLocalFile ()' регистрийн массивыг Dim i As Integer FileOpen локал текст файлд хадгалах (1, TextBox3. Текст, OpenMode. Output) 'нэртэй текст файлыг нээнэ үү. текст хайрцагт For i = 0 -ээс 13 хүртэл PrintLine (1, Str (PicaxeRegisters (i))) '14 утгыг хадгалах Next FileClose (1)' файлыг хаах Төгсгөл дэд дэд ReadRemoteFileToRegisters () 'файлыг регистрийн массив руу уншина уу. Dim i As Integer Dim LineOfText As String FileOpen (1, TextBox3. Text, OpenMode. Input) 'файлыг алсын файлын нэрийг уншина уу. es PicaxeRegisters (i) = Val (LineOfText) 'текстийг утга болгон хөрвүүлэх Дараагийн FileClose (1) Ex Exception FileClose (1) файл байхгүй тул юу ч хийж болохгүй Төгсгөл Дэд дэд Read ReadFTPFilename ()' гэсэн нэр Дараагийн удаа энэ програмыг Dim LineOfText -ийг String болгон ажиллуулахдаа FileOpen (1, "FTPFilename.txt", OpenMode. Input) файлыг ажиллуулахад "алс холын ftp файл ижил байна. ' FileClose нэр (1) Except as File File хэлбэрээр хаах (1) Төгсгөл Дэд дэд дэд SaveFTPFilename () FileOpen (1, "FTPFilename.txt", OpenMode. Output) 'алсын ftp файлын нэрийг PrintLine (1, TextBox3. Text) хадгалах FileClose (1) Дэд төгсгөлийн ангийг дуусгах

Алхам 9: Хөтөлбөрийг хоёр компьютер дээр ажиллуулна уу

Програмыг хоёр компьютер дээр ажиллуулна уу
Програмыг хоёр компьютер дээр ажиллуулна уу

Дэлгэцийн дээд хэсэгт байрлах ногоон гурвалжин дээр дарж програмыг ажиллуулж эхэлнэ үү. 20 секундын турш юу ч тохиолдохгүй бөгөөд дараа нь програм нь ftp сервер рүү холбогдохыг оролдож, пикакс руу холбогдохыг оролдох болно. Зургийн хайрцгууд улаан эсвэл ногоон өнгөтэй болно. Ftp байршил нь үнэгүй вэбсайт бөгөөд үүнийг хэн ч ашиглаж болно, гэхдээ та өөр ftp файлын нэрийг ашиглах хэрэгтэй (миний нэр бол DoctorAcula1), эс тэгвээс бид ижил файлын нэрийг ашиглавал бид бүгд бие биенийхээ өгөгдлийг авах боломжтой болно! Хэрэв та хүсвэл эцэст нь өөрийн ftp сайтыг авах боломжтой болно - миний 0Catch вэбсайтаас кодын хоёр хэсэгт ftp байршил, хэрэглэгчийн нэр, нууц үгээ өөрчилнө үү. Ихэнх вэбсайтууд ftp -ийг зөвшөөрдөг. Олон компьютер ижил ftp файлд хандах боломжтой - ftp файлын сервер эдгээр дарааллыг дарааллаар нь ангилдаг. Заримдаа өгөгдлийн мөргөлдөөн эсвэл гацах тохиолдол гардаг бөгөөд эдгээр нь 20 файл унших тутамд тохиолддог. Хэрэв энэ нь эвдэрсэн өгөгдлөөс илүү өгөгдөл буцаадаггүй бол 128kb -ийн байршуулах хурдтай байх нь файлыг байршуулахад 3 секунд орчим болдог боловч ихэнхдээ 8 секунд хүртэл хугацаа шаардагддаг. мэдээлэл дамжуулахаас илүү гар барихад. Энэ нь таймер1 -ийг татаж авах, байршуулах, пикакс ашиглан чатлахад хамгийн багадаа 20 орчим секунд зарцуулдаг. Маш хурдан өргөн зурвасын тусламжтайгаар та мөчлөгийн хугацааг богиносгож, VB програм дотор бүртгэлийг гараар сольж болно. Хэрэв ингэвэл дараагийн таймер мөчлөг нь ftp сайтаас татаж авахаа болиод шинэ өгөгдлийг пикакс руу илгээж, дараа нь буцааж уншаад байршуулна. Шинэ өгөгдөл нь энэ бүлэгт холбогдсон бүх пикакс руу шилжих болно. Энэ нь дибаг хийх ба/эсвэл компьютерийн програм хангамжийг микроконтроллерийн тоног төхөөрөмжийн гогцоонд холбоход тустай. Вэбсайтууд нь ftp сайт руу шинэ файл бичихийн тулд PERL скрипт эсвэл үүнтэй төстэй техник хангамжийн хүрдэнд хандаж болно. Энэ дэлгэцийн зургийг Tx чип дээр ажиллуулж, унтраалга асаалттай, b0 = 1 регистрийг Rx чип рүү илгээсэн болно. дараа нь b1 бүртгэлийг 1 болгон өөрчилсөн. Ийнхүү хоёр самбар дээр гэрлийг асаажээ. Энэ бол өчүүхэн төдий програм боловч удирдагчийн оронд 3.6 кВт -ын насосыг асаахад хялбар байдаг. Нарны эрчим хүчээр ажилладаг радио холбоосоор пикакс холбох гэх мэт бусад санаануудыг https://drvernacula.topcities.com/ дээрээс авах боломжтой. Радио холбоос, интернетийн тусламжтайгаар "Машинууд" дэлхийн өнцөг булан бүрт хүрэх боломжтой. Энэхүү санааг цаашид авч хэрэгжүүлэх, компьютер болон ftp сайтыг чиглүүлэгч рүү шууд холбосон вэб серверийн чипээр солих талаар зарим санаа байдаг. Энэ нь холбоосын эрчим хүчний хэрэглээг бууруулах нь ойлгомжтой. Хэрэв та цаашдын хэлэлцүүлгийг сонирхож байгаа бол Unstructable сэтгэгдлүүд болон/эсвэл picaxe форум дээр бичнэ үү. Др Жеймс Моксхам

Алхам 10: Кодын дэлгэцийн агшин

Кодын дэлгэцийн агшин
Кодын дэлгэцийн агшин

Хүсэлтийн дагуу энд бүх хэлбэршүүлэлт хийгдсэн 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

Зөвлөмж болгож буй: