Песочница. Раздел для новичков

Тахометр с входом синхронизации

Доброго времени суток.

Интересует тахометр, но с измерением не в об/мин а об/импульс.

То есть измеритель количества импульсов на входе 1 в промежутке времени между импульсами на входе 2.

Надеюсь доступно обьяснил.

Может кто подскажет ссылку на похожее.

Спасибо!

З.Ы. Если тему создал не в том разделе, прошу модератора перенести в соответствующий. Спасибо за понимание. Я новичек.

Помогите со скетчем

int timer = 100;
int button = 0;
int buttonState = 0;
void setup() {
  Serial.begin (9600);
  for (int thisPin = 2; thisPin < 8; thisPin++) {
    pinMode(thisPin, OUTPUT);
  }
}
 
void loop() {
  buttonState = digitalRead(button);
  if(buttonState == HIGH) {
  
  for (int thisPin = 2; thisPin < 8; thisPin++) {
    
    digitalWrite(thisPin, HIGH);
    delay(timer);
    
    digitalWrite(thisPin, LOW);
    
  }
 
 
  for (int thisPin = 7; thisPin >= 2; thisPin--) {
   
    digitalWrite(thisPin, HIGH);
    delay(timer);
   

Временная задержка на микроконтроллерах

Планирую в своём проекте использовать attiny13a. Подскажите, есть ли временная задержка между подачей питания на микроконтроллер и собственно началом выполнения заложенной в него программы? И если есть, то какая?

В Serial показания датчиков выводит - на ST7735 нет.

#include <SFE_BMP180.h> 
#include <Wire.h> 
#include <DS3231.h> 
#include <DHT.h> 
#include <TFT.h> 
#include <SPI.h> 

#define cs 10  
#define dc 9 
#define rst 8

SFE_BMP180 pressure;  
int DHTPIN = 2;
DHT dht(DHTPIN, DHT22); 
unsigned long sec_60;  
TFT TFTscreen = TFT(cs, dc, rst); 
DS3231 clock; 
RTCDateTime dt;

void setup() {
  Serial.begin(9600);
  dht.begin();
  pressure.begin();
  TFTscreen.begin();
  clock.begin(); 
  // Manual (YYYY, MM, DD, HH, II, SS

Не могу понять данную структуру

Здравствуйте, уважаемые форумчане. Нашел интересный код, но не могу понять одну конструкцию.
 

#define SIZE_TX_BUFFER 64
#define SIZE_RX_BUFFER 128

struct txBuffer_s
{
	uint8_t buffer[SIZE_TX_BUFFER];
	uint8_t tail;
	uint8_t head;
};

struct rxBuffer_s
{
	char buffer[SIZE_RX_BUFFER];
	uint8_t count;
};

struct rxBuffer_s rxBuffer = {{0},0};    // Выходной буфер USARTа.
struct txBuffer_s txBuffer = {{0},0,0};  // Входной буфер USARTа.

 

Мне не понятна эта часть:

Работа с TFT дисплеем

Здравствуйте!

Начал работать с ардуино 2 недели назад.

Хотел выводить показатели с датчика температуры и влажности на TFT дисплей.

Показатели выводятся,но при обновлении данных экран моргает.

Хотелось бы устранить эту проблему,имхо сильно режет глаз,но никак не получается.

Вот скетч :

Непонятна схема подключения

Помогите понять, почему на схеме резистор подключен к заземлению?

Плавающий контакт: ложное нажатие кнопки

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

- Значения (analogRead) ложных нажатий и контролируемых мной - одинаковы
- Подтягивающий резистор не решает проблему
- Использование delay неуместно
- Триггера Шмидта в наличии нет

Необходимо либо избавиться от случайных сигналов, либо дать понять микроконтроллеру, где "мои" нажатия, а где - случайные

Проблемы с циклом FOR

for(key.keyByte[0]=0x00; key.keyByte[0]<0xFF; key.keyByte[0]+=0x01)
{
  for(key.keyByte[1]=0x00; key.keyByte[1]<0xFF; key.keyByte[1]+=0x01)
  {
    for(key.keyByte[2]=0x00; key.keyByte[2]<0xFF; key.keyByte[2]+=0x01)
    {
      for(key.keyByte[3]=0x00; key.keyByte[3]<0xFF; key.keyByte[3]+=0x01)
      {
        for(key.keyByte[4]=0x00; key.keyByte[4]<0xFF; key.keyByte[4]+=0x01)
        {
          for(key.keyByte[5]=0x00; key.keyByte[5]<0xFF; key.keyByte[5]+=0x01)// FE not FF