Самоделкин
Главная страница

1. Программирование на Scratch

Введение

Первая программа

Кот и Бизон
Кот и Пес

Мультик с костюмами

Приключения Котенка
Мультик с приведениями

Игра с минами

Мультик про бабочку
Мультик про пчелку
Игра с двумя уровнями
Игра про волшебника
Кот математик
Кот с реактивным ранцем
Общение с персонажем
Викторина
Игра платформер
Кошачий боулинг
 

3. Программирование на S4A

Введение
Маячок
Нарастающая яркость
Управляемая яркость
Бегущий огонек
Секундомер
Ночной светильник
Кнопочный переключатель

 

Программирование на Arduino IDE

Эксперимент. Arduino и ультразвуковой датчик расстояния HC-SR04

Датчик имеет 4 вывода:

  • VCC: "+" питание
  • TRIG (T): вывод входного сигнала
  • ECHO (R): вывод выходного сигнала
  • GND: "-" питание

Для эксперимента нам понадобятся

  • Плата Arduino UNO R3 (или ее аналог)
  • Ультразвуковой датчик расстояния HC-SR04 (Ultrasonic Sensor)
  • 1 красный светодиод
  • 1 зеленый светодиод
  • 2 резистора по 220 Ом
  • Макетная плата
  • 8 проводников папа-папа
  • Линейка для измерения расстояния

 

Для удобства приводим схему подключения светодиода на Arduino:

Принципиальная схема

Схема на макетке

 

Подключаем компоненты с помощью проводников так, как указано на рисунке. Ничего особенного в подключении датчика нет. Для приемника используется один пин, для передатчика, который генерирует ультразвук, второй.

Программа       

     Для реализации нашего простенького, но наглядного эксперимента, достаточно написать приведенный ниже скетч и загрузить его на плату через Arduino IDE.

/*

HC-SR04 ультразвуковой датчик расстояния

VCC подключается к пину 5v, GND к GND на плате Arduino

Echo к 13 пину на Arduino Trig к 12 пину на Arduino

Позитивная нога красного светодиода к 11 пину на Arduino

Позитивная нога зеленого светодиода к 10 пину на Arduino

Резисторы на 220 Ом к обеим отрицательным ногам светодиодов и рельсе GRD на макетной плате

*/

#define trigPin 8  /* Обозначаем пин подачи импульса*/

#define echoPin 9  /* Обозначаем пин приема импульса*/ 

#define led 12

#define led2 13

void setup() {

Serial.begin (9600);  /* устанавливаем скорость порта */

pinMode(trigPin, OUTPUT);  /*инициируем как выход */

pinMode(echoPin, INPUT);  /*инициируем как вход */

pinMode(led, OUTPUT);

pinMode(led2, OUTPUT);

}

void loop() {

long duration, distance;

digitalWrite(trigPin, LOW);   // Отключаем подачу импульса

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);  /* Подаем импульс на вход trig дальномера */

delayMicroseconds(10);  /* Импульс длится 10 микросекунд */

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);  /*Принимаем импульс и подсчитываем его длину*/

distance = (duration/2) / 29.1;  Пересчитываем его значение в см

if (distance < 4) { // На этом этапе происходит вкл/выкл светодиода

digitalWrite(led,HIGH); // когда загорается красный, зеленый обязан выключится

digitalWrite(led2,LOW); } else { digitalWrite(led,LOW); digitalWrite(led2,HIGH); } if (distance >= 200 || distance <= 0){

Serial.println("Out of range"); // Можно придумать что-то на русском – вроде "Вне диапазона"

}

else {

Serial.print(distance);

Serial.println(" cm"); // тут тоже можно указать " см"

}

delay(500);

}

2. Схемотехника

Введение

Понятие электричества

Принципиальные схемы
Законы электричества
Управление электричеством
Делитель напряжения
Быстрая сборка схем
Конденсатор
Резистор
Диод
Светодиод
Светодиодные сборки
Тактовая кнопка
Биполярный транзистор
Полевой транзистор
Пьезодинамик
Мотор
 

4. Программирование на Arduino IDE

Введение
Маячок
Нарастающая яркость
Управляемая яркость
Бегущий огонек
Секундомер
Ночной светильник
Кнопочный переключатель
Датчик расстояния
Датчик влажности
Датчик движения
Датчик детектор линии
Пьезоизлучатель
Драйвер двигателя