Automatisera din vetenskapliga experiment (6 / 9 steg)

Steg 6: Skriva koden



Växla från "Visa Designer" till "Visa koden" som är två rätt de flesta knappar under "Solution explorer" längst upp till höger på skärmen. Anteckna platsen för dessa två knapparna som de är mycket användbara.

Kopiera och klistra in koden nedan. Formateringen inklusive färgen på texten visas igen som i skärmdumpen ovan.

Import System.IO
Importerar strängarna = Microsoft.VisualBasic "så kan använda saker som vänster (och rätt (för strängar
Public Class Form1
Offentligt deklarera Sub sömn Lib "kernel32" (ByVal dwMilliseconds As Integer) "för sömn uttalanden
Dim WithEvents serialPort som nya IO. Ports.SerialPort "serieport deklarera
Dim PicaxeRegisters(0 To 13) som Byte "registrerar b0 till b13
Dim ModifyFlag som Boolean
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) hanterar Me.Load
Timer1.Enabled = True ' sätta detta i koden som standard false när skapade
Timer1.Interval = 5000' var 10 sekunder
PictureBox1.BackColor = Color.Gray ' börja med den comms lådor grå
ModifyFlag = False "om ändra värdet manuellt då hoppa nedladdning
RichTextBox1.Multiline = True "så kan visa mer än en rad
Label1.text = "Picaxe kommunikation. röd = inte fungerar, grön = ok "
Label2.text = "Platsen för datafilen"
Label3.text = "Datum och tid"
Label4.text = "Picaxe register"
TextBox3.Text = "c:\Datafile.csv" "namnet och platsen för datafilen
Kalla DisplayPicaxeRegisters() "Visa 14 register
End Sub
Sub SerialTxRx()
Dim DataPacket(0 To 17) som Byte ' hela datapaket "Data" + 14 byte
Dim jag As Integer ' jag är alltid bra för loopar etc
För i = 0 till 3
DataPacket(i) = Asc (mitten av ("Data", jag + 1, 1)) ' lägga till ordet "Data" i paketet
Nästa
För i = 0 till 13
DataPacket(i + 4) = PicaxeRegisters(i) ' lägga till alla byte i paketet
Nästa
Om serialPort.IsOpen sedan
serialPort.Close() "ifall redan öppnat
Slut om
Försök
Med serialPort
. PortName = "COM1" "de flesta nya datorer som standard till com1 men någon pre 1999 computern med en seriell mus kommer förmodligen standard till com2
. Baud = 2400 ' 2400 är Max hastigheten för små picaxes
. Paritet = IO. Ports.Parity.None ' ingen paritet
. DataBits = 8 ' 8 bitar
. StopBits = IO. Ports.StopBits.One "en stoppbit
. ReadTimeout = 1000' millisekunder så gånger i 1 sekund om inget svar
. Open() "öppna den seriella porten
. DiscardInBuffer() ' Rensa indatabufferten
. Skriva (DataPacket, 0, 18) "Skicka datapacket matrisen
Kalla Sleep(300) "100 millisekunder minsta vänta för data att komma tillbaka och mer om dataströmmen är längre
. Läs (DataPacket, 0, 18) "Läs tillbaka i matrisen data packet
. Close() ' stänga den seriella porten
Avsluta med
För i = 4 till 17
PicaxeRegisters (i - 4) = DataPacket(i) ' flytta nya datapaketet i arrayen register
Nästa
PictureBox1.BackColor = Color.GreenYellow ' arbetar
Fånga som undantag
PictureBox1.BackColor = Color.Red ' inte arbetande
Slutet försök
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) hanterar Timer1.Tick
Kalla SerialTxRx() "Skicka till picaxe och läsa den tillbaka
System.Windows.Forms.Application.DoEvents() "så att windows inte hänga
Kalla DisplayPicaxeRegisters() "uppdatera register på skärmen
Kalla SaveRegistersToLocalFile() "spara nummer till fil
Label3.text = nu ' uppdatera datum och tid på skärmen
End Sub
Sub DisplayPicaxeRegisters()
Dim jag som heltal
Dim registernumber As String
RichTextBox1.Multiline = True "så kan visa mer än en rad i textrutan
RichTextBox1.Clear() ' Rensa textrutan
För i = 0 till 13
registernumber = Trim(Str(i)) ' trim av ledande utrymmen
Om jag < 10 sedan
registernumber = "0" + registernumber "lägga till 0 i siffror under 10
Slut om
RichTextBox1.AppendText (registernumber + "=" + Str(PicaxeRegisters(i)) + Chr(13))
Nästa "chr(13) är transport tillbaka så ny linje
End Sub
Sub-SaveRegistersToLocalFile() ' Spara registret matris i en lokal textfil
"använda en fil med filnamnstillägget CSV för excel (comma separerade)
Dim jag som heltal
Dim DateTime som sträng
Dim LineOfText som sträng
ArkivÖppna (1, TextBox3.Text, OpenMode.Append) ' öppna textfilen i textrutan som heter
För i = 0 till 13
LineOfText = LineOfText + Str(PicaxeRegisters(i)) + ","
Nästa
DateTime = nu
LineOfText = LineOfText + DateTime ' Lägg till i datum
PrintLine (1, LineOfText)
FileClose(1) ' Stäng filen
End Sub

Slutet klass

Se Steg
Relaterade Ämnen

Automatisera din Shopping!

Dessa dagar, är vi alla upptagna. En syssla som vi ganska mycket alla måste göra regelbundet är köpa matvaror, och om vi har husdjur, vi måste köpa mat, fester och andra förnödenheter för dem också. Jag hatar inte få matvaror, men det verkar som unde...

Använda en DIY rörelsesensor för att automatisera din spökhus

De särskilda effekterna i ett spökhus måste vara väl tidsinställda. Det bästa sättet att göra detta är att använda sensorer för att upptäcka där dina gäster är i spökhuset. Så gör jag en rad projekt som visar en mängd olika sensorer som du kan använd...

DIY vetenskapliga experiment

Lär dig hur man gör 3 spännande vetenskapliga experiment med Rachel, Julia & Annelise. Vi ska skapa en skum Explosion, Tie-Dyed mjölk och Oobleck. Happy pyssel!För skum explosionen behöver du:VäteperoxidDiskmedelKaramellfärg (valfritt)Plast vattenfla...

Automatisera din inköpslistan med hjälp av QR-koder

Lägga till en etikett med en QR-kod i dina burkar och andra behållare. När du märker att you´re att komma ur denna produkt, skanna QR-koden med din smartphone och det kommer att läggas till din inköpslista i ett Google-kalkylark. När du kommer till m...

Automatisera din skrivbordslampa!

Jag automatisera min hem skrivbordslampa med littleBits, ett verktyg för rapid prototyping. Jag remix sedan den för att tillåta mig själv att sätta ljuset på/av genom att skicka en text från min telefon!Steg 1: Hitta din lampaHitta din lampa. Du hitt...

Använda en rörelsesensor för att automatisera din spökhus

En av de mest användbara sensorerna för att automatisera ett spökhus är en rörelsesensor. Denna sensor kan du aktivera din specialeffekter endast när en ny grupp människor anländer. Så överraskningen kommer inte att förstöras av människor se eller hö...

Använda en DIY tryck plattan Switch för att automatisera din spökhus

När du kör ett stort spökhus, du de flesta av specialeffekter till automatiseras. Men för att detta ska vara effektiv, måste du få rätt timing. Det bästa sättet att göra detta är att använda sensorer för att upptäcka där dina gäster är.I detta projek...

Vetenskapliga experiment med ägg!

Detta instructable kommer att visa några roliga experiment du kan göra med ägg!Innehållsförteckning:Steg 1 och 2) hur till pressa ett ägg utan att bryta detSteg 3 och 4) hur man berätta om ett ägg är råa eller koktaSteg 5) flytande ägg!Steg 6) att få...

Hur till automatisera din IPhone använder arbetsflöde

så nyligen jag hämtade arbetsflödet som är en app som gör att användaren kan automatisera sin smartphone (fungerar bara med Apple-produkter IOS 8 eller senare och är kompatibel med Apple Watch). Efter leka med det, trodde jag jag skulle söka på Instr...

Automatisera din ALS isiga vatten utmaning!

Den allestädes närvarande isiga vatten utmaning har spridit sig över hela nationen som gratis pengar. Med avsikt att öka medvetenheten mot sjukdomen ALS och främja forskning donationer, många individer har hällt is kallt vatten över sig, men inte för...

Mikrovågsugn vetenskapliga experiment - kommer det blåsa? Vad kan vi hålla oss i? Mikrovågsugn natt på LINJEVIKTER

LINJEVIKTER är en kreativ oas för MIT uppfinnare typer och praktiska fysiker. Vi har bygga parterna varje fredag på 7 i N52-115, och alla är välkomna att komma kolla upp det och bygga något.Detta bygga parti, vi fick en gammal junky mikrovågsugn från...

Vetenskapliga experiment | Hemgjord väte | Ballonger flyger

mer VIDEOS här: https://www.youtube.com/user/HawkGuruHacker/videosFLER videor här: https://www.youtube.com/user/HawkGuruHacker/videosFLER videor här: https://www.youtube.com/user/HawkGuruHacker/videosFLER videor här: https://www.youtube.com/user/Hawk...

Blandning av ursprungliga & coola videor: liv-Hacks, matlagning, vetenskapliga experiment, DIY, Crafting, mat Hacks, mekanik & mycket mer!

Prenumerera på Fixitsamo kanal för nya filmer varje vecka!Prenumerera här: https://www.youtube.com/subscription_center?add_user=fixitsamoFler videor här: http://www.youtube.com/user/fixitsamo/videosFölj oss på:Instagram: https://www.instagram.com/fix...

Förstärka bil Remote avstånd med din hjärna!

Du är i en fullsatt parkeringsplats och glömde där du parkerade bilen. Du försöker trycka på knappen på din fjärrkontroll, men bilen är tydligen alltför långt borta. Du kan tillbringa nästa trettio minuter racing upp och ner på parkeringen, hålla din...

Grilla din egen kaffe [Whirley Pop metod]

Jag har rostning mitt eget kaffe ett par år och jag älskar verkligen det som en rolig, bakgård aktivitet som de flesta människor inte vet är möjligt. Varje gång vi har rostat, har vi infört nya människor till processen som gjorde tid i deras upptagna...

Experiment i avancerade dataloggning (med Python)

Det finns en hel del uppgifter loggar instructables, så när jag ville bygga ett loggning projekt av min egen jag tittat runt på ett gäng. Några var bra, några inte så mycket, så jag bestämde mig att ta några av de bättre idéerna och göra min egen ans...

LED Slap Wrap armband: Experiment i ledande Laser broderi

Få hög synlighet med denna mångsidiga ljus upp slap armband!Använda som "Im upptagen på jobbet" indikator, cykel ljus, armband eller hår wrap och för dans i mörkret och att göra lång exponering ljusa målningar... eller vad du kan tänka på.Alex,...

Kontroll och automatisera fönster nyanser med INSTEON

för så länge jag har varit i hem styr- och automationssystem, har jag velat kontrollera varje aspekt av mitt hem. Finns verkligen professionella lösningar för att automatisera din fönster nyanser, har ingen av dem någonsin kontaktat överkomliga prise...

Gör din egen Drillium! (Borrade cykel komponenter)

Idag vi kommer att lära dig hur man gör Drillium! För dem som är nyfikna, är drillium (och millium) ord som utvecklats för att beskriva cykel komponenter som har ändrats genom borrning av hål i dem eller bearbetning av dem för att minska vikt och läg...