Domotic arduino (2 / 3 steg)

Steg 2: programvara



Jag hoppas att kommentarer är uttömmande:

costants:
CONST int sm = 2; Moviment sensor
CONST int buttonPin_t3 = 5; knappen
CONST int buttonPin_t2 = 4; knappen ner
CONST int ledPin = 13. LED för kontroll knappar
CONST int d1 = 11; motor upp
CONST int d0 = 12. motor ner

variabler
int ContatoreSensoreMovimento = 0; räknaren flytta sensorn
int Contatore_t3_t2 = 0;
int RegistroOutputd1 = 0;
int RegistroOutputd0 = 0;

variablerna sm:
int State_sm = 0; statliga
int lastState_sm = 0; senast tillstånd
variabili t3:
int buttonState_t3 = 0; statliga
int lastButtonState_t3 = 0; senast tillstånd
variabili t2:
int buttonState_t2 = 0; statliga
int lastButtonState_t2 = 0; senast tillstånd

void setup() {
initiering ingångsstift:
pinMode (sm, ingång);
pinMode (buttonPin_t2, ingång);
pinMode (buttonPin_t3, ingång);
initiering utgångsstiftet:
pinMode (d1, produktionen);
pinMode (d0, produktionen);
pinMode (ledPin, produktionen);
iinitialize seriell kommunikation på 9600 bps:
Serial.BEGIN(9600);
}

void loop() {
SM
Läs pin:
State_sm = digitalRead(sm);
Jämför buttonState till sitt tidigare tillstånd
om (State_sm! = lastState_sm) {
om staten har förändrats, öka räknaren
om (State_sm == låg) {
om det aktuella läget låg sedan
wend från av till på:
om (RegistroOutputd1 == 1) {
ContatoreSensoreMovimento ++;

}
om (RegistroOutputd0 == 1) {
ContatoreSensoreMovimento--;

}

Serial.println("on_sm");
Serial.Print ("ContatoreSensoreMovimento:");
Serial.println (ContatoreSensoreMovimento, DEC);
}
annat {
wend från av till på:
Serial.println("off_sm");
}
}
spara det aktuella läget som den förra staten
för nästa gång genom öglan
lastState_sm = State_sm;

om (ContatoreSensoreMovimento % 4 == 0) {
digitalWrite (ledPin, hög);
}
annat {
digitalWrite (ledPin, låg);
}

T3
Läs pin:
buttonState_t3 = digitalRead(buttonPin_t3);
Jämför buttonState till sitt tidigare tillstånd
om (buttonState_t3! = lastButtonState_t3) {
om det aktuella läget är hög då:
om (buttonState_t3 == hög) {
om räknaren är < 1:
om (Contatore_t3_t2 < 1) {
ökar värdet för räknaren
wend från av till på:
Contatore_t3_t2 ++;
Serial.println("on_t3");
Serial.Print ("Contatore_t3_t2:");
Serial.println (Contatore_t3_t2, DEC);
}
}
annat {
om det aktuella läget låg sedan
wend från på till off
Serial.println("off_t3");
}
}
spara det aktuella läget som den förra staten
för nästa gång genom öglan
lastButtonState_t3 = buttonState_t3;
Valore massimo contatore 1

T2
lettura del pin:
buttonState_t2 = digitalRead(buttonPin_t2);
Jämför buttonState till sitt tidigare tillstånd
om (buttonState_t2! = lastButtonState_t2) {
om det aktuella läget är hög då:
om (buttonState_t2 == hög) {
om räknaren är > -1:
om (Contatore_t3_t2 > -1) {
ökar värdet för räknaren
wend från av till på:
Contatore_t3_t2--;
Serial.println("on_t2");
Serial.Print ("Contatore_t3_t2:");
Serial.println (Contatore_t3_t2, DEC);
}
}
annat {
om det aktuella läget låg sedan
wend från på till:
Serial.println("off_t2");
}
}
spara det aktuella läget som den förra staten
för nästa gång genom öglan
lastButtonState_t2 = buttonState_t2;

om (ContatoreSensoreMovimento < 35 & & Contatore_t3_t2 == 1) {
digitalWrite (d1, hög);
RegistroOutputd1 = 1;
}
annat {
digitalWrite (d1, låg);
RegistroOutputd1 = 0;
om (ContatoreSensoreMovimento == 35 & & Contatore_t3_t2 == 1) {
Contatore_t3_t2 = 0;
}
}
om (ContatoreSensoreMovimento > 0 & & Contatore_t3_t2 == -1) {
digitalWrite (d0, hög);
RegistroOutputd0 = 1;
}
annat {
digitalWrite (d0, låg);
RegistroOutputd0 = 0;
om (ContatoreSensoreMovimento == 0 & & Contatore_t3_t2 == -1) {
Contatore_t3_t2 = 0;
}
}
}

Se Steg
Relaterade Ämnen

Data från domotic sensorer till molnet och realtid Visa av en webbapplikation

Detta Intel Edison med domotic sensorer är tänkt att vara en hem domotic station som du kan placera var som helst och har läst det nuvarande omgivning som skicka i moln och visa dem tillbaka på ett webbprogram eller mobilapplikation.IDE: Arduino språ...

Programmera din Arduino med en Android-enhet via Bluetooth

Hej världen, i detta Instructable jag vill visa dig, hur du programmerar din Arduino Uno med din Android-enhet via Bluetooth. Det är mycket enkelt och så billig. Det ger oss också möjlighet att programmera vårt Arduino där allt vi vill över trådlöst...

Android och Arduino SMS-baserade Home Automation

Nyligen fick jag en relativt billig Kvadranten Band GSM/GPRS-modul för att spela med. Det är en SIM800L modul, och kommunicerar med alla micro via en seriell port. Det kom med en panel mount antenn.Jag beslutade att bygga ett enkelt SMS Controller sy...

Arduino temperaturreglerade Fan

Jag och några medlemmar har beslutat att för sommaren, skulle det vara fördelaktigt att skapa en fläkt som tänds vid 70 grader Fahrenheit och fortsätter att öka i intensitet med värmen. Så det är vad vi gjorde. :)Steg 1: Gears Det första vi laser skä...

Sable 2015 CNC + Arduino + GRBL = LunchBox CNC

Detta är min 2: a Instructable och min 2nd Arduino powered CNC, den här gången jag upp svårighetsgraden genom att besluta att göra en själv innehöll CNC enhet av design min egen elektronik kapslingar och placeringar.Stegen i detta Instructable är mer...

Arduino kontrollerade Beehive Fumigator / Air Freshener

Inom det relativa kaoset av mina inhemska arrangemang har jag en liten oas i perfekt ordning. En sak som jag kan kalla "organiserade" och "fullt fungerande". En sak jag kan röra och vet att det är tillförlitliga och färdiga för åtgärde...

Hemmabyggd (DIY) CNC router - baserade Arduino (GRBL)

Redan för några var månader eller år, jag planerar att bygga mitt eget CNC fräsmaskin. Nu bestämde jag mig för det var tid att göra det! Jag läser mycket om andra DIY projekt och till slut jag gillade designen från Arduino CNC intstructable som jag h...

12 tim binär klocka, timmar och minuter bara, DS1307 RTC, i2C, Arduino-Nano

Ett tag nu har jag velat göra en binär klocka, men efter att ha tittat jag bestämde mig något bara lite annorlunda. Så jag beslöt att endast visar timmar och minuter och endast visa en 12 timmars klocka, innebär detta du bara behöver 3 kolumner och m...

Arduino 7-Seg Display Clock

Detta är en Auduino klocka gjorde med Sunfounder kit. Detta är en riktigt cool projekt och lätt att göra!Steg 1: material Endast 9 material krävs för montering av arduino powered klockanSkärbrädaSladdarUSB-kabelTråd-kontakterCardstock boxSju segment...

Arduino binär klocka med LED-matris

Denna webbplats har många fina inlägg som beskriver byggandet av armbandsur. Jag är oerhört skakig, emellertid, och har svårt med någon lödning. Jag ville därför göra mig från en 8 x 8 MAX7219-kontrollerade ledde matrisen.Steg 1: Läsa BCD binär klock...

Arduino klockan

Ahmed Mohamed gjorde en väckarklocka som misstog för en bomb. Poliser trodde inte honom när han sa till dem att det inte var en bomb, men en väckarklocka. I min klass kände vi att antagandet var orättvist och för att visa vårt stöd vi skapat klockor...

Arduino IoT väder klocka

I detta Instructable kommer vi att bygga en klocka som även visar i och utanför klimatförhållanden.Jag brukade ha en cool liten klocka som, förutom talande tiden, visas även temperaturen i huset, datumet och den utvändiga temperaturen via en sensor f...

Arduino VFD Display klocka handledning - en Guide till VFD displayer

... + Lite om VFDsMinns du (fortfarande) visning av din gamla CD-spelare, HiFi system eller bil radio? Har du någonsin märkt displayerna används på din lokala mataffär som visar du skannade objektet och priset för det?Dessa skärmar har en karakterist...

Montering av "Kloka klockan 2" (Arduino-baserad väckarklocka med massor av extra funktioner)

denna handledning visar hur du monterar kitet för Wise klockan 2, ett öppen källkodsprojekt (hårdvara och mjukvara).En komplett Klok klockan 2 kit kan köpas här.Sammanfattningsvis är detta vad Wise klockan 2 kan göra (i den aktuella öppna källa mjukv...

Berlin klocka, Arduino Nano, DS1307 Realtidsklocka. 74HC595N 8-bitars skiftregister.

För en tid nu har jag ville bygga en Berlin klocka. Jag vet inte riktigt varför? Jag gillar bara "annorlunda" tillvägagångssätt till talande tiden.Så hur fungerar det?Börjar på botten finns 4 gul lyser varje ljus representerar 1 minut, så om det...

BookClock - Arduino-baserad klockan i en kartong

detta är den senaste (och billigaste ännu) Wise klocka familjemedlem.(Som en snabb resumé, de andra medlemmarna i familjen Wise klocka är, hittills, glaskupol Wise klocka och Wise klockan 2. De är "kloka" eftersom, tillsammans med tid, de också...

Bygga IllyClock - baserade Arduino väckarklocka i en kaffe kan

uppdaterad augusti 4, 2011En strömlinjeformad version är nu beskrivs här.Syftet med detta projekt är att bygga en väckarklocka som liknar den som presenteras i videon nedan.Bredvid inhägnad, den ursprungliga inslaget i IllyClock visar tiden i färger:...

Cwik klocka v1.0 - An Arduino binär klocka

ÖversiktDetta är en guide till att bygga en Arduino-driv klocka som använder lysdioder för att Visa 24-timmarsformat (timmar och minuter) som binära siffror, en analog mätare att Visa sekunderna, en switch för att växla mellan tidsvisning och tidsins...

Digital/Analog klocka - Arduino + PaperCraft

i detta instructable vi kommer att återskapa en klocka inspirerad av Alvin Aronson ursprungliga design. När jag först såg denna klocka som jag var mycket imponerad av hur ren en elegant design var jag omedelbart ville återskapa denna effekt.Alvin Aro...