Blikanie LED diódou pripojenou k digitálnemu výstupu

int  ledPin  =  11 ;   // vyberie pin pre pripojené LED diódy

void  setup ()
{
pinMode ( ledPin , OUTPUT );  // nastaví ledPin ako výstupné } void loop ()
{ digitalWrite ( 11 , HIGH );   // rozsvieti LED diódu, HIGH nastavuje výstupné napätie delay ( 1000 );              /* nastaví dobu svietenia
na 1000ms (1s)*/
digitalWrite ( 11 , LOW );    // vypne LED diódu, LOW nastaví výstupné napätie na 0V delay ( 1000 );              // nastaví dobu svietenia }

semafor

// Nastavíme piny pripojených LED diód
int  cervenaled  =  9 ;
int  oranzovaled  =  10 ;
int  zelenaled  =  11 ;

void  setup ()
{ // Nastavíme zapojené piny ako výstupné  pinMode ( cervenaled , OUTPUT ); pinMode ( oranzovaled , OUTPUT ); pinMode ( zelenaled , OUTPUT ); }
void loop ()
{     // Tu nastavujeme v akom poradí       // a po akú dobu budú LED diódy svietiť      digitalWrite ( cervenaled , 1 );     delay ( 9000 );     digitalWrite ( oranzovaled , 1 );     delay ( 1000 );     digitalWrite ( cervenaled , 0 );     digitalWrite ( oranzovaled , 0 );          digitalWrite ( zelenaled , 1 );     delay ( 9000 );     digitalWrite ( zelenaled , 0 );   digitalWrite ( oranzovaled , 1 );     delay ( 3000 );     digitalWrite ( oranzovaled , 0 ); }

Semafory s tlačidlom

Princíp programu je jednoduchý. Autá majú zelenú, po 10 sekundách od stlačenia tlačidla naskočí oranžová a červená. Nasleduje 2 sekundy oneskorenie a po nej majú chodci zelenú na dobu 9 sekúnd. Potom 5 sekúnd červená na oboch semaforoch a následne ich opäť zelená pre autá kým znova nestlačíte tlačidlo.

// Nastavenie pinov LED diód a tlačidlá 
// CL = červená LED, OL = oranžová LED, atď .. 
int  CL  =  9 ; 
int  OL  =  10 ; 
int  ZL  =  11 ; 
int  prechodC  =  5 ;  // semafor pre chodcov má iba 2 LED diódy 
int  prechodZ  =  6 ; 
int  tlacitko  =  2 ; 
int  stavTlacitka  =  0 ;  // premenná pre zmenu stavu tlačidlá

void  setup ()
{ // nastavenie pinov LED diód ako výstupné a tlačidlá vstupné: pinMode ( CL , OUTPUT ); pinMode ( OL , OUTPUT ); pinMode ( ZL , OUTPUT ); pinMode ( prechodC , OUTPUT ); pinMode ( prechodZ , OUTPUT ); pinMode ( tlacitko , INPUT ); } void loop ()
{ // Tento príkaz číta zmenu stavu tlačidla: stavTlacitka = digitalRead ( tlacitko ); // Používame podmienku if (ak) a else (ostatné možnosti): if ( stavTlacitka == HIGH ) { // Keď stlačíme tlačidlo, // stanú sa nasledujúce akcie delay ( 10000 ); digitalWrite ( ZL , LOW ); digitalWrite ( OL , HIGH ); delay ( 2000 ); digitalWrite ( OL , LOW ); digitalWrite ( CL , HIGH ); delay ( 2000 ); digitalWrite ( prechodC , LOW ); digitalWrite ( prechodZ , HIGH ); delay ( 9000 ); digitalWrite ( prechodZ , LOW ); digitalWrite ( prechodC , HIGH ); delay ( 5000 ) ; digitalWrite ( OL , HIGH ); delay ( 2000 ); digitalWrite ( OL , LOW );
} else
{ // Ak nedôjde k stlačeniu tlačidla, // platí nasledovné príkazy digitalWrite ( CL , LOW ); digitalWrite ( ZL , HIGH ); digitalWrite ( prechodC , HIGH ); }

Melódia hraná z piezo reproduktora

# Include "pitches.h" /* pridá k programu potrebný súbor,
ktorý udáva hodnotu daného tónu*/
// noty, ktoré melódie obsahuje int melódie [] =
{ NOTE_C4 , NOTE_G3 , NOTE_G3 , NOTE_A3 , NOTE_G3 , 0 , NOTE_B3 , NOTE_C4 }; // udáva časovanie not: 4 je nota štvrťová, 8 potom nota osminová int casovaniNot [] =
{ 4 , 8 , 8 , 4 , 4 , 4 , 4 , 4
}; void setup ()
{ for ( int Nota = 0 ; Nota < 8 ; Nota ++ ) {   // výpočet dĺžky zvuku jednej noty vypočítame tak, že vydelíme 1000 / noteDurations  //napr.1000/4 alebo 1000/8       int casovaniNoty = 1000 / casovaniNot [ Nota ];   // prvý číslom v zátvorke určujeme digitálny pin pre výstup  
tone ( 7 , melódie [ Nota ], casovaniNoty );   // pre rozlíšenie not nastavte pauzyMeziNotami * 1.30     int pauzyMeziNotami = casovaniNoty * 1.30 ;   delay ( pauzyMeziNotami );   // zastaví melódiu  Noton ( 8 ); } } void loop () { // ak nechcete melódiu opakovať, tak funkciu loop nechajte prázdnu }

RGB LED zmena farieb

int redPin= 7;
int greenPin = 6;
int bluePin = 5;

void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
}

void loop() {
setColor(255, 0, 0); // červená farba
delay(1000);
setColor(0, 255, 0); // zelená farba
delay(1000);
setColor(0, 0, 255); // modrá farba
delay(1000);
setColor(255, 255, 255); // biela farba
delay(1000);
setColor(170, 0, 255); // fialová farba
delay(1000);
}

void setColor(int redValue, int greenValue, int blueValue)
{
analogWrite(redPin, redValue);
analogWrite(greenPin, greenValue);
analogWrite(bluePin, blueValue);
}

RGB lLED pásik

#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6 
#define NUMPIXELS 16

Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

#define DELAYVAL 500 /* Čas (v milisekundách) na
prestávku medzi pixelmi*/
void setup() { #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif
pixels.begin();
} void loop() { pixels.clear(); /* Nastaví všetky farby pixelov na
„vypnuté“ */
//Prvý NeoPixel v reťazci je # 0, druhý je 1 for(int i=0; i<NUMPIXELS; i++){ // Pre každý pixel

// Tu používame stredne jasnú zelenú farbu:
pixels.setPixelColor(i, pixels.Color(0, 150, 0));
pixels.show(); /* Pošle aktualizované farby pixelov na
hardvér. */

delay(DELAYVAL); // Pauza pred ďalším opakovaním
} }

LCD display

#include <LiquidCrystal.h>
// inicializuje knižnicu priradením všetkých potrebných pinov rozhrania LCD // s číslom pinu arduino, ku ktorému je pripojený
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

void setup() {
// nastavenie počtu stĺpcov a riadkov LCD:
lcd.begin(16, 2);
// Vytlačí správu na LCD.
lcd.print(„hello, world!“);
}

void loop() {
// Vypnutie displeja:
lcd.noDisplay();
delay(500);
// Zapnutie displeja:
lcd.display();
delay(500);
}

LCD teplomer pomocou senzoru temp36

#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
int sensorPin = 0; 
void setup()
{
  lcd.begin(16, 2);                         
}
 
void loop()                     
{
lcd.clear();
int reading = analogRead(sensorPin);  
float voltage = reading * 5.0;
voltage /= 1024.0; 
float temperatureC = (voltage - 0.5) * 100 ; 
float temperatureF = (temperatureC * 9.0 / 5.0) + 32.0;
lcd.print(temperatureF); 
lcd.println(" degrees F ");
lcd.setCursor(0,1);
lcd.print(temperatureC);
lcd.println(" degrees C ");
delay(1000);
}

Analógové čítanie z potenciometra

void setup() {
// inicializuje sériovú komunikáciu rýchlosťou 9600 bitov za sekundu:
Serial.begin(9600);
}

// rutina cyklu beží navždy dookola:
void loop() {
// načítanie vstupu na analógovom kolíku 0:
int sensorValue = analogRead(A0);
// vytlačiť prečítanú hodnotu:
Serial.println(sensorValue);
delay(1); // oneskorenie medzi načítaniami kvôli stabilite
}

indikácia teploty pomocu led diód

const int led1= 9;
const int led2= 8;
const int led3= 7;
const int led4= 6;
const int led5= 5;
const int led6= 4;
const int led7= 3;
const int led8= 2;
const int led9= 1;
const int led10= 0;

// Deklarujte premenné pre reguláciu teploty
int pot_regulador= 0;
int ajuste_de_temp= 0;

// Deklaruje led ako výstupy
void setup()
{ pinMode(led1, OUTPUT); pinMode(led2, OUTPUT); pinMode(led3, OUTPUT); pinMode(led4, OUTPUT); pinMode(led5, OUTPUT); pinMode(led6, OUTPUT); pinMode(led7, OUTPUT); pinMode(led8, OUTPUT); pinMode(led9, OUTPUT); pinMode(led10, OUTPUT); } // hlavný program void loop()
{ // načíta napätie zo snímača teploty a transformuje sa na Celzia int reading = analogRead(Temperatura); float voltage = reading * 5.0; voltage /= 1024.0; float TemperaturaC = (voltage - 0.5) * 100 ; }
// Táto časť slúži na reguláciu teploty

  pot_regulador=analogRead(potenciometro);
  ajuste_de_temp=pot_regulador/30;
  delay(50);

// je načítaná teplota a LED diódy sa rozsvietia pre teplotu, ktorá sa meria

  if(TemperaturaC<(10-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, LOW);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led8, LOW);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);

  }
  else if(TemperaturaC<(20-ajuste_de_temp) && TemperaturaC>(10-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, LOW);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led8, LOW);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);
  }
  else if(TemperaturaC<(30-ajuste_de_temp) && TemperaturaC>(20-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, LOW);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led8, LOW);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);
  }
  else if(TemperaturaC<(40-ajuste_de_temp) && TemperaturaC>(30-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, LOW);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led8, LOW);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);
  }
  else if(TemperaturaC<(50-ajuste_de_temp) && TemperaturaC>(40-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, LOW);
      digitalWrite(led7, LOW);
      digitalWrite(led8, LOW);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);
  }
  else if(TemperaturaC<(60-ajuste_de_temp) && TemperaturaC>(50-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, LOW);
      digitalWrite(led8, LOW);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);
  }
    else if(TemperaturaC<(70-ajuste_de_temp) && TemperaturaC>(60-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, LOW);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);
  }
    else if(TemperaturaC<(80-ajuste_de_temp) && TemperaturaC>(70-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, HIGH);
      digitalWrite(led9, LOW);
      digitalWrite(led10, LOW);
  }
    else if(TemperaturaC<(90-ajuste_de_temp) && TemperaturaC>(80-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, HIGH);
      digitalWrite(led9, HIGH);
      digitalWrite(led10, LOW);
  }
  else if(TemperaturaC<(100-ajuste_de_temp) && TemperaturaC>(90-ajuste_de_temp)){
      digitalWrite(led1, HIGH);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, HIGH);
      digitalWrite(led9, HIGH);
      digitalWrite(led10, HIGH);
  }
}

jednoduchý milis

const int ledPin = 13; // the number of the LED pin
int ledState = LOW; // ledState used to set the LED
long previousMillis = 0; // will store last time LED was updated
// nasledujúce premenné sú dlhé, pretože čas meraný v milisekundách,
// sa rýchlo stane väčším číslom, ako je možné uložiť v int.
long interval = 1000; // interval at which to blink (milliseconds)

void setup()
{
// nastaví digitálny pin ako výstup:
pinMode(ledPin, OUTPUT);
}

void loop()
{
unsigned long currentMillis = millis();

if(currentMillis - previousMillis > interval)
{
previousMillis = currentMillis;// if the LED is off turn it on and vice-versa:
if (ledState == LOW)
ledState = HIGH;
else
ledState = LOW;
// nastavý LED s ledState premennej:
digitalWrite(ledPin, ledState);
}

}

príklad na prerušenie

#define LED_PIN 9
#define BUTTON_PIN 3
volatile byte ledState = LOW;
 
void setup() {
pinMode(9, OUTPUT);   //nastaví pin 9 ako výstup
pinMode(3, INPUT);     //nastaví pin 3 ako vstup
 
attachInterrupt(digitalPinToInterrupt(3), blinkLed, RISING);   /*program sa preruší a prejde na „void blinkled“ keď na pine 3
    nastane zmena z LOW na HIGHT *//
}
 
void loop() {
}
 
void blinkLed() {
ledState = !ledState;          //prepne stav, kedy dôjde k prerušeniu
digitalWrite(9, ledState); //rozsvieti led diódu
}