Indholdsfortegnelse:
- Trin 1: Brug af Processing.serial
- Trin 2: Forstå serieklassen
- Trin 3: Arduino seriel klasse
- Trin 4: Byg en GUI 7 Segment Controller
Video: Tilslutning af behandling og Arduino og lav 7 segmenter og Servo GUI -controllere: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:27
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:
- myPort.available () - returnerer antallet af tilgængelige bytes.
- myPort.clear () - tømmer bufferen og fjerner alle de data, der er gemt der.
- myPort.read () - Returnerer et tal mellem 0 og 255 for den næste byte, der venter i bufferen.
- myPort.readString () - Returnerer alle data fra bufferen som en streng eller null, hvis der ikke er noget tilgængeligt.
- myPort.write ("test") - Skriver bytes, tegninger, ints, bytes , strenge til den serielle port.
- 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
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:
Mekanisk ur med syv segmenter: 7 trin (med billeder)
Mekanisk ur med syv segmenter: For et par måneder siden byggede jeg et tocifret mekanisk 7 -segment display, som jeg forvandlede til en nedtællingstimer. Det kom ganske godt ud, og et antal mennesker foreslog at fordoble sig på displayet for at lave et ur. Problemet var, at jeg allerede var kørt
Brug af en display med 4 cifre og 7 segmenter, med Arduino: 7 trin
Brug af en 4 -cifret og 7 -segmenters skærm, med Arduino: I denne vejledning viser jeg dig, hvordan du bruger et 7 -segmenters display med 4 cifre ved hjælp af arduino. Nogle grundlæggende ting, jeg gerne vil påpege, er, at dette optager næsten alle de digitale stifter på arduino uno, leonardo, brædderne med 13 digi
Specialdesignet syv segmenter ved hjælp af LED: 5 trin
Specialdesignet syv segmenter ved hjælp af LED: LED er en meget grundlæggende komponent i designet, og nogle gange har led gjort meget mere arbejde end bare indikation. I denne artikel vil vi se, hvordan man bygger specialdesignede syv segmentskærme ved hjælp af LED. Der er mange forskellige syv segment på markedet, men jeg
Adresserbare displays med 7 segmenter: 10 trin (med billeder)
Adresserbare 7-segmentskærme: En gang imellem klikker en idé i min hjerne, og jeg tænker, " hvordan er dette ikke blevet gjort før? &Quot; og størstedelen af tiden har det faktisk været det. I tilfælde af " Adresserbar 7-segmentskærm " - Jeg tror virkelig ikke, det er gjort
Stopur Brug Pic18f4520 i Proteus med 7 segmenter: 6 trin
Stopur Brug af Pic18f4520 i Proteus Med 7 segment: Jeg begyndte lige at arbejde med pic controller, en af min ven bad mig om at bygge et stopur fra det. Så jeg har ikke hardware -image at dele, jeg har skrevet kode og simuleret det på Proteus -software. Her har jeg delt skematikken for det samme. T