Lien de microcontrôleur dans le monde entier pour moins de $20 (8 / 15 étapes)

Étape 8: Ajouter du code

Voir l’étape 12 de l’autre instructable pour connaître l’emplacement du bouton qui bascule entre le mode formulaire et mode code. Basculez en mode code et collez le code suivant dans. Les couleurs devraient tous réapparaître comme dans la capture d’écran. Si une ligne n’a pas copié correctement en raison d’un problème de wordwrap puis supprimer espaces jusqu'à ce que le message d’erreur disparaît. J’ai essayé de commenter la plupart des lignes ainsi que le code fait au moins un certain sens. Supprimer le bit de la classe public donc le texte est vide avant de coller ceci - ce code a déjà une classe publique. Si un objet comme une zone de texte n’a pas été placé sur le formulaire ou porte le nom de mal alors ça va revenir dans le code de texte par une ligne bleue ondulée sous lui.

Imports System.IO
Importations de cordes = Microsoft.VisualBasic ' pour permettre d’utiliser les choses comme gauche (et à droite (pour les chaînes
Public Class Form1
Public Declare Sub sommeil Lib « kernel32 » (ByVal dwMilliseconds As Integer) ' pour les déclarations de sommeil
Dim WithEvents serialPort comme nouveau IO. Ports.SerialPort ' port série déclarer
Dim PicaxeRegisters(0 To 13) As Byte ' enregistre b0 à b13
Dim ModifyFlag As Boolean
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load ' besoin tout ce truc de détritus - .net met dans automatiquement quand aller form1events ci-dessus / charge
Timer1.Enabled = True ' mettre cela dans le code par défaut false lors de la création
Timer1.Interval = 20000' toutes les 20 secondes
PictureBox1.BackColor = Color.Gray ' commencer avec le gris de boîtes de comms
PictureBox2.BackColor = Color.Gray
ModifyFlag = False ' si modifier une valeur manuellement puis sauter Télécharger
RichTextBox1.Multiline = True ' alors peut afficher plusieurs lignes
Appeler DisplayPicaxeRegisters() ' afficher les 14 registres
Appeler ReadFTPFilename() ' lire le nom de fichier sur le disque (réenregistré toutes les 20 secondes)
End Sub
Void SerialTxRx()
Dim DataPacket(0 To 17) As Byte ' paquet entier de données "Data" + 14 octets
Dim i As Integer ' i est toujours utile pour les boucles etc.
For i = 0 à 3
DataPacket(i) = Asc (Mid ("Data", i + 1, 1)) ' ajouter le terme « Données » au contenu du paquet
Prochaine
For i = 0 à 13
DataPacket(i + 4) = PicaxeRegisters(i) ' ajoute tous les octets du paquet
Prochaine
Si serialPort.IsOpen alors
serialPort.Close() "juste au cas où déjà ouvert
End If
Essayez
Avec serialPort
. PortName = « COM1 » ' la plupart nouveaux ordinateurs par défaut à com1, mais n’importe quel ordinateur avant 1999 avec une souris série probablement par défaut à com2
. BaudRate = 2400 2400 ' est la vitesse de maxiumum pour petits picaxes
. Parité = IO. Ports.Parity.None ' aucune parité
. DataBits = 8 ' 8 bits
. StopBits = IO. Ports.StopBits.One ' un bit d’arrêt
. ReadTimeout = 1000' millisecondes alors arrive à expiration en 1 seconde si aucune réponse
. Open() ' ouvrir le port série
. DiscardInBuffer() ' effacer la mémoire tampon d’entrée
. Écrire (DataPacket, 0, 18) ' envoyer le tableau datapacket
Appeler Sleep(300) ' minimal à attendre pour les données de revenir et de plus si le flux de données est plus longue de 100 millisecondes
. Lire (DataPacket, 0, 18) ' lire dans le tableau de paquets de données
. Close() ' fermer le port série
Se termine par
Pour i = 4 à 17
PicaxeRegisters (i - 4) = DataPacket(i) ' déplacer le nouveau paquet de données dans le tableau de Registre
Prochaine
PictureBox1.BackColor = Color.GreenYellow ' travailler
Catch ex As Exception
PictureBox1.BackColor = Color.Red ' ne fonctionne ne pas
End Try
End Sub
Sub FTPUpload (ByVal Filename As String)
Dim localFile As String ' endroit pour stocker des données
Dim fichierdistant As String ' nom de fichier respecte la casse c’est vraiment important
Const hôte As String = « ftp://ftp.0catch.com » ' noter la valeur 0 est un zéro pas un caractère O
Const username As String = « picaxe.0catch.com »
Const password As String = « picaxetester »
Dim URI As String
localFile = Filename "peut-être ne pas nécessaire mais si définir un emplacement, par exemple, c:\mydirectory peut ajouter facilement de cette façon
fichierdistant = « / » + nom de fichier "fichier sur serveur ftp doit « / » ajouté à l’avant
URI = hôte + fichierdistant
Essayez
Dim ftp comme System.Net.FtpWebRequest = CType(System.Net.FtpWebRequest.Create(URI), System.Net.FtpWebRequest)
ftp.Credentials = New System.Net.NetworkCredential(username, password) ' ouvrir une session
ftp.KeepAlive = False ' va être débrancher une fois fait
ftp.UseBinary = True ' utiliser le binaire comms
ftp.Timeout = 9000' timeout au bout de 9 secondes - très utiles comme ftp parfois dies
' timeout (et la fréquence d’horloge de 20 secondes) peuvent devoir être plus lent pour les connexions par modem
ftp.Method = System.Net.WebRequestMethods.Ftp.UploadFile ' commencer à envoyer des fichiers
Dim fs As New FileStream(localFile, FileMode.Open) ' ouvrir le fichier local
Dim filecontents(fs. Longueur) As Byte ' lues en mémoire
FS. Lire (filecontents, 0, fs. Longueur)
FS. Close() ' fermer le fichier
Dim requestStream As Stream = ftp.GetRequestStream() ' commencer lien ftp
requestStream.Write (filecontents, 0, filecontents. Longueur) « Envoyez-le
requestStream.Close() ' fermer la liaison
PictureBox2.BackColor = Color.GreenYellow ' changer la boîte au vert pour dire a fonctionné ok
Label2.Text = « FTP connecté » ' texte disant qu’il connecté
Catch ' ne peut pas se connecter
PictureBox2.BackColor = Color.Red ' boîte à rouge comme aucun lien
Label2.Text = « FTP Upload Fail » ' texte disant : la connexion a échoué
End Try
End Sub

Sub TéléchargementFTP (ByVal Filename As String)
« téléchargements fichierdistant à fichierlocal
Dim localFile As String ' endroit pour stocker des données
Dim fichierdistant As String ' nom de fichier respecte la casse c’est vraiment important
Const hôte As String = « ftp://ftp.0catch.com »
Const username As String = « picaxe.0catch.com »
Const password As String = « picaxetester »
Dim URI As String
"localFile = « C:\ » + nom de fichier" stocker dans le répertoire racine, mais peut changer cela
localFile = Filename "pour permettre d’ajouter c:\ si besoin définir l’emplacement réel
fichierdistant = « / » + nom de fichier ' ajouté à l’emplacement ftp distant
URI = hôte + fichierdistant "composent adresse complète
Essayez
Dim ftp comme System.Net.FtpWebRequest = CType(System.Net.FtpWebRequest.Create(URI), System.Net.FtpWebRequest)
ftp.Credentials = New System.Net.NetworkCredential(username, password) ' ouvrir une session
ftp.KeepAlive = False ' va se déconnecter après avoir terminé
ftp.UseBinary = True ' mode binaire
ftp.Timeout = 9000' timeout après 9 secondes
ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile ' télécharger un fichier
« lire en morceaux car ne sais pas comment le fichier est grande
À l’aide de réponse comme System.Net.FtpWebResponse = CType (ftp.GetResponse, System.Net.FtpWebResponse)
À l’aide de responseStream As IO. Stream = réponse. GetResponseStream
À l’aide de fs comme nouveau IO. FileStream (localFile, IO. FileMode.Create)
Dim buffer(2047) As Byte
Dim lire As Integer = 0
Faire
lire = responseStream.Read (buffer, 0, mettre en mémoire tampon. Longueur) « morceau de ftp
FS. Écrire (buffer, 0, lire) "et écrire dans le fichier
Boucle tant que lu = 0' jusqu'à ce que pas plus de morceaux
responseStream.Close() ' fermer les fichiers par ftp
FS. Flush() ' flush clair
FS. Close() ' et fermez le fichier
Mettre fin à l’aide
responseStream.Close() ' fermer même si rien n’était là
Mettre fin à l’aide
réponse. Close()
PictureBox2.BackColor = Color.GreenYellow ' catégorie verte, comme cela a fonctionné
Label2.Text = « FTP connecté » "et le texte disant qu’il a travaillé
Mettre fin à l’aide
Catch ' mettre ici les codes d’erreur
PictureBox2.BackColor = Color.Red ' rouge boîte tel qu’il n’a pas fonctionné
Label2.Text = « Échec de téléchargement FTP » "et le message de le dire
End Try
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Si ModifyFlag = False Then ' si l’utilisateur a changé un octet ne puis télécharger
Label3.Text = « Téléchargement »
System.Windows.Forms.Application.DoEvents() ' ce nouveau texte de l’étiquette affiche
Appeler FTPDownload(TextBox3.Text) ' Télécharger le fichier distant
Label3.Text = « Téléchargé »
System.Windows.Forms.Application.DoEvents()
Appeler ReadRemoteFileToRegisters() ' enregistrer les numéros de fichier dans le registre de tableau
Label3.Text = « Talking à picaxe »
System.Windows.Forms.Application.DoEvents()
D’autre
ModifyFlag = False ' réinitialiser l’indicateur
End If
Appeler SerialTxRx() ' Envoyer à le picaxe et il a collationné
Label3.Text = "envoyés et reçus de picaxe"
System.Windows.Forms.Application.DoEvents()
Appel DisplayPicaxeRegisters()
Appeler SaveRegistersToLocalFile() ' enregistrer les numéros de fichier
Label3.Text = « Envoi »
System.Windows.Forms.Application.DoEvents()
Appeler FTPUpload(TextBox3.Text) ' Envoyer à ftp site nommé comme mon nom
Label3.Text = « Au repos »
Appeler SaveFTPFilename() ' donc lectures quand redémarrer
End Sub
Void DisplayPicaxeRegisters()
Dim i As Integer
Dim registernumber As String
RichTextBox1.Multiline = True ' alors peut afficher plusieurs lignes dans la zone de texte
RichTextBox1.Clear() ' efface la zone de texte
For i = 0 à 13
registernumber = Trim(Str(i)) ' assiette hors espaces
Si j’ai < 10 puis
registernumber = « 0 » + registernumber ' ajouter 0 à un nombre inférieur à 10
End If
RichTextBox1.AppendText (registernumber + « = » + Str(PicaxeRegisters(i)) + Chr(13))
Prochain ' Chr (13) est tellement nouvelle ligne de transport retour
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim i As Integer
' vérifier hors de portée d’abord
J’ai = Val(TextBox1.Text)
Si j’ai < 0 ou j’ai 13 > puis
TextBox1.Text = 0
End If
J’ai = Val(TextBox2.Text)
Si j’ai < 0 ou j’ai > 255 puis
TextBox2.Text = 0
End If
PicaxeRegisters(Val(TextBox1.Text)) = Val(TextBox2.Text) ' modifier la valeur
Appeler DisplayPicaxeRegisters() ' et actualisera l’affichage de la
ModifyFlag = True ' et le lien ftp suivant sauter téléchargement
End Sub
Sub SaveRegistersToLocalFile() ' enregistrer tableau de Registre dans un fichier texte local
Dim i As Integer
FileOpen (1, TextBox3.Text, OpenMode.Output) ' ouvrir le fichier texte nommé dans la zone de texte
For i = 0 à 13
PrintLine (1, Str(PicaxeRegisters(i))) ' enregistrer des valeurs de 14
Prochaine
FileClose(1) ' fermer le fichier
End Sub
Sub ReadRemoteFileToRegisters() ' Lire fichier texte local dans le tableau de Registre
Dim i As Integer
Dim LineOfText As String
Essayez
FileOpen (1, TextBox3.Text, OpenMode.Input) ' lire le nom de fichier distant
For i = 0 à 13
LineOfText = LineInput(1) ' lire dans les 14 lignes
PicaxeRegisters(i) = Val(LineOfText) "convertir le texte en valeurs
Prochaine
FileClose(1)
Catch ex As Exception
FileClose(1) ' il n’existe pas alors ne rien
End Try
End Sub
Sub ReadFTPFilename() ' le nom du fichier ftp distant est donc le même prochaine fois que ce programme est exécuté
Dim LineOfText As String
Essayez
FileOpen (1, "FTPFilename.txt", OpenMode.Input) ' ouvrir le fichier
LineOfText = LineInput(1)
TextBox3.Text = LineOfText ' lire le nom
FileClose(1)
Catch ex As Exception
FileClose(1)
End Try
End Sub
Void SaveFTPFilename()
FileOpen (1, "FTPFilename.txt", OpenMode.Output) ' enregistrer le nom de fichier ftp distant
PrintLine TextBox3.Text (1)
FileClose(1)
End Sub
End Class

Articles Liés

Bûche de Noël dans le monde entier : La main Mobile App

Bûche de Noël dans le monde entier : La main Mobile App

Instructions pour faire votre bûche de Noël dans le monde entier : Mobile App à l'aide de la carte de vœux de Drillteam.(Pas sur notre liste ? Écrivez-nous à wwyl et nous vous ferons parvenir un.)La bûche Wide World a commencé détachant son éclat LED
Entreprise de déménagement dans le monde entier - se prémunir des informations précises est essentiel

Entreprise de déménagement dans le monde entier - se prémunir des informations précises est essentiel

Beaucoup de complexités sont impliqués dans le transport maritime dans le monde entier. Toutefois, vous pouvez simplifier le processus d'abord en prémunir vous-même avec les bonnes informations sur le pays où vous avez besoin d'expédier vos marchandi
Comment construire une installation d’un coupeur de débit de l’essence dans votre VW BUS pour moins de 3$

Comment construire une installation d’un coupeur de débit de l’essence dans votre VW BUS pour moins de 3$

comment construire une installation d'un coupeur de débit de l'essence dans votre VW BUS pour moins de 3$INTRO. Réservoir à essence en Bus VW ou autres modèles VW Beetle (Kombi etc.) sont élever en position pour faciliter le flux d'essence secondé pa
Le Guide Internet dans le monde entier au cours de l’opération

Le Guide Internet dans le monde entier au cours de l’opération

L'apparition de l'industrie de l'Internet est dans la conception de web ecommerce une course contre l'opération. Inondations de conception non seulement au niveau de la planification d'une attaque aux Etats-Unis seulement au magasin dans la direction
Orb Baby « La prochaine chose révolutionnaire à venir aux bébés dans le monde entier! »

Orb Baby « La prochaine chose révolutionnaire à venir aux bébés dans le monde entier! »

Vous avez des parents ou enfant de votre choix qui semble juste pour obtenir leur boisson sur leur visage bien ici est la solution, l'Orbe de bébé. Avec, il est facile de gérer la conception enfants seront capables de boire plus efficacement.Etape 1:
Anneau de FiveA - inscription au concours Anti-Yo Yoyo vidéo dans le monde entier

Anneau de FiveA - inscription au concours Anti-Yo Yoyo vidéo dans le monde entier

Il s'agit d'une astuce assez facile pour tous les niveaux d'yo-yoers !Je l'appelle l'anneau de 5 a !Fondamentalement, vous ferez un cerceau avec votre yo-yo de contrepoids que vous pouvez tourner en rond, passer de main en main et enfin il briser et
Anti-Yo dans le monde entier concours 2 - Pasturisation et Triforce

Anti-Yo dans le monde entier concours 2 - Pasturisation et Triforce

aucune description pour le Pasturisation, juste regarder et profitez-en:)Description du truc pour Triforce:Remarque : avoir aide de tension de chaîne neutre pour cette astuceNote 2: vous devez savoir comment string rejets1. jeter une monture de houdi
Anti-Yo Yoyo vidéo dans le monde entier concours entrée par Andrew Robinson

Anti-Yo Yoyo vidéo dans le monde entier concours entrée par Andrew Robinson

Astuces utiles à connaître...-Buddah blanc-Vengeance de BuddahConcepts utiles à connaître...-« Câlins »-« Baguettes »-« Tunnels »Étape 1: explicationÉtape par étape1 - Commencez par lancer une échappée dans une monture de 1,5, mais continuez le mouve
Anti-Yo Yoyo vidéo dans le monde entier concours - BATMAN MEANS BUSINESS

Anti-Yo Yoyo vidéo dans le monde entier concours - BATMAN MEANS BUSINESS

1. jeter un dormeur.2. maintenant, avec votre main gauche Poussez votre index dans la chaîne environ 2 pouces au-dessus du yo-yo. L'yo-yo puis mettre au dessus de votre index et atterrir sur la chaîne.2. avec votre index sur votre main droite de pous
Anti-Yo Yo-yo vidéo dans le monde entier concours : Suicide par Jacob Deffenbaugh

Anti-Yo Yo-yo vidéo dans le monde entier concours : Suicide par Jacob Deffenbaugh

Un suicide est un geste que je considère comme la frontière entre joueurs débutants et intermédiaires. Il est très versatile, enrichissant, et surtout, amusant déplacer qui vous aidera peut-être profiter d'Yo-Yo encore plus.Il y a beaucoup de raisons
Religion dans le monde entier

Religion dans le monde entier

il s'agit d'un modèle qui montre des enfants qu'il y a des religions différentes, vous pouvez faire vous-même ou avec des enfants car il êtes facile à faire et la volonté ne coûte rienÉtape 1: ce que vous devez vous avez besoin ;boule peinte pour res
Le meilleur Chocolate Chip Cookie jamais dans le monde entier

Le meilleur Chocolate Chip Cookie jamais dans le monde entier

il s'agit d'un cookie, très facile et très indulgent.Il est simple et de bon goût.Je reçois des compliments gauche et droite quand je fais ces.En outre, c'est la recette de biscuit au chocolat seulement que j'utilise.J'ai ne se retrouve pas parce que
Le monde part du microcontrôleur

Le monde part du microcontrôleur

Future électronique a une large gamme de microcontrôleurs. Il est conçu pour être utilisé pour les applications embarquées. Microcontrôleurs (parfois abrégé μc, uc ou MCU ) se consacrent un ordinateurs petit et low-cost en électronique qui est constr
3D imprimés microcontrôleur Dice Roller

3D imprimés microcontrôleur Dice Roller

Il s'agit d'un projet juste pour le plaisir que j'ai fait dans la Digilent MakerSpace. Généralement, chaque fois que je joue des jeux de société j'utilise une application smartphone laminage dés puisque les dés sont si faciles à perdre. J'ai pensé qu