Luka Code

Lisɔ́ ya 14/31-4: Ndakisa ya map() na code ya Arduino 1

Lisɔ́ ya 14/31-4: Ndakisa ya map() na code ya Arduino 1

Lithuto oyo ezali eteni ya série ya ba programmes ya Arduino mpe ezali kolobela esaleli ya map() fonction. Na lithuto oyo, okoyekola ndenge ya kobongola motuya ya pourcentage (0–100) na motuya ya PWM (Pulse Width Modulation) (0–255) mpo na kokamba bongengi ya LED. Na esika okokende kosala calcul na maboko ete 60% ekokani na 153, map() fonction esalaka mbongwana ya ligne mpo na yo, mpe yango esalaka code na yo pete mpe ya polele.

Technique oyo ezali ntina mingi mpo na ba applications ebele ya mokili ya solo epai okoki kobongola ba lectures ya ba capteurs to ba entrées ya ba utilisateurs na ba intervalles ndenge na ndenge. Na ndakisa, okoki kosalela yango mpo na:

  • Kokamba vitesse ya moteur ya DC kolandela lecture ya potentiomètre.
  • Komonisa valeur brute ya capteur ya température na échelle ya 0-100%.
  • Kobongola ba coordonnées ya joystick na ba angles ya moteur ya servo.
  • Kobongola bongengi ya LED kolandela capteur ya lumière ambiante.
  • Kobongola lecture analogique ya 0-5V na valeur digitale ya 0-1023 to vice versa.

Matériel/Ba composants

Mpo na kolanda lithuto oyo, okosengela ba composants oyo:

  • Board ya Arduino (Uno, Nano, etc.)
  • LED moko
  • Résistor ya 220 ohms
  • Ba fils ya jumper
  • Breadboard (oyo ezali na posibilité, kasi ezali malamu)

Guide ya câblage

Na vidéo, molakisi azali kolakisa projet oyo na esaleli ya câblage longwa na lithuto ya liboso na ntina ya kozongisa bongengi ya LED. Circuit ezali pete: kanga anode (long leg) ya LED na résistor ya 220 ohms, mpe kanga suka mosusu ya résistor yango na pin digitale 3 na Arduino. Kanga cathode (short leg) ya LED moko moko na pin ya ground (GND) na Arduino.

Explication ya code

Code ya ndakisa oyo ezali mokuse mingi, mpe logique ya ntina ezali na fonction setup(). Tokotala ba parties oyo utilisateur akoki kobongola.

int LEDpin = 3; //defini pin mpo na LED

Ligne oyo efinir pin ya Arduino epai LED na yo esangani. Na ndakisa oyo, esili kotiama na pin 3, oyo ezali pin oyo ekoki na PWM, oyo ezali nécessaires mpo na sortie analogique. Okoki kobongola nombre oyo soki okangi LED na yo na pin mosusu ya PWM.

int b=8;//60% bongengi

Oyo ezali variable ya ntina oyo okobongola mpo na komeka ba niveaux ndenge na ndenge ya bongengi. Ezali kotalisa bongengi oyo elingami na pourcentage. Commentaire na code elobi "60%", kasi valeur esili kotiama na 8 mpo na ndakisa na vidéo. Okoki kobongola yango na nombre entier nyonso kati na 0 mpe 100. Na ndakisa, kotia b = 60 ekotalisa niveau ya bongengi ya 60%.

int brightness = map(b, 0, 100, 0,255);

Oyo ezali motema ya lithuto. Fonction map() ezali kozwa valeur ya pourcentage na yo (b) mpe ezali kobongola yango longwa na intervalle na yango ya liboso (0 to 100) na intervalle ya sika oyo elingami (0 to 255). Résultat ebombamaka na variable brightness, oyo esalelamaka mpo na kokoma valeur analogique na pin ya LED.

analogWrite(LEDpin, brightness);// pelisa LED na bongengi ya 60%

Na suka, ligne oyo etindaka valeur oyo ebongolami na pin ya LED na esaleli ya analogWrite(). Oyo etiaka cycle ya service ya LED, mpe yango ezali kokamba bongengi na yango. Kitoko ya méthode oyo ezali ete osengeli kaka kobongola variable b mpo na kokamba LED, mpe fonction map() esalaka ba calcul nyonso oyo esengeli.

Projet/Démonstration ya bomoi

Na vidéo, molakisi azali kotia code mpe azali kolakisa effet ya kobongola variable b. Ntango b etiami na 8, moniteur ya série ekomaka valeur oyo ebongolami ya 20, mpe LED emonanaka ete ezali mokuse. Kobongola b na 90 epesaka valeur oyo ebongolami ya 229, mpe yango esalaka ete LED ezala kongenga mingi. Kotia b na 100 ebongolaka na 255, oyo ezali bongengi ya mobimba. Démonstration pratique oyo elakisi polele ndenge fonction map() ezali kosala processus ya kokamba ba sorties analogiques na ba valeurs ya pourcentage oyo ezali pete mpo na utilisateur.

Ba projets oyo etali vidéo oyo

Ba chapitres

  • [00:00] Introduction na cours ya Arduino na Robojax
  • [01:19] Nini ezali millis() mpe mpo na nini kosalela yango
  • [05:46] Ndakisa 1: Kosalela millis() mpo na événement oyo ezali na temps
  • [08:29] Ndakisa 2: Kosalela millis() na bouton ya pression
  • [12:14] Ndakisa 3: Koyeba pression ya deuxième ya bouton nsima ya délai
  • [17:20] Introduction na fonction map()
  • [19:47] Explication ya code mpo na ndakisa ya map()
  • [20:41] Démonstration ya bomoi ya fonction map()

Images

Sunfounder car assembled
Sunfounder car assembled
919-Lesson 14/31-4: Arduino coding map() example 1
Langue: C++
/*
Lesson 14/31: Arduino coding map( ) example-1
Get this code and watch video Download and resource page https://robojax.com/RJT597
YouTube video https://www.youtube.com/watch?v=lqgzQohNiIM
 
  
 * This code is "AS IS" without warranty or liability. Free to be used as long as you keep this note intact.* 
 * This code has been download from Robojax.com
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */
int LEDpin = 3; //defind pin for LED
                   
 
 void setup() {
    Serial.begin(9600);//initialize serial monitor with 9600 baud
    pinMode(LEDpin, OUTPUT);//set pin as output
    int b=8;//60% brightness
    int brightness = map(b, 0, 100, 0,255);
    Serial.println(brightness);//print it on serial monitor
    analogWrite(LEDpin, brightness);// turn the LED on with 60% brightness   
 }

 void loop() {

 
 }
 

Mokili na bisika

Fichiers📁

Manuel de l'utilisateur