Med uttrycket Switch() som sekvensering kontroll (5 / 6 steg)

Steg 5: Lägga det alla tillsammans



Eftersom vi har nu sett alla ingångar och utgångar i aktion, låt oss sätta ihop allt!

Vi kommer att simulera en del rör sig längs en monteringslinje, med olika åtgärder tillämpas. Vi kommer använda gränslägesbrytarna och potentiometer feedback från manöverdonet. Detta är den sekvens som vi kommer att följa:

-Vänta på knappen input för att börja cykla

-Utöka första manöverdonet med full fart i 5 sekunder för att flytta del till rätt plats

-Slå på lampan att simulera en tvätt cykel startas

-Vänta 5 sekunder för tvätt, sedan stänga av LED

-Dra tillbaka första manöverdonet på halvfart i 10 sekunder för att torka delen

-Utöka andra manöverdonet i full fart till läge 1

-Slå på andra LED, vänta 2 sekunder, stänger av LED

-Utöka andra manöverdonet i full fart till position 2

-Slå på andra LED, vänta 2 sekunder, stänger av LED

-Utöka andra manöverdonet med full fart i läge 3

-Slå på andra LED, vänta 2 sekunder, stänger av LED

-Dra tillbaka andra manöverdonet med full fart i 5 sekunder att slutföra cykeln.

-Vänta på knappen input till starta om cykeln

Wire systemet enligt diagrammet, och ladda upp koden för att se hur det fungerar!

Eftersom dessa är bara test program, kan du lämna styrelsen plugg in i computern så Arduino kan få makt.

/ * Denna kod är att visa hur utgångar används i en switch-sats. Koden
flyttar ett ställdon in och ut vid olika hastigheter, enligt operationssekvensen.

Skrivet av progressiva automatiseringar
21 sept, 2015

Denna kod är offentlig
*/
CONST int enable1 = 8;
CONST int PWMA1 = 11;
CONST int PWMB1 = 3; //pins för den första MegaMoto(Actuator)

CONST int enable2 = 12;
CONST int PWMA2 = 9;
CONST int PWMB2 = 10; //pins för den andra MegaMoto(Actuator)

CONST int potFeedback = A0; //pin för andra manöverdon potentiometern

CONST int LED1 = 7.
CONST int LED2 = 13. //two stift för lysdioder

CONST int knappen = 6; //restart knapp

int programCount = 0; //variable att flytta genom programmet
int buttonState = 1; //vairable att lagra staten om knappen initiera så hög

int pos1 = 100;
int pos2 = 500.
int pos3 = 1000; //three positioner att flytta till

void setup() {
Serial.BEGIN(9600); / / initiera seriell kommunikation:
programCount = 0; //start i början

pinMode (enable1, produktionen);
pinMode (PWMA1, OUTPUT);
pinMode (PWMB1, OUTPUT); //set första MegaMoto som utgångar

pinMode (enable2, produktionen);
pinMode (PWMA2, OUTPUT);
pinMode (PWMB2, OUTPUT); //set andra MegaMoto utgångar

pinMode (LED1, OUTPUT);
pinMode (LED2, OUTPUT); //set lysdioder som resultat

pinMode (knapp, indata); //set knappen som indata
digitalWrite (knappen, hög), //enable inre pullup

pinMode (potFeedback, ingång); //set potentiometer som indata
} //end setup

void loop() {

växel (programCount) {

fall 0:

digitalWrite(enable1,LOW);
digitalWrite (enable2, låg); //disable båda kontrollera styrelser så manöverdonen inte kan flytta
Serial.println ("väntar på att starta sekvens");
medan (digitalRead(button) == 1) {} //wait här tills knappen trycks
programCount = 1; //once knappen trycks, advance
bryta;

fall 1:
digitalWrite (enable1, hög), //enable den första manöverdon kontrollstyrelsen
Serial.println ("första ställdonet rör sig framåt med full fart");
analogWrite (PWMA1, 255);
analogWrite (PWMB1, 0); //set hastigheten på manöverdonet
fördröjning (5000); //Move i 5 sekunder
analogWrite (PWMA1, 0);
analogWrite (PWMB1, 0); //stop manöverdonet
programCount = 2;
bryta;

fall 2:
Serial.println ("tvätta delen");
digitalWrite (LED1, hög), //turn på LED
programCount = 3;
bryta;

fall 3:
Delay(5000);
Serial.println ("tvätt kompletta");
digitalWrite (LED2, låg), //turn av LED
programCount = 4;
bryta;

fall 4:
Serial.println ("första ställdonet rör sig bakåt på halvfart");
analogWrite (PWMA1, 0);
analogWrite (PWMB1, 128); //set hastigheten på manöverdonet
fördröjning (10000); //Move i 10 sekunder
analogWrite (PWMA1, 0);
analogWrite (PWMB1, 0); //stop manöverdonet
programCount = 5;
bryta;

fall 5:
Serial.println ("andra manöverdon går i full fart till Position 1");
digitalWrite (enable2, hög), //enable andra manöverdon kontrollstyrelsen
medan (analogRead(potFeedback) < = pos1)
{
analogWrite (PWMA2, 255);
analogWrite (PWMB2, 0); //set hastigheten på manöverdonet
}
analogWrite (PWMA2, 0);
analogWrite (PWMB2, 0); //stop manöverdonet
programCount = 6;
bryta;

fall 6:
Serial.println ("första dekal tillämpas");
digitalWrite (LED2, hög);
Delay(2000);
digitalWrite (LED2, låg);
programCount = 7.
bryta;

fall 7:
Serial.println ("andra manöverdon går i full fart till Position 2");
medan (analogRead(potFeedback) < = pos2)
{
analogWrite (PWMA2, 255);
analogWrite (PWMB2, 0); //set hastigheten på manöverdonet
}
analogWrite (PWMA2, 0);
analogWrite (PWMB2, 0); //stop manöverdonet
programCount = 8;
bryta;

mål 8:
Serial.println ("andra dekal tillämpas");
digitalWrite (LED2, hög);
Delay(2000);
digitalWrite (LED2, låg);
programCount = 9;
bryta;

mål 9:
Serial.println ("andra manöverdon går i full fart till Position 3");
medan (analogRead(potFeedback) < = pos3)
{
analogWrite (PWMA2, 255);
analogWrite (PWMB2, 0); //set hastigheten på manöverdonet
}
analogWrite (PWMA2, 0);
analogWrite (PWMB2, 0); //stop manöverdonet
programCount = 10;
bryta;

mål 10:
Serial.println ("tredje dekal tillämpas");
digitalWrite (LED2, hög);
Delay(2000);
digitalWrite (LED2, låg);
programCount = 11;
bryta;

mål 11:
Serial.println ("andra ställdonet rör sig bakåt med full hastighet");
analogWrite (PWMA2, 0);
analogWrite (PWMB2, 255); //set hastigheten på manöverdonet
fördröjning (5000); //Move i 5 sekunder
analogWrite (PWMA2, 0);
analogWrite (PWMB2, 0); //stop manöverdonet
Serial.println ("sekvens komplett");
Serial.println("");
Serial.println(""); //print några tomma utrymmen att göra seriell övervaka mer Läs-stånd
programCount = 0; //loop tillbaka till början
bryta;

standard:
Serial.Print("Error");
samtidigt (1). frysa programmet här

} //end switch
} //end loop

Se Steg
Relaterade Ämnen

ARD-e: roboten med en Arduino som en hjärna

hur man skapar en öppen källkod Arduino kontrollerade robot för under $100.Förhoppningsvis efter att ha läst detta instructable du kommer att kunna ta det första steget in i robotteknik. ARD-e kostar ca $90 till 130 USD beroende på hur mycket extra e...

Flyga 3D med ett plan som modell

Andy Ellison från RCM & E tidning är din guide.3D som har kommit långt sedan Paul Heckles tog sin WOT4 till gränsen med otaliga "3D" maskiner nu tillgänglig. Många år sedan jag var shopping för bitar i Steve Webb modeller av Frodsham när man...

Universal (stöld) skydd för elektronisk utrustning eller bilar med osynliga switch

ska jag visa hur du kan använda en reed switch som ett universellt skydd för elektronisk utrustning eller bilar. Allt du behöver är en reed switch och en magnet. Du behöver en lastrelä att öka Kopplingskapacitet av reed switch för bilar.En illustrera...

Uppladdningsbara cykel ljus med automatisk switch av energikälla

Först av allt, ursäkta min främmande engelska och min brist på professionell elektroteknik färdigheter. Jag ser detta som en hobby och har inga anspråk på att vara perfekt. Dock om du har tveka några idéer på hur man kan förbättra inställningen inte...

Använda en momentan eller taktil Switch som en tryckknapp Switch.

En liten stundTaktil switchar (en viss typ av momentan switch) finns överallt och de är särskilt populära DIY elektronik och mikrokontroller styrelserna eftersom de är väl lämpade att agera som en boot alternativ eller återställa switch. Synnerhet är...

Med en telefon som en telefon för en handhållen Radio

detta instructable visar hur man bygger en adaptter som gör att en telefon vara används en telefon för en två sätt radio. Fördelen är som kan vara mer ergonomiskt tilltalande till användaren än ett headset mic arrangemang. Det har också den fördelen...

Ersätta gevär Laser knappen med momentan Switch

Min gevär laser använder en on-off knapp på ryggen. Jag nöd till vända den på och av ofta för att spara mina batterier. En liten bit irriterande. Sedan ersätta jag det med ett kikarsikte. Det var när jag var på jakt efter råttor i ett mörkt rum semi,...

Arduino Double Dice smyckeskrin med Secret Switch

detta var ett roligt projekt. Tryck på röda knappen, titta på tärningarna "ROLL" sedan sluta på slumpmässiga rulle mest varje gång.Hart med detta spel är den ATMEL ATmega328P på en fristående styrelse. Drivs med 4 AA NiMD batterier.Kan du hitta...

Pendlar på BART med din cykel som en BOSS

Du kan pendla över San Francisco Bay på Bay Area Rapid Transit (BART), vårt mest fantastiska ljus järnvägssystem. Cyklister är lyckligt lottade att cyklar tillåts på bilar; det var inte alltid detta sätt. Även om systemet är cykel-vänliga, jag var li...

Med skon rack som klädhängarna

Några artiklar av kläder bör aldrig placeras i en torktumlare, inklusive alla kläder med en etikett som säger "line torr bara" och alla tråd behåar och underkläder. Oftast bör något med resår också vara hängde på tork.Men vad händer om du inte h...

Hur man äter med händerna (som en södra Indiska)

äta med händerna i motsats till med bestick har alltid varit norm i Indien.Detta instructable handlar om hur man äter en måltid med dina händer, som en södra Indiska.Steg 1: När bananblad har delgivits, tryck på bananblad från centrala stjälken, med...

Burning skiss till Atmega328P-PU på en skärbräda med Arduino Uno som programmerare

Det finns redan flera instructables på hur man bränner Arduino skiss till Atmega328P-PU på en skärbräda med olika USB - UART moduler. Men som de flesta modulerna är tillverkade i Kina, de är dåligt dokumenterad, felaktigt märkta, underligt utformad,...

12V-relä med Timer Switch

I detta Instructable kommer vi att lära hur man använder en timer switch och en 12V-relä styra utbyggnaden av ett ställdon. Du kommer att kunna ställa in timern med upp till 17 tidsplaner, och har manöverdonet utvidga och dra tillbaka när tiden är rä...

Med RC bildelar som fjärrkontroll

jag kommer en massa micro RC bilar på ebay att använda dem för DIY projekt.Bilarna är från Enertec. Anropet produkten "MICRO FLASH laddare, formel 1". Rutan produkten innehåller batterier till sändaren och rutan laddning, rutan sändare, en laddn...

Vifta med handen för att kontroll OWI robotarm... kravlöst

Tanken:Det finns minst 4 andra projekt på Instructables.com (från och med 13 maj 2015) runt ändra eller kontrollera OWI robotarm. Inte överraskande, eftersom det är sådan en bra och billig robot kit att leka med. Detta projekt är liknande i anda (dvs...

Med Smart telefon som Motion Sensor Alarm

Idag vi lever i en värld där smarta telefoner blir allt billigare, grundläggande Android telefon kosta bara runt $60 i delen av världen där jag bor i. Oavsett märke och modell av OS kommer nästan alla smarta telefonen med flera maskin- och sensorer s...

Retro hyllning - kassett band lampa med Joystick SwitcH

[[Video (http://http :// www.youtube.com/watch?v=bGrcujH5tx0, {bredd: 600, höjd: 500})]] Återvinning alltid återvinning allt jag kan.Denna lampa är tillverkad av kassettband och jag anpassade en gammal Joystick som en switch.En hyllning till gamla ba...

Tysta en leksak med en Switch

några leksaker bör ses, men inte hört! Min 2,5-åriga brorson är stor på brandmän just nu, så hittade jag denna fantastiska hjälm för honom som har en cool blinkande ljus på framsidan. Det har också en siren, vilket både ljus och siren styrs av samma...

Hur man gör 9v batteri fall med en switch

Steg 1: Saker du behöver PARTS:-1) 9v kontakten och batteri2) plastlåda (jag använde en Gem box)3) StängVERKTYG:-löder, stång och trådlimpistolfräs eller knivsamlareWire strippaSteg 2: Skär rutan nu du har klippt en kvadrat i 1 hörnet av rutan och se...