Не отступай и не сдавайся !!! |
|
|
Ардуино, ESP32, ESP8266, LoRa. Обучение. Моделирование. Программирование под заказ.
|
|
Измерение и контроль параметров: температура, влажность, освещённость, давление, наличие напряжения, датчик движения, тревожная кнопка (дача, квартира, дом, цех, теплица, офис). Выдача измеренных параметров на персональную страницу в Интернете, на планшет, в смартфон. В случае выхода параметров за заданные границы - оповещение по электронной почте, sms. |
|
Управление двигателем постоянного тока
// Вопросы
// - как разместить блок по центру экрана?
// - как обепечить автоматический перенос текста по размерам блока (внутри блока)?
#define PinData 10 // пин данных Ардуино. Соединяется с 14 выв (DS) регистра первого каскада
// Для последующих каскадов pin9 регистра предыдущего каскада соединяется
// с 14 выв (DS) регистра следующего каскада
#define PinClock 12 // пин тактов синхронизации. Соединяется с 11 выв (SHCP) регистров всех каскадов
#define PinLatch 11 // пин защелки. Соединяется с 12 выв (STCP) регистров всех каскадов
byte b[6] =
{
// байты, который будут последовательно циклически выводиться в регистре
0b00000000,
0b11111111,
0b11110000,
0b00001111,
0b10101010,
0b01010101,
};
void setup()
{
pinMode(PinData, OUTPUT); // инициализация пинов
pinMode(PinClock, OUTPUT);
pinMode(PinLatch, OUTPUT);
digitalWrite(inLatch, HIGH);
}
void loop()
{
static byte i = 0;
out_595_shift(b[i]); // передача байта на регистр
i = i == 5 ? 0 : i + 1; // подготовка следующего байта
delay(1000); // задержка между установками 1 сек
}
void out_595_shift(byte x)
{
digitalWrite(PinLatch, LOW); // "открываем защелку"
shiftOut(PinData, PinClock, LSBFIRST, x); // "отправляем данные"
digitalWrite(PinLatch, HIGH); // "закрываем защелку", выходные ножки регистра установлены
}
Похожие запросы по теме:
|