Sitā būs pareizi.
:
#define poga 5
#define relejs 13
//int pogasstavoklis = digitalRead(poga);
void setup() {
pinMode(poga, INPUT); // poga input
pinMode(relejs, OUTPUT); //relejs output
}
void loop() {
if (digitalRead(poga) == HIGH) {
digitalWrite(relejs, HIGH); //releja izejā 1
delay(500); // aizture 500 milisekundes
}
else {
digitalWrite(relejs, LOW); //releja izejā 0
delay(500); // aizture 500 milisekundes
}
}
Tagad teorija.
1) paldies manam skolotājam karloslv par pamatu iemācīšānu.
2) Vienkāršā varinatā arduino programma sastāv no 3 daļām
* Mainīgo deklarācija un kāju definēšana
Vēlams izmantot #define, jo tas samazina izmantotās atmiņas apjomu. Kai saprastu kā jālieto, jāpalasa instrukcija
https://www.arduino.cc/reference/en/
* Inicializācija, kuru taisa setup
setup izpildās vienu reizi
* programmas cikls loop
šo arduino izsauc regulāri tiklīdz vienreiz izpildās loop un beidzas, tā arduino izdara "slepenas lietas", piemēram apstrādā serial port datus un tad atkal izsauc loop un tā bezgalīgi
3) tava kļūda bija nepareizā pogas datu deklarēšanā. rezultātā arduino nelasa pogas stāvokli un relejs nekustās.
kad gribi noskaidrot pogas stāvokli, tad izpildi digitalRead. respektīvi nolasi pogu.
rezultātu (mans kods) uzreiz apstādājam ar if un kustinam releju
var arī nolasīt mainīgajā pogasstavoklis un tad apstrādāt ar if palīdzību
galvenais regulāri iekš loop jānolasa pogas stāvokli izmantojot digitalRead
Patīkamu mācīšanos un eksperimentēšanu. Lai izdodas!