Indholdsfortegnelse:

Tilslutning af behandling og Arduino og lav 7 segmenter og Servo GUI -controllere: 4 trin
Tilslutning af behandling og Arduino og lav 7 segmenter og Servo GUI -controllere: 4 trin

Video: Tilslutning af behandling og Arduino og lav 7 segmenter og Servo GUI -controllere: 4 trin

Video: Tilslutning af behandling og Arduino og lav 7 segmenter og Servo GUI -controllere: 4 trin
Video: How to use TM1637 4 digits seven segment display with Arduino 2024, December
Anonim
Tilslutning af behandling og Arduino og lav 7 segmenter og Servo GUI -controllere
Tilslutning af behandling og Arduino og lav 7 segmenter og Servo GUI -controllere

For nogle projekter har du brug for at bruge Arduino, da det giver en let prototypeplatform, men visning af grafik i seriel monitor af Arduino kan tage ret lang tid og er endda svært at gøre. Du kan vise grafer på Arduino Serial Monitor, men grafer er ikke det eneste, du muligvis skal vise. Alle interaktive objekter som skyder, knapper, programmer med 2D, 3D, PDF eller SVG output, og du kan også nemt lave animationer. Standard programmeringstilstand til behandling er Java, men du kan skifte den til Android, p5.js, REPL, CoffeeScript og JavaScript. I denne Instructable vil vi dog bruge Java -programmeringstilstanden.

Alt indhold og kode er også tilgængelig på min github her.

Trin 1: Brug af Processing.serial

Behandlingskode

De to første linjer med kode vil være

import behandling. serie.*; Seriel myPort;

Her i den første linje importerer vi biblioteket - behandling og i den anden linje opretter vi et objekt i klassen Serial ved navn myPort, du kan navngive det, hvad du vil efter reglerne for navngivning af en identifikator.

Under behandling har vi void setup () og void draw (), hvor void er funktionens returtype, du kan også ændre den til int setup () og int draw () eller anden datatype, du kan lide, men du skal returnere en værdi, der har samme datatype som den datatype, du brugte før funktionerne.

i setup () skriver vi de udsagn, vi skal udføre én gang, mens vi i draw () skriver de udsagn, vi skal udføre flere gange. De to kodelinjer, der er nævnt ovenfor, skal skrives over tomrumsopsætning (), fordi de skal have global adgang.

I void setup () vil vi initialisere objektet myPort.

ugyldig opsætning () {

størrelse (800, 800);

myPort = ny Serial (denne, "COM18", 9600);

}

Linjestørrelsen (800, 800); definerer størrelsen på skærmen, der er 800 pixels ved 800 pixels.

Nøgleordet nyt i den anden linje bruges til at reservere plads til objektet i hukommelsen, argumentet dette er en referencevariabel, der refererer til det aktuelle objekt. Argumentet COM18 er porten til Arduino forbundet, vi har brug for dette, da vi vil transportere dataene via serielt interface. Tallet 18 kan være anderledes i dit tilfælde, du kan finde det under Værktøjer> Port i Arduino IDE, og 9600 er baudhastigheden, du kan ændre dette i både Arduino og Processing.

Trin 2: Forstå serieklassen

Konstruktøren til Serial

Seriel (forælder, portnavn, baudRate, paritet, dataBits, stopBits)

Argumenter:

forælder: brug typisk "dette"

baudRate (int): 9600 er standard

portName (String): portens navn (COM1 er standard)

paritet (forkælelse): 'N' for ingen, 'E' for lige, 'O' for ulige, 'M' for mærke, 'S' for mellemrum ('N' er standard)

dataBits (int): 8 er standard

stopBits (float): 1.0, 1.5 eller 2.0 (1.0 er standard)

Vigtige metoder:

  1. myPort.available () - returnerer antallet af tilgængelige bytes.
  2. myPort.clear () - tømmer bufferen og fjerner alle de data, der er gemt der.
  3. myPort.read () - Returnerer et tal mellem 0 og 255 for den næste byte, der venter i bufferen.
  4. myPort.readString () - Returnerer alle data fra bufferen som en streng eller null, hvis der ikke er noget tilgængeligt.
  5. myPort.write ("test") - Skriver bytes, tegninger, ints, bytes , strenge til den serielle port.
  6. myPort.stop () - Stopper datakommunikation på porten.

Trin 3: Arduino seriel klasse

Du behøver ikke at importere Serial Class i Arduino, før du bruger den.

I Arduino er der 2 funktioner kaldet setup () og loop () setup kører kun én gang, men loop løber flere gange. I setup () skal vi skrive ved hjælp af metoden () for at starte den serielle kommunikation. I Arduino i modsætning til behandling behøver vi ikke at nævne porten som argumenterne for begin () -metoden, da vi allerede angiver porten, mens vi uploader skitsen i Arduino.

Så opsætningen () ser sådan ud:

ugyldig opsætning () {

Serial.begin (9600); // start den serielle kommunikation

}

9600 her angiver baudhastigheden, vi også havde nævnt dette i behandlingsfilen. For korrekt kommunikation skal begge overførselshastigheder være ens, eller du kan se det serielle output som noget gibberish.

Lad os nu se loop () -delen. Denne del af koden kører flere gange. Hvis vi vil læse nogle data ved porten, vil vi bruge metoden Serial.read (). Denne funktion returnerer null, hvis der ikke er tilgængelige data, så vi vil kun kalde denne metode, når vi har nogle data tilgængelige i Serial stream.

For at kontrollere, om der er tilgængelige data, bruger vi metoden Serial.available (). Hvis den returnerer værdi større end 0 - er nogle data tilgængelige.

Så loop () delen vil se sådan ud:

void loop () {

hvis (Serial.available ()> 0) {// hvis der er data tilgængelige i den serielle port

char -tilstand = Serial.read (); // læs værdien

// hvis udsagn eller skiftesag

}

}

Nu kan vi bruge if ladder eller hvis der er mange mulige resultater, vi kan også bruge switch case til variabel tilstand.

Trin 4: Byg en GUI 7 Segment Controller

Byg en GUI 7 Segment Controller
Byg en GUI 7 Segment Controller
Byg en GUI 7 Segment Controller
Byg en GUI 7 Segment Controller
Byg en GUI 7 Segment Controller
Byg en GUI 7 Segment Controller

Filerne er vedhæftet her. Bemærk: Til behandling skal du også installere kontrol -p5 -biblioteket, som jeg har brugt til at oprette interaktive GUI -knapper.

Pin numre

7 segment (i alfabetisk rækkefølge) refererer billedet

a - digital pin 2

b - digital pin 3

c - digital pin 4

d - digital pin 5

e - digital pin 6

f - digital pin 7

g - digital pin 8

dp - digital pin 9

Alt indhold og kode er også tilgængelig på min github her

Anbefalede: