Arduino & Visual Basic 6 (Light Controller) (2 / 4 steg)

Steg 2: Visual Basic 6.0 (del 1)

Det andra steget skulle börja att koda VB programmet. I kod vissa funktioner som klass som detta gör att jag kan skapa dll. Första klass skulle läsa text arkivera och förvara dem i en matris inuti programmet. Jag hittade koden i "Programmering Visual Basic 6.0" manual. Denna funktion tillåter mig att ladda förprogrammerade kommandon i programmet att köra.

Programkod

Offentliga funktion FileToArray(ByVal filename As String) As String
På fel GoTo fel

Dim items() As String, jag som heltal
"Läs filens innehåll och dela den i en strängmatris. (Utgång här om något fel inträffar).
items() = Strings.Split(ReadTextFileContents(filename), vbCrLf)

För i = LBound(items()) till UBound(items())
FileToArray = FileToArray & vbCrLf & items(i)
Nästa

MsgBox "Kommandon lästs in!"

Gå ur funktion
Fel:
MsgBox "fel i FileToArray:" & Err.Description
Slutet funktion

"Läs hela sammanhang i en fil
Offentliga funktion ReadTextFileContents(filename As String) As String

Dim fnum As Integer, isOpen som boolesk
På fel GoTo Error_Handler ' få nästa fri filnummer.
fnum = FreeFile()
Öppna filnamnet för Input som #fnum ' om exekveringsflödet fick här, filen har varit öppen utan fel.
isOpen = True "Läs hela innehållet i en enda operation.
ReadTextFileContents = Input(LOF(fnum), fnum) ' avsiktligt flöda in fel hanteraren ska stänga filen.

Error_Handler: "öka felet (om någon), men först stänga filen.
Om isOpen sedan sista #fnum
Om Err sedan Err.Raise Err.Number, Err.Description

Slutet funktion
_____________________________________________________________________________________________
Efter det hittade jag programmet att ladda inkorg meddelanden från Gmail (http://www.j4mie.org/2008/02/15/how-to-make-a-physical-gmail-notifier/ ). Jag praktisk den här funktionen om du vill aktivera lastning kommandon från din Gmail-inkorg att köra Light Controller.

Programkod

Option Explicit
Privata m_TheFile As String, m_TheSection som Variant
Privat Username As String, lösenord som sträng, iTemp() As String
Privata pForm som Form, pTimer som Timer, ptxtBox som lärobok, pInet som Inet

Privata Declare funktionen GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName som någon, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nStorlek som lång, ByVal lpFileName As String) som lång
Privat deklarera funktionen WritePrivateProfileString så Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName som någon, ByVal lpString som någon, ByVal lpFileName As String) så länge

Public Sub initGmailAccount (TheFile As String, TheSection som Variant, fForm som Variant, fTimer som Variant, ftxtBox som Variant, fInet som Variant)
På fel GoTo ERRR

m_TheFile = TheFile
m_TheSection = TheSection
Ställa in pForm = fForm: Ange pTimer = fTimer: Ange ptxtBox = ftxtBox: Ange pInet = fInet

Log "INI:" & m_TheFile & vbCrLf & "avsnitt:" & m_TheSection

pTimer.Enabled = False ' stoppa timern!
pTimer.Interval = SimpleGet("interval") * 1000 "ställa in timern!
pTimer.Enabled = True ' starta timern!
Log "intervall:" & pTimer.Interval / 1000 & "sekunder"

Användarnamn = SimpleGet("username")
Log "användarnamn:" & användarnamn

Lösenord = SimpleGet("password")
Log "lösenord: ***"
Log "Inställningar lastas..."

Exit Sub
ERRR:
Log "fel i LoadSettings:" & Err.Description
Återuppta nästa
End Sub

Public Function CheckMail (ByVal ToTextFile som sträng) som Boolean
På fel GoTo ERRR ' felhantering. ett måste.

Dim STRTemp As String "i"strtemp"sätter vi hela webbsidan
Dim mailCount As String, mailTitle As String, mailSummary As String

STRTemp = pInet.OpenURL ("https://" & användarnamn & ":" & lösenord & "
STRTemp = UCase(STRTemp)
mailCount = höger (STRTemp, Len(STRTemp) - InStr (1, STRTemp, "FULLCOUNT") - 9)
mailCount = vänster (mailCount, InStr (1, mailCount, "<") - 1)
mailTitle = höger (STRTemp, Len(STRTemp) - InStr (1, STRTemp, "titel > L") - 5)
mailTitle = vänster (mailTitle, InStr (1, mailTitle, "<") - 1)

Om StrComp (mailTitle = "LIGHTCONTROL", vbTextCompare) = 0 & mailCount = "1" då
mailSummary = höger (STRTemp, Len(STRTemp) - InStr (1, STRTemp, "Sammanfattning") - 7)
mailSummary = vänster (mailSummary, InStr (1, mailSummary, "<") - 1)

"last meddelande till offentlig variabel
iTemp() = Strings.Split (mailSummary, ";")

"spara Mail-data till en textfil
Öppna ToTextFile för utdata som #1
Dim jag som heltal
För i = LBound(iTemp()) till UBound(iTemp())
Skriva ut #1, iTemp(i)
Nästa
Nära #1
CheckMail = sant

Annat
Log "Mail inte tillgänglig!"
CheckMail = False
Slut om

Gå ur funktion
ERRR:
Log "fel i CheckMail:" & Err.Description
Återuppta nästa
Slutet funktion

Offentliga Sub Log (Text som sträng)
På fel GoTo ERRR
ptxtBox.Text = Text & vbCrLf & ptxtBox.Text
Exit Sub
ERRR:
MsgBox "ett fel uppstod när loggning:" & Err.Description
Återuppta nästa
End Sub

Public Function SimpleGet (Var_namn som sträng) som sträng
Statiska sLocalBuffer As String * 500
Dim l som heltal

l = GetPrivateProfileString (m_TheSection, Var_namn, vbNullString, sLocalBuffer, 500, m_TheFile)
SimpleGet = vänster$ (sLocalBuffer, l)

Slutet funktion

Public Sub SimplePut (TheItem som Variant, TheVal som Variant)

Ring WritePrivateProfileString så (m_TheSection, CStr(TheItem), CStr(TheVal), m_TheFile)
"Spola buffert
Ring WritePrivateProfileString så (0, 0, 0 &, m_TheFile)

End Sub

Se Steg
Relaterade Ämnen

Arduino & Visual Basic 6.0 (kontinuerlig Servo Motor)

detta Instructable är nästan lik till Light Controller postat tidigare. Den innehåller samma struktur och mönster i styr Servo Motor. Jag använde några idéer form Galil motorisk kontroll strukturer för att skapa min parser. Nämligen, SH (Servo här) o...

Styra Arduino med visual basic 6.0

Detta instructable är en del av min bok Arduino + visual basic 6.0 (gör din egen mjukvara till kontroll arduino Robot.Visual basic 6.0 är en mycket gammal version som vissa människor kan fråga varför vi vill använda visual basic 6.0. Visual basic 6.0...

Arduino och Visual Basic RF över temperatur luftfuktighet mätning

Vi kan se Arduino med 433 MHz RF med omedelbar visning av temperatur och luftfuktighet värden som vi gör med visual basic-programmet.http://make.robimek.com/Arduino-Visual-Basic-Wireless-temperature-humidity-Control/Låt oss börja med temperatur och l...

Kontroll av en DC motor med Arduino och Visual Basic

Hej vänner detta är mitt första inlägg i instructables.com där jag kommer att försöka ge mer nyhet des ofta.Idag är temat med Arduino och Visual Basic.Det projekt som vi ser idag är controller en dc-motor med Arduino och Visual Basic.För att styra en...

Kinect kontroller Arduino wired servon med Visual Basic 2010

uppdatering JAN 2012: denna guide är med på Microsofts MSDN Channel9http://channel9.msdn.com/Coding4Fun/Blog/Kinecting-to-Arduino-with-Visual-BasicINTRODUKTIONI detta projekt använda jag vänster och höger hand rörelser i Kinect för att kontrollera ro...

Hur att programmera Arduino Bluetooth seriell kommunikation i Visual Basic Express 2010

Thär är olika Android Program/programvara för att styra din robot arduino bluetooth med din android. Men du kan inte hitta en att använda med din windows-dator. Så programmet jag en liten en i Visual Basic Express 2010. Hoppas det kan vara bra som en...

Med Visual Basic 2010 till kontroll Arduino Uno

jag vet att detta har skett tidigare några gånger så här är en mer. Detta är ett skelett Visual Basic 2010 och Arduino skiss som jag blandade ihop prov PC till Arduino Uno anslutning via följetong. Det visar helt enkelt LED 13 på eller av.Visual Basi...

3 kanal arduino Powered Christmas Light Controller!

För julen i år, jag ville göra ett riktigt häftigt projekt men inte riktigt vet vad man ska göra. Som jag fick julen ljus ut att dekorera, var det en gammal trasig Christmas light timer. Jag tog isär och tittade på lågspänning kretsen. Innan detta ha...

Arduino Remote RGB ledde av Visual Basic

KravEn Arduino (jag använder Arduino Uno)Visual Basic Express 2010 du kan hämta VB från härRGB LedSteg 1: Skapa programI detta instructable, vi kommer att göra ett program för att kontrollera RGB ledde.Följ följande steg:Klicka på nytt projektVälj ny...

Arduino - Control Servo med Visual Basic

Hi guys,Idag ska jag visa hur du kan kontrollera ett servo med Visual basic. Före detta projekt har jag aldrig använt Visual basic så om någon finner något misstag i min kod vänligen lämna en kommentar här och hjälpa mig att förbättra den.Du kan besö...

Hur man automatiskt identifiera och ansluta till Arduino i Visual Studio med Visual Basic

Hur att automatiskt upptäcka vilken port arduino eller geekduino är ansluten till använder visual basic och ansluta automatiskt till det! (senare kommer jag att lägga hur Auto upptäcka när det är unplugged!).Obs: knappen är inte nödvändigt men det i...

Att göra Arduino serieport med visual basic

Vi kommer att göra programmets gränssnitt ansluta till serieporten med Visual Studio.Låt oss titta på detaljerna i programmet.Verktyg att vi kommer att använda vårt formulär:3 stycken knappen 2 nummer ComboBox3 piece etikettseriell portSteg 1: Formul...

KONTROLLERANDE DC med VISUAL BASIC

i detta instructables där jag kommer att försöka ge mer nyhet des ofta.Idag är temat med Arduino och Visual Basic. Det projekt som vi ser idag är controller en dc-motor med Arduino och Visual Basic. För att styra en dc motor är inte tillräckligt spän...

Hur man kontrollerar GizDuino med Visual Basic

Detta vägleder dig till uppsättningen upp, elkablar den yttre kretsen och kodning GizDuino och VBA i att kontrollera 4 lysdioder.Instructables delas in i 3:1. skiss för GizDuino2. VBA-kod och design3. ledningar för den yttre kretsen.* GizDuino är en...

Arduinoen Robot Control konsol Program med visual basic

Vi kommer att göra vår robot console för att hantera detta projekt med Visual Basic.Vi kommer att hantera vår robot via Bluetooth.Verktyg som krävs för att vårt formulär:13 sifferknapp2 nummer combobox1 bit texbox1 bit GroupBox1 bit SerialPorthttp://...

Automatisk tvättrum Light Controller krets

detta är en annan mycket användbar krets i vår verkliga livet heter Automatisk tvättrum Light Controller krets. Det hjälper oss i automatiskt slå på/av tvättrum lampor enligt situationen dvs om en person går in tvättrummet, lamporna kommer att slå oc...

Ett roligt spel/Trick i Microsoft Visual Basic

Hej alla! I detta Instructable, jag kommer att visa dig hur att förvåna dina vänner med ett spel baserat på webbplatsen Peter svar, ett trick där användaren berättar en vän att ställa en fråga till den stora "Peter", först framställningar Peter...

Skapa ett Program i Visual Basic: webbläsare

detta Instructable förklarar processen att skapa en enkel webbapplikation webbläsare i VB.NETDen är utformad som en uppföljning till mitt första VB.NET Instructable: skapa din första Program i Visual Basic. Det rekommenderas att du läst igenom det in...

Anpassade XP - Visual Basic Scripting anpassa!

Är ett enkelt sätt att ändra utseende av XP är att använda några $1000 dollar GUI * program, rätt? FEL! Du kan spendera pengar på program, men varför betala om du kan göra det gratis? I denna guide kommer att jag visa dig hur man gör det så lätt att...