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

Вопросы по программированию Arduino.

По какой причине не работает код?

#include <Servo.h>
 
int BUTTON = 8;
Servo Servo;
void setup()
{
  pinMode(button, INPUT);
  Servo.attach(9);
  servo.write(0);
}
 
void loop() {
if(digitalRead(button)==HIGH){
servo.write(180);
  delay(2000);
}
  else {
servo.write(0);
  }
}

Обратная пропорциональность

Есть функция -

void input (input)  
{
 freq = 65535 / b;
	    if (millis() - previousMillis > freq) {
	      previousMillis = millis();
	      if (value == LOW)
	        value = HIGH;
	      else
	        value = LOW;
	      digitalWrite(3, value);
}

где input - число от 0 до 65535, надо моргать светодиодом обратно пропорционально данному числу, правильно ли я рассчитываю переменную freq ибо нет ни какой линейности при данном подсчете?

какбы должно быть как то так -

при input = 0 freq = 65535

Разбор ответа от SIM900

Задался целью настраивать некоторые параметры контроллера при помощи SIM900. В ответ на команду получаю вот такие строки.

+HTTPREAD:13
50,40,35,30.
OK

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

Вопрос. Как считать только вторую строку?

На простотах интернета нашел вот такой парсер, думаю многим будет полезен.

Логгер данных на sd карту (gps логгер)

Собственно есть код gps логгера на NEO 6MV. Данные записывает при включении на sd карту. Создается файл LOG.GPS и все что приходит в виртуальный serial записывается на карту. Если этот файл уже есть, дописывается в него. 

Как сдедать так, что при каждом включении будет создаваться новый файл (LOG1.GPS ; LOG2.GPS и т.д)?

 

RFID считыватель + серво + кнопка для считывание состояние двери открыта или закрыта.

Я нашел скейч рфид считыватель и серво скейчь вот такой  

#include <Servo.h> 

ESP8266 + Arduino Serial

Здравствуйте Уважаемые форумчане! Мне нужна помощь с подсказкой по следующему:

Есть два модуля ESP8266 и одна ардуина. 

Один модуль ESP8266 отправляет UDP с показаниями температуры и влажности, другой модуль их принимает и выводит полученное в сериал.

Стоит задача в том чтоб тот модуль который принял UDP с данными отправил их ардуине подключенной по сериал к нему которая в свою очередь выводит все показания на подключенный к ней дисплей и включит или выключит реле если ето необходимо. Ето все будет управлять отоплением в квартире.

Скоростимер на HC-SR04

Здравствуйте уважаемые форумчане!

Возникла необходимость измерения скорости опускания гидравлической рамы, поскольку есть подозрения, что опускание идет не равномерное. Скорость опускания должна быть в пределах 20-40 мм/мин. Возможно ли приспособить HC-SR04 для этих целей? Если - да, то как это реализовать в скетче?

Заранее благодарю за любые комментарии.

Не могу понять в чём проблема

#include <SPI.h>
#include <Ethernet.h>
#include "DHT.h"

#define DHTPIN 2

//выбор используемого датчика
#define DHTTYPE DHT11

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Мак адрес
byte ip[] = { 192, 168, 1, 177 }; // IP адрес (В броузере вводим 192.168.0.2)
EthernetServer server(80);

int numPins = 2;
int pins[] = { 3, 4, };    // Пины для реле
int pinState[] = {0, 0 };  // Состояние реле
const int button1Pin = 11;  // Пины кнопок
const int button2Pin = 12;
int button1State = 0;
int button2State = 0;

Получение данных с датчика pulse sensor

Нужно реализовать подсчет ЧСС с помощью инфракрасного датчика пульса. Arduino nano 328p + IDE 1.6.13

Вариант 1: Библиотека http://iarduino.ru/file/261.html

#include <iarduino_SensorPulse.h>  
iarduino_SensorPulse Pulse(A2); 

void setup() {
  Pulse.begin();
  Serial.begin(9600);
}

void loop() {
  Serial.println(Pulse.check(ISP_PULSE));
}

Результат - в порт пишутся нули

Вариант 2: Пример https://github.com/WorldFamousElectronics/PulseSensor_Amped_Arduino