» elektronika » Težak »Arduino za početnike

Arduino za početnike


Težak je ploča mikrokontrolera koju možete programirati za upravljanje vanjskim uređajima. Komunicira s vanjskim svijetom kroz senzore, motore, LED, zvučnike ... pa čak i Internet, što ga čini fleksibilnom platformom za razne projekte. Postoji nekoliko mikrokontrolera, ali Arduino je popularan zbog činjenice da se različiti projekti vrlo aktivno postavljaju i raspravljaju na Internetu. Ako pretražite na googleu ili youtubeu, pronaći ćete milijune ideja i informacija da i sami počnete istraživati ​​Arduino.
Čak i ako nemate iskustva s programiranjem mikrokontrolera - s Arduinom ćete brzo učiti i naučiti nešto o tome elektronika koristeći eksperimente.

Što trebate za početak?
Arduino Uno- 1pc
Usb kabel-1kom
Jumpers 1pc
1pcs razvojna ploča
Crveni LED 4 kom
Otpornik od 220 ohma 4kom
Otpornik 10 soba 1 kom
Gumb bez popravljanja
potenciometar
RGB LED sa zajedničkom katodom

Sve to možete kupiti u lokalnoj radioteleviziji ili naručiti na Internetu.

Da bi demonstrirali i simulirali električne sklopove, korišten je mrežni simulator.

Ovaj simulator najbolje funkcionira u pregledniku Chrome.
Pogledajmo bliže Arduino.

Arduino nije veliko računalo na koje se mogu spojiti vanjski krugovi. Arduino Uno koristi Atmega 328P
Ovo je najveći čip na ploči. Ovaj čip izvršava programe koji su pohranjeni u njegovoj memoriji. Program možete preuzeti preko usb-a koristeći Arduino IDE. USB port također napaja arduino napajanje.

Postoji zaseban priključak za napajanje. Na ploči se nalaze dva izlaza s oznakom 5v i 3.3v koja su potrebna za napajanje različitih uređaja. Također ćete naći igle označene kao GND, to su uzemljeni vodi (tlo je 0V). Arduino platforma također ima 14 digitalnih izlaza (igle), označenih brojevima od 0 do 13, koji su povezani s vanjskim čvorovima i imaju dva stanja, visoka ili niska (uključeno ili isključeno). Ti kontakti mogu raditi kao izlazi ili kao ulazi, tj. mogu prenijeti neke podatke i upravljati vanjskim uređajima ili primati podatke s uređaja. Sljedeći zaključci na ploči su označeni kao A0-A5. Ovo su analogni ulazi koji mogu primati podatke od raznih senzora. To je posebno prikladno kada trebate izmjeriti raspon, poput temperature. Analogni ulazi imaju dodatne funkcije koje se mogu zasebno aktivirati.


Kako se koristi šporet.

Da biste privremeno povezali dijelove, provjerili kako uređaj funkcionira, prije nego što spojite sve zajedno.
Svi sljedeći primjeri sakupljani su na ploči tako da možete brzo izvršiti promjene u krugu i ponovo koristiti dijelove bez muke lemljenjem.

Ploča ima niz rupa u koje možete umetnuti dijelove i žice. Neke od tih rupa međusobno su električno povezane.

Dva gornja i donja reda međusobno su povezana duž cijele ploče. Ti se redovi koriste za napajanje kruga. Može biti 5V ili 3.3V, no u svakom slučaju, prvo što trebate učiniti je povezati 5V i GND na ploču, kao što je prikazano na slici. Ponekad se ove redovne veze mogu prekinuti u sredini ploče, a zatim, ako trebate, možete ih povezati, kao što je prikazano na slici.




Preostale rupe smještene na sredini ploče grupirane su u pet rupa. Koriste se za spajanje dijelova kruga.

Prvo što povezujemo s našim mikrokontrolerom je LED. Dijagram električne veze prikazan je na slici.


Zašto mi treba otpor u krugu? U ovom slučaju ograničava struju koja prolazi kroz LED. Svaki je LED dizajniran za određenu struju, a ako je ta struja veća, LED neće uspjeti. Otkrijte koju vrijednost otpornik treba koristiti pomoću Ohmovog zakona. Za one koji ne znaju ili su zaboravili, Ohmov zakon kaže da postoji linearna ovisnost struje o naponu. To jest, što više nanesemo napon na otpornik, to će više struje teći kroz njega.
V = I * R
gdje V-napon preko otpornika
ja- struja kroz otpornik
R- Otpor koji se može naći.
Prvo moramo saznati napon preko otpornika. Većina LED 3 mm ili 5 mm koje koristite, imaju 3V radnog napona. Dakle, na otporniku moramo isplatiti 5-3 = 2v.

Zatim izračunavamo struju koja prolazi kroz otpornik.
Većina 3 i 5 mm LED svjetla pune svjetlosti pri jakosti od 20mA. Struja veća od ove može ih onemogućiti, a struja manje jačine smanjit će njihovu svjetlinu, a da ne prouzrokuje bilo kakvu štetu.

Dakle, želimo uključiti LED u 5v krugu tako da ima struju od 20mA. Budući da su svi dijelovi uključeni u jedan krug, otpornik će imati i struju od 20 mA.
Dobivamo
2V = 20 mA * R
2V = 0,02A * R
R = 100 ohma

100 Ohma je minimalni otpor, bolje je koristiti malo više, jer LED-ovi imaju neke varijacije u karakteristikama.
U ovom primjeru koristi se otpornik od 220 ohma. Samo zato što ih autor ima puno: wink:.

Umetnite LED u rupe na sredini ploče tako da je njegov dugi terminal spojen na jedan od terminala otpornika. Spojite drugi kraj otpornika na 5V, a drugi izlaz LED-a spojite na GND. LED bi trebao svijetliti.

Napominjemo da postoji razlika u načinu spajanja LED-a. Struja teče od dužeg terminala do kraćeg. Na dijagramu se može zamisliti da struja teče u smjeru u kojem je usmjeren trokut. Pokušajte okrenuti LED i vidjet ćete da se neće upaliti.

Ali kako spojite otpornik, uopće nema razlike. Možete je preokrenuti ili pokušati spojiti na drugi izlaz LED-a, to neće utjecati na rad kruga. I dalje će ograničiti struju kroz LED.

Anatomija arduinove skice.

Programi za Arduino nazivaju se skica. Sastoje se od dvije glavne funkcije. funkcija namještaljka i funkcioniraju petlja
unutar ove funkcije postavit ćete sve osnovne postavke. Koji će zaključci raditi na ulazu ili izlazu, koje knjižnice povezati, inicijalizirati varijable. funkcija Postavljanje () Pokreće se samo jednom tijekom skice, kada se pokrene program.
to je glavna funkcija koja se izvršava nakon postava (), Zapravo, to je sam program. Ova će se funkcija pokretati neograničeno dok ne isključite napajanje.

Arduino treperi LED




U ovom ćemo primjeru spojiti krug s LED-om na jedan od Arduino digitalnih pinova i uključiti ga i isključiti pomoću programa, a naučit ćete i nekoliko korisnih funkcija.



- ova se funkcija koristi u postava () dijelovima programa i služi za inicijalizaciju zaključaka koji ćete koristiti kao ulaz (INPUT) ili izaći (Izlaz), Ne možete čitati ili pisati podatke s PIN-a dok ih ne postavite u skladu s tim pinMode, Ova funkcija ima dva argumenta: pinNumber- Ovo je PIN broj koji ćete koristiti.

način- postavlja kako će pin raditi. Na ulazu (INPUT) ili izaći (Izlaz), Za osvjetljenje LED-a moramo dati signal OD Težak. Da bismo to učinili, konfigurišemo pin za izlaz.
- ova funkcija služi za postavljanje stanja (Država) igla (PinNumber), Postoje dvije glavne države (općenito postoje 3), jedna je HIGH, pin će biti 5v, drugi je nizak a pin će biti 0v. Dakle, da bismo osvijetlili LED, moramo postaviti visoku razinu na pin spojen na LED HIGH.

- kašnjenje. Služi za odlaganje programa za određeno razdoblje u ms.
Ispod je kôd zbog kojeg LED treperi.
// LED treptaj

int ledPin = 7; // Arduino pin na koji je LED priključen

poništavanje postave () {
  pinMode (ledPin, OUTPUT); // postavite pin kao EXIT
}

void petlja () {
  digitalWrite (ledPin, HIGH); // upali LED
  kašnjenje (1000); // kašnjenje 1000 ms (1 sek)
  digitalWrite (ledPin, LOW); // Isključite LED
  kašnjenje (1000); // pričekajte 1 sek
}


Malo objašnjenje o kodu.
Linije koje započinju s "//" su Arduinovi komentari koji ih ignoriraju.
Sve naredbe završavaju se zarezom; ako ih zaboravite, dobit ćete poruku o pogrešci.

ledPinje varijabla. Varijable se koriste u programima za pohranjivanje vrijednosti. U ovom primjeru varijabla ledPin dodijeljena vrijednost 7, ovo je broj pina Arduino. Kad se Arduino u programu susreće s nizom varijable ledPin , upotrijebit će vrijednost koju smo naveli ranije.
Dakle, snimite pinMode (ledPin, OUTPUT) slično snimanju pinMode (7, IZLAZ).
No u prvom je slučaju dovoljno da promijenite varijablu i ona će se promijeniti u svakom retku gdje se koristi, a u drugom slučaju da biste promijenili varijablu, u svaku naredbu morate unijeti olovke.

u prvom retku označava vrstu varijable. Kod programiranja Arduino-a, važno je uvijek deklarirati vrstu varijabli. Za sada je dovoljno da to znate INT objavljuje negativne i pozitivne brojeve.
Ispod je predstavljeno manekenstvo skica. Pritisnite start da biste vidjeli rad kruga.



Kao što se očekivalo, LED se isključuje i svijetli nakon jedne sekunde. Pokušajte promijeniti kašnjenje da biste vidjeli kako to funkcionira.

Upravljanje nekoliko LED-ova.

U ovom primjeru naučit ćete kako kontrolirati više LED-ova. Da biste to učinili, na ploču ugradite još 3 LED-a i spojite ih na Arduino otpornike i pinove, kao što je prikazano u nastavku.



Da biste uključili i isključili LED-ove zauzvrat, morate napisati program poput ovoga:
// Multi LED treptaj

int led1Pin = 4;
int led2Pin = 5;
int led3Pin = 6;
int led4Pin = 7;

poništavanje postave () {
  // postavite igle kao EXIT
  pinMode (led1Pin, OUTPUT);
  pinMode (led2Pin, OUTPUT);
  pinMode (led3Pin, OUTPUT);
  pinMode (led4Pin, OUTPUT);
}

void petlja () {
  digitalWrite (led1Pin, HIGH); // upali LED
  kašnjenje (1000); // kašnjenje 1 sek
  digitalWrite (led1Pin, LOW); // ugasiti LED
  kašnjenje (1000); // kašnjenje 1 sek

  // učinite isto za ostala 3 LED-a
  digitalWrite (led2Pin, HIGH); // upali LED
  kašnjenje (1000); // kašnjenje 1 sek
  digitalWrite (led2Pin, LOW); // ugasiti LED
  kašnjenje (1000); // kašnjenje 1 sek

  digitalWrite (led3Pin, HIGH); // upali LED
  kašnjenje (1000); // kašnjenje 1 sek
  digitalWrite (led3Pin, LOW); // ugasiti LED
  kašnjenje (1000); // kašnjenje 1 sek

  digitalWrite (led4Pin, HIGH); // upali LED
  kašnjenje (1000); // kašnjenje 1 sek
  digitalWrite (led4Pin, LOW); // ugasiti LED
  kašnjenje (1000); // kašnjenje 1 sek
}


Ovaj program će raditi dobro, ali to nije najracionalnije rješenje. Kôd treba promijeniti. Da bi program radio iznova i iznova, poslužit ćemo se konstrukcijom zvanom.
Ciklusi su prikladni kada trebate ponoviti istu radnju nekoliko puta. U gornjem kodu ponavljamo retke

digitalWrite (led4Pin, HIGH);
kašnjenje (1000);
digitalWrite (led4Pin, LOW);
kašnjenje (1000); 

puni kod skice u prilogu for.zip [720 b] (preuzimanja: 1410)

Podešavanje svjetline LED-a

Ponekad ćete trebati promijeniti svjetlinu LED-ova u programu. To se može učiniti pomoću naredbe analogWrite (), Ovom naredbom LED uključuje i isključuje LED tako brzo da oko ne vidi ovo treperenje. Ako je LED uključen na pola vremena i pola je isključeno, vidljivo će se pojaviti da svijetli na polovini svjetline. To se naziva modulacija širine impulsa (PWM ili PWM na engleskom). PWM se koristi prilično često jer se pomoću digitalnog koda može kontrolirati "analogna" komponenta. Nisu sve Arduino igle prikladne za ove svrhe. Samo oni zaključci oko kojih se takva oznaka izvodi "~”.Vidjet ćete ga pored igle 3,5,6,9,10,11.
Jedan od vaših LED dioda povežite s jednim od PWM izlaza (za autora, ovo je pin 9). Sada pokrenite treptajuću LED diodu, ali prvo promijenite naredbu digitalWrite () na analogWrite (). analogWrite () Ima dva argumenta: prvi je broj pina, a drugi je PWM vrijednost (0-255), u odnosu na LED oni će biti njihova svjetlina, a za električne motore brzina rotacije. Ispod je primjer koda za različite LED svjetline.
// Promjena svjetline LED-a

int ledPin = 9; // LED spojen na ovaj pin
poništavanje postave () {
  pinMode (ledPin, OUTPUT); // inicijalizirati pin za izlaz
}

void petlja () {
  analogWrite (ledPin, 255); // puna svjetlina (255/255 = 1)
  kašnjenje (1000); // pauza 1 sek
  digitalWrite (ledPin, LOW); // isključite LED
  kašnjenje (1000); // pauza 1 sek

  analogWrite (ledPin, 191); // svjetlina u 3/4 (191/255 ~ = 0,75)
  kašnjenje (1000); // pauza 1 sek
  digitalWrite (ledPin, LOW); // isključite LED
  kašnjenje (1000); // pauza 1 sek

  analogWrite (ledPin, 127); // pola svjetline (127/255 ~ = 0,5)
  kašnjenje (1000); // pauza 1 sek
  digitalWrite (ledPin, LOW); // isključite LED
  kašnjenje (1000); // pauza 1 sek

  analogWrite (ledPin, 63); // svjetlina četvrtine (63/255 ~ = 0,25)
  kašnjenje (1000); // pauza 1 sek
  digitalWrite (ledPin, LOW); // isključite LED
  kašnjenje (1000); // pauza 1 sek
}


Pokušajte u naredbi promijeniti vrijednost PWM analogWrite ()da vidite kako utječe na svjetlinu.
Zatim ćete naučiti kako glatko prilagoditi svjetlinu od pune do nule. Možete, naravno, kopirati dio koda 255 puta
analogWrite (ledPin, svjetlina);
kašnjenje (5); // kratko kašnjenje
svjetlina = svjetlina + 1;

Ali, razumijete, to neće biti praktično. Da biste to učinili, najbolje je koristiti petlju FOR koja se ranije koristila.
Sljedeći primjer koristi dva ciklusa, jedan za smanjenje svjetline s 255 na 0
for (int svjetlina = 0; svjetlina = 0; svjetlina -) {

analogWrite (ledPin, svjetlina);
kašnjenje (5);

}

kašnjenje (5) koristi se za usporavanje brzine porasta i pada svjetline 5 * 256 = 1280 ms = 1,28 sek.)
Prvi redak koristi "brightness-"tako da se vrijednost svjetline smanjuje za 1, svaki put kad se ciklus ponovi. Imajte na umu da će ciklus raditi sve dok svjetlina> = 0. Zamjena znaka > na znak >= uključili smo 0 u raspon svjetline. Ova skica je modelirana u nastavku.
// glatko mijenja svjetlinu

int ledPin = 9; // LED je spojen na ovaj pin

poništavanje postave () {
  pinMode (ledPin, OUTPUT); // inicijalizirajte pin za izlaz
}

void petlja () {
  // postupno povećavajte svjetlinu (0 do 255)
  for (int svjetlina = 0; svjetlina = 0; svjetlina -) {
    analogWrite (ledPin, svjetlina);
    kašnjenje (5);
  }

  kašnjenje (1000); // pričekajte 1 sek
 // glatko smanjuje svjetlinu (255 do 0)
  za (int svjetlina = 255; svjetlina> = 0; svjetlina -) {
    analogWrite (ledPin, svjetlina);
    kašnjenje (5);
  }

  kašnjenje (1000); // pričekajte 1 sek
}
}

To nije baš vidljivo, ali ideja je jasna.



RGB LED i Arduino

RGB LED su zapravo tri LED-ove različitih boja u jednom kućištu.



Uključujući različite LED diode s različitim svjetlinama, možete kombinirati i dobiti različite boje. Za Arduino, gdje je broj gradacija svjetline 256, dobivate 256 ^ 3 = 16581375 mogućih boja. U stvarnosti će ih, naravno, biti manje.
LED koji ćemo koristiti je uobičajena katoda. tj sve su tri LED diode strukturno povezane katodama na jedan terminal. Taj ćemo pin spojiti na GND. Preostali terminali preko ograničavajućih otpornika moraju se spojiti na PWM terminale. Autor je koristio zaključke 9-11. Dakle, moguće je kontrolirati svaki LED zasebno. Prva skica pokazuje kako uključiti svaki LED zasebno.



// RGB LED - test

// pin veze
int crvena = 9;
int zelena = 10;
int plava = 11;

poništavanje postave () {
  pinMode (crveni, OUTPUT);
  pinMode (plava, OUTPUT);
  pinMode (zelena, OUTPUT);
}

void petlja () {
  // uključi / isključi crveni LED
  digitalWrite (crveno, VISOKO);
  kašnjenje (500);
  digitalWrite (crveno, NISKO);
  kašnjenje (500);
  
  // uključi / isključi zelenu LED
  digitalWrite (zeleno, VISOKO);
  kašnjenje (500);
  digitalWrite (zeleno, NISKO);
  kašnjenje (500);

  // uključi / isključi plavu LED
  digitalWrite (plava, HIGH);
  kašnjenje (500);
  digitalWrite (plava, NISKA);
  kašnjenje (500);
}


Sljedeći primjer koristi naredbe analogWrite () i dobiti razne slučajne vrijednosti svjetline za LED. Vidjet ćete različite boje kako se mijenjaju nasumično.
// RGB LED - slučajne boje

// pin veze
int crvena = 9;
int zelena = 10;
int plava = 11;
poništavanje postave () {
  pinMode (crveni, OUTPUT);
  pinMode (plava, OUTPUT);
  pinMode (zelena, OUTPUT);
}
void petlja () {
  // odabrati slučajnu boju
  analogWrite (crvena, slučajna (256));
  analogWrite (plava, slučajna (256));
  analogWrite (zeleno, slučajno (256));
  kašnjenje (1000); // pričekajte jednu sekundu
}


Slučajno (256)-Vrati slučajni broj u rasponu od 0 do 255.
U priloženoj datoteci nalazi se skica koja demonstrira glatke prijelaze boja s crvene na zelenu, zatim na plavu, crvenu, zelenu itd. perehody.zip [373 b] (preuzimanja: 386)
Primjer skice djeluje, ali postoji puno dupliciranog koda. Kôd možete pojednostaviti tako da napišete svoju pomoćnu funkciju, koja će glatko mijenjati jednu boju u drugu.
Evo kako će to izgledati: funktsiya.zip [263 b] (preuzimanja: 420)
Pogledajmo definiciju funkcije u dijelovima. Zvana funkcija fader i ima dva argumenta. Svaki je argument odvojen zarezom i ima vrstu deklarisanu u prvom retku definicije funkcije: void fader (int color1, int color2), Vidite da su oba argumenta proglašena kao int, i daju im imena COLOR1 i COLOR2 kao uvjetne varijable za definiranje funkcije. praznina znači da funkcija ne vraća nikakve vrijednosti, ona jednostavno izvršava naredbe. Ako bi bilo potrebno napisati funkciju koja je vratila rezultat množenja, izgledala bi ovako:
int množitelj (int broj1, int broj2) {

int proizvod = broj1 * broj2;
povratni proizvod;

} 

Primijetite kako smo proglasili Type int kao povratni tip
praznina.
Unutar funkcije nalaze se naredbe koje ste već koristili u prethodnoj skici, samo su brojevi pinova zamijenjeni s COLOR1 i COLOR2, Zvana funkcija fader, njegovi argumenti se računaju kao boja1 = crvena i color2 = zelena, Arhiva puna skica pomoću funkcija funktsii.zip [392 b] (preuzimanja: 320)

dugme

Na sljedećoj će se skici koristiti gumb s normalno otvorenim kontaktima, bez popravljanja.

Arduino za početnike

To znači da, iako gumb nije pritisnut, struja ne prolazi kroz njega, a nakon otpuštanja gumb se vraća u prvobitni položaj.
U krugu se pored gumba koristi otpornik. U ovom slučaju ne ograničava struju, već "povuče" gumb na 0v (GND). tj dok se ne pritisne gumb na iglu Arduino-a na koji je spojen, razina će biti niska. Otpornik koji se koristi u krugu od 10 kΩ.

// definirati klik gumba
int buttonPin = 7;
poništavanje postave () {
  pinMode (buttonPin, INPUT); // inicijalizirati ulazni pin
  Serial.begin (9600); // inicijalizirati serijski port
}
void petlja () {
  if (digitalRead (buttonPin) == HIGH) {// ako se pritisne gumb
    Serial.println ("pritisnut"); // ispis "pritisnut"
  } else {
    Serial.println ("neispisan"); // inače "neprimijećen"
  }
}

U ovoj skici nalazi se nekoliko novih timova.
-Ova naredba uzima vrijednost High (visoka razina) i low (niska razina) izlaza koji provjeravamo. Prije toga, u setup (), ovaj izlaz mora biti konfiguriran za ulaz.
; // gdje je buttonPin broj PIN-a na kojem je gumb spojen.
Serijski ulaz vam omogućuje slanje Arduino poruka na računalo, dok kontroler sam pokreće program. To je korisno za uklanjanje pogrešaka u programu, slanje poruka drugim uređajima ili aplikacijama. Da biste omogućili prijenos podataka putem serijskog ulaza (poznat i kao UART ili USART), morate ga inicijalizirati u setup ()

Serial.begin () ima samo jedan argument brzina prijenosa podataka između Arduina i računala.
skica, naredba se koristi za prikaz poruke na ekranu u Arduino IDE (Alati >> Serijski Monitor).
- dizajn vam omogućuje kontrolu napretka programa kombiniranjem nekoliko provjera na jednom mjestu.
Ako (ako) digitalRead vrati VISOKA, na monitoru se prikazuje riječ "pritisnuta". Inače, na ekranu se prikazuje riječ "stisnut". Sada možete pokušati uključiti i isključiti LED jednim pritiskom gumba.
// otkrivanje pritiska na tipke s LED izlazom
int buttonPin = 7;
int ledPin = 8;
poništavanje postave () {
  pinMode (buttonPin, INPUT); // ovaj put ćemo postaviti pin pin kao INPUT
  pinMode (ledPin, OUTPUT);
  Serijski počet (9600);
}
void petlja () {
  ako (digitalno čitanje (gumbPin) == HIGH) {
    digitalWrite (ledPin, HIGH);
    Serial.println ("pritisnut");
  } else {
    digitalWrite (ledPin, LOW);
    Serial.println ("neispisan");
  }
}


Analogni ulaz.

analogRead omogućava vam čitanje podataka s jednog od Arduino analognih pinova i prikazuje vrijednost u rasponu od 0 (0V) do 1023 (5V). Ako je napon na analognom ulazu 2,5 V, tada će se ispisati 2,5 / 5 * 1023 = 512
analogRead ima samo jedan argument - Ovo je analogni ulazni broj (A0-A5). Sljedeća skica pruža kod za očitavanje napona s potenciometra. Da biste to učinili, spojite varijabilni otpornik, ekstremne igle na pinove 5V i GND, a srednji pin na ulaz A0.


Pokrenite sljedeći kôd i na serijskom monitoru pogledajte kako se vrijednosti mijenjaju ovisno o rotaciji gumba otpornika.
// analogni ulaz

int potPin = A0; // središnji izlaz potenciometra spojen je na ovaj pin

poništavanje postave () {
  // analogni pin je omogućen unosom prema zadanim postavkama, tako da inicijalizacija nije potrebna
  Serijski počet (9600);
}

void petlja () {
  int potVal = analogRead (potPin); // potVal je broj između 0 i 1023
  Serijski.println (potVal);
}

Sljedeća skica kombinira skicu gumba i tipke za kontrolu svjetline. LED će se upaliti s gumba, a potenciometar će kontrolirati svjetlinu sjaja.
// otkrivanje pritiska na tipke s LED izlazom i promjenjivim intenzitetom
int buttonPin = 7;
int ledPin = 9;
int potPin = A0;
poništavanje postave () {
  pinMode (buttonPin, INPUT);
  pinMode (ledPin, OUTPUT);
  Serijski počet (9600);
}
void petlja () {
  if (digitalno čitanje (buttonPin) == HIGH) {// ako se pritisne gumb
    int analogVal = analogRead (potPin);
    int scaledVal = mapa (analogVal, 0, 1023, 0, 255);
    analogWrite (ledPin, scaledVal); // uključite led s intenzitetom postavljenim od strane pot
    Serial.println ("pritisnut");
  } else {
    digitalWrite (ledPin, LOW); // isključite ako se ne pritisne gumb
    Serial.println ("neispisan");
  }
}
8.7
9
9

Dodajte komentar

    • osmijehosmjesixaxau redudontknowprostakNea
      gazdaogrebotinabudaladaDa-Daagresivantajna
      oprostiteplesdance2dance3pomilovanjepomoćpića
      zaustavljanjeprijateljidobrogoodgoodzviždaljkapasti u nesvijestjezik
      dimpljeskanjeCrayObjavitepodrugljivdon-t_mentionpreuzimanje
      vrućinaljutitlaugh1MDAsastanakmoskingnegativan
      not_ikokicekaznitičitatiuplašitiplašitraži
      podsmijehthank_youovoto_clueumnikakutansložiti
      lošebeeeblack_eyeblum3rumenilohvalisati sedosada
      cenzuriranizadirkivanjesecret2prijetitipobjedayusun_bespectacled
      shokrespektlolpreveddobrodošlikrutoyya_za
      ya_dobryipomoćnikne_huliganne_othodifludzabranablizu
4 komentari
Ovako djeluje kako treba - // postupno povećavajte svjetlinu (0 do 255)
for (int svjetlina = 0; svjetlina <= 255; svjetlina ++) {
analogWrite (ledPin, svjetlina);
kašnjenje (5);
pri sastavljanju daje grešku Težak: 1.6.5 (Windows 7), ploča "Arduino Nano, ATmega328"

sketch_sep20a: 25: pogreška: očekivana deklaracija prije tokena '}'
očekivana deklaracija prije oznake '}'
Kopirao sam skicu glatkog paljenja.
Moj LED svijetli oštro, ali se nesmetano gasi.

Objasnite molim.
Kopirao sam skicu glatkog paljenja.
Moj LED svijetli oštro, ali se nesmetano gasi.

Objasnite molim.

Savjetujemo vam da pročitate:

Predaj to pametnom telefonu ...