+7 (977) 810-87-41
Как учиться?

Для обладателей наборов Роботы и устройства. Старт:

  1. Наш курс «Строим роботов и другие устройства на Arduino» начинается с простейших устройств и их программирования. Для практических задач первых двух недель набор «Старт» будет оптимальным решением.
  2. Примеры из Путеводителя, который лежал в вашем наборе, вы можете найти здесь.
  3. В этом разделе появляются новые примеры, которые вы можете попробовать с вашим набором. Ищите их по тегу «роботы и устройства».
  4. Используйте другие теги для фильтрации примеров по темам, которые для вас актуальны.
Лента примеров:
Индикатор погоды

weather

#define TEMP_PIN A0
#define LIGHT_PIN A1

#define DATA_PIN    13
#define LATCH_PIN   12
#define CLOCK_PIN   11

#define COLD 580
#define DARK 200
#define BRIGHT 800

byte scale = 0b00000000;// двоичное значение
int temp_point = 0;
int light_point = 0;

void setup() {
// сделаем порты выходами
  pinMode(DATA_PIN, OUTPUT);
  pinMode(CLOCK_PIN, OUTPUT);
  pinMode(LATCH_PIN, OUTPUT);

}

void loop() {
  int temperature = analogRead(TEMP_PIN);
  int light = analogRead(LIGHT_PIN);
  // не страшно, если про маску поймете не сразу!
  if (light < DARK) //если выполнено условие...
  {
    light_point = 7; // ...присвоим light_point значение
  }  // далее сложное условие с логическим И
  else if (light >= DARK && light < BRIGHT)
  {
    light_point = 3; // метка в другом положении
  }
  else
  {                  // число -- номер бита
    light_point = 0; // в маске шкалы,  
  }                  // соответствующий вывод  
  if (temperature < COLD)
  {                 // регистра будет включен
    temp_point = 2;
  }
  else
  {                         // второе положение для
    temp_point = 5;// метки освещенности
  }       
  scale = 0;  // очистим маску шкалы
  bitSet(scale, temp_point);   // запишем в маску
  bitSet(scale, light_point);  // обе метки
    // отправим маску в сдвиговый регистр
  digitalWrite(LATCH_PIN, LOW);
  shiftOut(DATA_PIN, CLOCK_PIN, LSBFIRST, scale);
  digitalWrite(LATCH_PIN, HIGH);
}