Lis ya 14/31-2: Ndakisa ya Arduino coding millis() na ndakisa 2 na likambo ya nsé.
Na boyekoli oyo, okoyekola ndenge ya kosalela millis() ya Arduino mpo na kobimisa likambo moko kaka nsima ya tango oyo esili, nyonso wana epekisaka te eteni mosusu ya programɛ na yo. Oyo ezali tekiniki ya libula mpo na kosala ba projets ya Arduino oyo ezali koyanola mbala moko, esika misala mingi esengeli kosalema na tango moko, lokola kopelisa ba LED wana ozali kotanga ba capteurs to kotalela ba boutons. Ndakisa oyo elobelaka mingi mpo na kobimisa likambo nsima ya secondes mitano, kasi logique yango ekoki kosalelama na ba situations ebele ya bomoi ya mokolo na mokolo.
Tala ba ndakisa misusu ya misala oyo okoki kosalela ndenge oyo na ba projets na yo:
- Kobimisa na boumeli: Pelisa fan moko to pompe moko kaka nsima ya système esili kosala na tango oyo ekomami.
- Ba interlocks ya libateli: Senga bouton moko epresama mpe ebatelama na boumeli moko liboso ya kosala likambo ya likama, lokola kopelisa moteur.
- Ba alertes ya tango: Bimisa alarme to notification soki lecture ya capteur ebongwani te na boumeli moko.
- Ba timers oyo epekisaka te: Sala timer ya "watchdog" oyo ezongisaka appareil soki ekomi koyanola te.
Problème ya libula oyo oyo esungaka ezali kozanga na delay(). Soki osaleli delay(5000), Arduino akosala ata eloko moko te na secondes wana mitano. Oyo ezali malamu mpo na ba sketches ya pete, kasi ekomi problème monene na ba projets ya mindondo esika osengeli kotanga ba capteurs, kobongisa ba écrans, to koyoka ba boutons wana ozali kozela. Fonction millis(), oyo ezali kotanga ba millisecondes wuta board ekomi na courant, epesaka yo nzela ya kotala tango wana epekisaka programɛ te.
Matɛriɛl oyo esengeli
- Board ya Arduino (Uno, Nano, Mega, etc.)
- Bouton moko ya pression
- Ba fils ya jumper
Guide ya câblage
Câblage mpo na ndakisa oyo ezali pete mingi. Ezali kosalela résistance ya pull-up ya intérieur, na yango résistance ya libanda esengeli te mpo na bouton.
- Kangisa lokolo moko ya bouton na pin GND ya Arduino.
- Kangisa lokolo mosusu ya bouton na pin digitale 2 ya Arduino.
Mpo tozali kosalela INPUT_PULLUP na code, pin yango ekotanga HIGH soki bouton epresami te mpe LOW soki epresami, mpe ekokangisa pin na terre. (na vidéo na 08:29)
Kososola Code
Code oyo emonisaka timer ya likambo ya pete. Programɛ ezali kotanga mbala na mbala valɛr ya millis()() na Serial Monitor. Soki bouton epresami mpe ebatelami, mpe Arduino esili kosala na secondes atako 5, ekokoma "Take action" na Serial Monitor. Likambo ya libula ezali ete millis() epekisaka te kotanga ya tango na mbala na mbala.
Tobuki ba parties ya code oyo moto akoki kobongola:
unsigned long event = 5000;// 5 secondes
Oyo ezali variable ya libula mpo na kobongola. Efinir durée ya "likambo" na yo na millisecondes. Na ndakisa oyo, ekomami 5000, oyo ekokani na secondes 5. Mpo na kobongola boumeli, bongola kaka nombre oyo. Na ndakisa, kokoma 10000 ekosalela ete likambo libima nsima ya secondes 10. Ezali malamu mingi kosalela type ya données unsigned long, mpo valɛr ya millis() ekoki kokola mingi mpe ekokende koleka valɛr ya maximum ya variable int ya standard, mpe yango ekoki kobimisa ba erreurs na comparaison. (na vidéo na 05:46)
pinMode(2,INPUT_PULLUP);
Ligne oyo ekonfigurɛ pin digitale 2 lokola entrée mpe epelisi résistance ya pull-up ya intérieur na yango. Oyo ezali étape ya libula ya configuration oyo epesaka yo nzela ya kokangisa bouton na résistance ya libanda te. Pin yango ekotanga HIGH na ndenge ya libanda mpe ekokende LOW soki bouton epresami, mpe ekokangisa na terre. Soki olingi kosalela pin mosusu, bongola nombre 2 awa mpe na ligne digitalRead(2) na intérieur ya boucle. (na vidéo na 08:46)
Logique na intérieur ya loop() ezali pete. Etangaka état ya bouton. Soki bouton epresami (pb == LOW), etyelaka mpe soki tango ya sik’oyo (millis()) ezali monene to ekokani na tango ya event na yo. Soki ba conditions nyonso mibale ezali solo, ekomaka message ya likambo. Eteni mosusu ya boucle, oyo ezali kotanga tango, ekotikala kosala na ndenge ya libela, mpe yango emonisaka nguya ya millis() koleka delay().
Ndkasa oyo etalaka tango wuta Arduino ebandi. Ndakisa ya misato na série ya vidéo ezali kolongola yango na kokoma tango ya pression ya liboso ya bouton mpe kobimisa likambo kaka soki pression ya mibale esalemaki na boumeli ya secondes 5 nsima. Logique yango elobami na Lesson 14/31-3: Arduino coding millis() example 3 with push button.
Démonstration ya Projet na Bomoi
Soki okotisi code mpe ofungoli Serial Monitor (na 9600 baud), okomona ba nombres oyo ezali kotanga na mbala na mbala, oyo ezali kotalisa ba millisecondes wuta board ekomi na courant. Soki opresi mpe obateli bouton liboso secondes 5 esila, eloko moko te ekosalema. Kasi, soki opresi mpe obateli bouton nsima ya secondes 5, okomona message "Take action" ekomami na Serial Monitor. Likambo yango ekokoba kokoma mpe kokoma tango nyonso bouton ebatelami. Oyo emonisaka timer oyo epekisaka te oyo epesaka nzela na code mosusu (kotanga) kosala na ndenge ya malamu. (na vidéo na 10:52)
Misála oyo etali masolo oyo ezali na vidéo oyo
Vidéo oyo ezali eteni ya lisanga ya ba vidéo ebele na tina ya ba fonctions ya timing mpe mapping ya Arduino. Tala ba tutoriels mosusu oyo esalemaki longwa na materiau oyo esengeli:
- Liteya 14/31-1: Arduino Millis (no delay) mpe ba fonctions ya map | SunFounder Robojax
- Liteya 14/31-3: Arduino coding millis() ndakisa 3 na bouton ya kopusha
- Liteya 14/31-4: Arduino coding map() ndakisa 1
- Liteya 14/31-5: Arduino coding map() ndakisa 2
Bikabu
- [00:00] Bokɔti na millis() mpe SunFounder Kit
- [01:19] Nini millis() mpe mpo na nini kosalela yango esika ya delay()?
- [03:06] Ndimbola ya misala: kobimisa valɛr ya millis()
- [05:46] Kosala likambo moko na millis() mpe unsigned long
- [08:29] Kokangisa mpe kokoma code ya bouton na INPUT_PULLUP
- [10:52] Kotambwisa ndakisa ya likambo na bouton ya kopusha
- [12:14] Liboso ya ndakisa 3: koyeba tango ya kopusha bouton mbala ya mibale
- [17:20] Bokɔti na fonction map()
- [19:47] Kokoma code mpe kolakisa fonction map() na LED
/*
Lesson 14/31: Arduino coding millis() example 2 with event
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/>.
*/
unsigned long event = 5000;// 5 seconds
void setup() {
Serial.begin(9600);//initialize serial monitor
Serial.println("Introduction to millis");
pinMode(2,INPUT_PULLUP);
}
void loop() {
// Robojax.com millis() example 1
Serial.println(millis());
int pb = digitalRead(2);// read pin 2
if(pb ==LOW)
{
if(millis() >= event)
{
Serial.println("Take action");
}// if end
}// if end
}// loop end
Nko o na nki.
-
AmazonSunFounder Arduino Learning Kit on AliExpresss.click.aliexpress.com
-
Amazon
-
Amazon
-
Amazon
-
Amazon
-
Autre
Mokili na bisika
-
L'extérieurPurchase SunFounder's 3-in-1 Smart car learning kitsunfounder.com
Fichiers📁
Manuel de l'utilisateur
-
SunFounder 3-in-1 Arduino Smart Car assembly manualThis document shows step by step assembly of SunFounder 3-in-1 Arduino Smart Car
SunFounder_car_assembly_manual.pdf1.20 MB