Met de Switch()-instructie als Sequencing Control (5 / 6 stap)

Stap 5: Puttees op alle tezamen


Want we nu alle de inputs en outputs in actie gezien hebben, laten we het allemaal samen!

We zullen het simuleren van een deel vooruitbrengt op een lopende band, met verschillende acties wordt toegepast. Wij zullen gebruiken eindschakelaars en de feedback van de potentiometer van de actuator. Dit is de volgorde die we zullen volgen:

-Wachten op drukknop ingang begint de cyclus

-Uitbreiding van de eerste bedieningssleutel op volle snelheid gedurende 5 seconden om het gedeelte verplaatsen naar de plaats

-Zet de LED te simuleren een wassen-cyclus wordt gestart

-Wacht 5 seconden voor het wassen, dan LED uitschakelen

-Trekken de eerste bedieningssleutel op halve snelheid gedurende 10 seconden om te drogen de deel

-Uitbreiding van de tweede bedieningssleutel op volle snelheid op positie 1

-Zet de andere LED, wacht 2 seconden, uitschakelen van de LED

-Uitbreiding van de tweede bedieningssleutel op volle snelheid naar positie 2

-Zet de andere LED, wacht 2 seconden, uitschakelen van de LED

-Uitbreiding van de tweede bedieningssleutel op volle snelheid naar positie 3

-Zet de andere LED, wacht 2 seconden, uitschakelen van de LED

-De tweede bedieningssleutel op volle snelheid gedurende 5 seconden om het voltooien van de cyclus worden ingetrokken.

-Wachten op drukknop ingang opnieuw op te starten van de cyclus

Het systeem volgens het diagram draad, en het uploaden van de code om te zien hoe het werkt!

Aangezien dit slechts test programma's, kunt u het bord aangesloten op de computer, zodat de Arduino macht kan ontvangen.

 /* This code is to show how outputs are used in a switch statement. The code moves an actuator in and out at varying speeds, according to the sequence. Written by Progressive Automations Sept 21, 2015 This code is in the public domain */ const int enable1 = 8; const int PWMA1 = 11; const int PWMB1 = 3;//pins for the first MegaMoto(Actuator) const int enable2 = 12; const int PWMA2 = 9; const int PWMB2 = 10;//pins for the second MegaMoto(Actuator) const int potFeedback = A0;//pin for the second actuators potentiometer const int LED1 = 7; const int LED2 = 13;//two pins for LEDs const int button = 6;//restart button int programCount = 0;//variable to move through the program int buttonState = 1;//vairable to store the state of the button,initialise as HIGH int pos1 = 100; int pos2 = 500; int pos3 = 1000;//three positions to move to void setup() { Serial.begin(9600);// initialize serial communication: programCount = 0;//start at the beginning pinMode(enable1, OUTPUT); pinMode(PWMA1, OUTPUT); pinMode(PWMB1, OUTPUT);//set first MegaMoto as outputs pinMode(enable2, OUTPUT); pinMode(PWMA2, OUTPUT); pinMode(PWMB2, OUTPUT);//set second MegaMoto outputs pinMode(LED1, OUTPUT); pinMode(LED2, OUTPUT);//set LED's as outputs pinMode(button, INPUT);//set button as input digitalWrite(button, HIGH);//enable internal pullup pinMode(potFeedback, INPUT);//set potentiometer as input }//end setup void loop() { switch (programCount) { case 0: digitalWrite(enable1,LOW); digitalWrite(enable2,LOW);//disable both control boards so the actuators cant move Serial.println("Waiting to start sequence"); while (digitalRead(button) == 1){}//wait here until button is pressed programCount = 1;//once button is pressed, advance break; case 1: digitalWrite(enable1, HIGH);//enable the first actuators control board Serial.println("First Actuator moving forwards at full speed"); analogWrite(PWMA1, 255); analogWrite(PWMB1, 0);//set the speed of the actuator delay(5000);//Move for 5 seconds analogWrite(PWMA1, 0); analogWrite(PWMB1, 0);//stop the actuator programCount = 2; break; case 2: Serial.println("Washing the part"); digitalWrite(LED1, HIGH);//turn on LED programCount = 3; break; case 3: delay(5000); Serial.println("Washing complete"); digitalWrite(LED2, LOW);//turn off LED programCount = 4; break; case 4: Serial.println("First Actuator moving backwards at half speed"); analogWrite(PWMA1, 0); analogWrite(PWMB1, 128);//set the speed of the actuator delay(10000);//Move for 10 seconds analogWrite(PWMA1, 0); analogWrite(PWMB1, 0);//stop the actuator programCount = 5; break; case 5: Serial.println("Second Actuator moving at full speed to Position 1"); digitalWrite(enable2,HIGH);//enable the second actuators control board while (analogRead(potFeedback) <= pos1) { analogWrite(PWMA2, 255); analogWrite(PWMB2, 0);//set the speed of the actuator } analogWrite(PWMA2, 0); analogWrite(PWMB2, 0);//stop the actuator programCount = 6; break; case 6: Serial.println("First decal being applied"); digitalWrite(LED2, HIGH); delay(2000); digitalWrite(LED2, LOW); programCount = 7; break; case 7: Serial.println("Second Actuator moving at full speed to Position 2"); while (analogRead(potFeedback) <= pos2) { analogWrite(PWMA2, 255); analogWrite(PWMB2, 0);//set the speed of the actuator } analogWrite(PWMA2, 0); analogWrite(PWMB2, 0);//stop the actuator programCount = 8; break; case 8: Serial.println("Second decal being applied"); digitalWrite(LED2, HIGH); delay(2000); digitalWrite(LED2, LOW); programCount = 9; break; case 9: Serial.println("Second Actuator moving at full speed to Position 3"); while (analogRead(potFeedback) <= pos3) { analogWrite(PWMA2, 255); analogWrite(PWMB2, 0);//set the speed of the actuator } analogWrite(PWMA2, 0); analogWrite(PWMB2, 0);//stop the actuator programCount = 10; break; case 10: Serial.println("Third decal being applied"); digitalWrite(LED2, HIGH); delay(2000); digitalWrite(LED2, LOW); programCount = 11; break; case 11: Serial.println("Second Actuator moving backwards at full speed"); analogWrite(PWMA2, 0); analogWrite(PWMB2, 255);//set the speed of the actuator delay(5000);//Move for 5 seconds analogWrite(PWMA2, 0); analogWrite(PWMB2, 0);//stop the actuator Serial.println("Sequence Complete"); Serial.println(""); Serial.println("");//print some blank spaces to make serial monitor more read-able programCount = 0;//loop back to the beginning break; default: Serial.print("Error"); while (1); //freeze the program here }//end switch }//end loop 

Gerelateerde Artikelen

Bitcoin prijs Ticker (bijna) van kras met behulp van Arduino als ISP

Bitcoin prijs Ticker (bijna) van kras met behulp van Arduino als ISP

Hallo iedereen!Heb ik besloten om deze tutorial over hoe te maken van een Bitcoin prijs Ticker. Nou, zal dit is slechts een prototype en ik een kleinere editie met een aangenamer ontwerp en een aantal andere functies op een later tijdstip. Echter dit
12V Relay met Timer Switch

12V Relay met Timer Switch

In dit Instructable, zullen we leren hoe een timer-schakelaar en een relais 12V gebruiken om te bepalen van de uitbreiding van een Actuator. U zal zitten kundig voor instellen van de timer met tot 17 tijdschema, en hebben de bedieningssleutel uit te
Met behulp van 433 MHz Remote Controlled schakelaars op Arduino

Met behulp van 433 MHz Remote Controlled schakelaars op Arduino

Ik denk dat iedereen weet die extern gecontroleerde schakelaars die in hun meest eenvoudige vorm komen in een aantal (meestal 3) voor switcheable apparaten aansluiten op het lichtnet stopcontact en die ontvangt een stekker van een lamp of iets en dat
Twee speler Simon geheugenspel met externe Switches

Twee speler Simon geheugenspel met externe Switches

Elektronica geheugen spellen zoals Simon kunnen een heleboel plezier. Maar het is nog leuker als je het toevoegen van een tweede speler en het een competitie maken. Dus ontwierp ik een twee speler versie van het spel dat op de Arduino draait. Dit kun
Het opladen van vak met afzonderlijke switches - geen bedrading nodig!

Het opladen van vak met afzonderlijke switches - geen bedrading nodig!

Geïnspireerd door andere projecten hier heb ik besloten om mijn eigen opladen station en ik wilde te maken met afzonderlijke switches te voorkomen houden alle laders die actief is wanneer ik alleen gebruiken moet, waardoor het opslaan van energie! Di
Bouwen van een Smart Home met een Wifi Wireless Switch door Apple App controle

Bouwen van een Smart Home met een Wifi Wireless Switch door Apple App controle

Slimme huis is nu een mode, dus ik volg deze trend en om mijn huis een echte slimme huis geworden. Ik heb gezocht naar over het slimme huis gadgets voor enige tijd, vinden dat er veel van de schakelaar voor draadloos netwerkverkeer, wifi switch, app
Met behulp van PSP als computer Joystick en vervolgens de controle van uw computer met de PSP

Met behulp van PSP als computer Joystick en vervolgens de controle van uw computer met de PSP

kan je veel coole dingen met PSP homebrew, en in dit instructable ik cam gonna leer je hoe je PSP te gebruiken als een joystick voor het spelen van games, maar er is ook een programma waarmee u uw joystick als uw muis gebruiken.Hier zijn de materiale
Met behulp van RC auto onderdelen als remote control

Met behulp van RC auto onderdelen als remote control

ik afkomstig van een heleboel micro RC auto's op ebay voor DIY projecten te gebruiken.De auto's zijn van Enertec. De oproep van het product "MICRO FLASH CHARGER, Formule 1". De doos van het product bevat batterijen voor de zender en het opladen
Stilte van een stuk speelgoed met een Switch

Stilte van een stuk speelgoed met een Switch

wat speelgoed moeten worden gezien maar niet gehoord! Mijn 2,5-jarige neef is groot op brandweerlieden nu, dus ik vond deze grote helm voor hem die heeft een koele knipperend licht aan de voorzijde. Echter heeft ook een sirene, en zowel het licht en
Met behulp van Diodes voor ventilator controle.

Met behulp van Diodes voor ventilator controle.

Dit in alternatief voor het gebruik van reostaten en chips voor het beheersen van de snelheid van de ventilator.Het idee voor deze kwam uit http://www.cpemma.co.uk/sdiodes.html nu http://www.pcsilencioso.com/cpemma/sdiodes.html en ik wilde uitleggen
Swedish Chef met een Twist Instructables | Instrueren-a-Muppet

Swedish Chef met een Twist Instructables | Instrueren-a-Muppet

Mijn groep vrienden besloten te gaan als de Muppets voor Halloween dit jaar en de kostuums waren echt leuk om samen te stellen. Ik kreeg de rol van de Swedish Chef, die ongelooflijk geluk was als ik had al een chef-kok hoed, strikje en mijn super awe
MAME arcade kast opstarten (instructies als je wilt aanvragen:))

MAME arcade kast opstarten (instructies als je wilt aanvragen:))

He jongens! Dit is slechts een korte video van het opstarten van mijn Mame arcade machine. Helaas maken ik niet een volledige instructable... (er was veel trial and error) maar als je afvraagt hoe ik het deed iets ik meer dan bereid ben om een stap v
Houten Ring vak met kussen, dat verdubbelt als een speldenkussen :)

Houten Ring vak met kussen, dat verdubbelt als een speldenkussen :)

Ring kussens zijn bekend en gebruikt voor bruiloften, ring dozen zijn een beetje meer nieuwe. Dit instructable combineert beide en biedt ook een leuke manier om te houden van uw pinnen naaien daarna voor de volgende fun project.Wat u zult moeten:VakS
Peanut Butter Jelly Martini - met korsten afgesneden net als u bevalt! (=

Peanut Butter Jelly Martini - met korsten afgesneden net als u bevalt! (=

A Las Vegas stijl vloeibare Timewarp zeker nemen u terug 20 of meer jaar!!Er zijn variaties van gelei smaak, ik pakte aardbei zoals het is mijn favoriet.Ingrediënten:1 kopje Chambord (of zijn minder dure tegenhanger Dappe)1 kopje Frangelico2 kopjes m