Skip to content

Instantly share code, notes, and snippets.

@gabrielsaints
Created October 4, 2018 00:59
Show Gist options
  • Save gabrielsaints/6ab2fbe18999792911c7d9698d76ca7f to your computer and use it in GitHub Desktop.
Save gabrielsaints/6ab2fbe18999792911c7d9698d76ca7f to your computer and use it in GitHub Desktop.
arduino program
//int devs[] = {2, 3, 5, 6, 9, 10, 4};
int devs[] = {0, 6, 10, 9, 3, 5, 4, 0, 2};
int count = (sizeof(devs) / sizeof(int));
#include "DHT.h"
int DHTPIN = 11;
int DHTTYPE = DHT22;
DHT dht(DHTPIN, DHTTYPE);
void setup()
{
Serial.begin(9600);
for(int devn = 0; devn < count; devn++)
{
pinMode(devs[devn], OUTPUT);
}
dht.begin();
}
void readStringBytes(byte buffer[])
{
buffer[0] = Serial.readStringUntil(':').toInt();
buffer[1] = Serial.readStringUntil(';').toInt();
}
int in1 = 13;
int in2 = 12;
int enA = 8;
unsigned long int lastTime = 0;
void loop()
{
if(Serial.available())
{
int devn;
char read = Serial.read();
switch(read)
{
case '>':
byte desc[2];
readStringBytes(desc);
devn = desc[0];
if(devn > count - 1 || devn < 0)
{
Serial.print("Invalid device.");
}
else
{
Serial.print("Device: ");
Serial.print(devn);
Serial.print("\nValue: ");
Serial.print(desc[1]);
analogWrite(devs[devn], desc[1]);
}
Serial.print("\n=====\n");
break;
case 'a':
case 'f':
if(read == 'a')
{
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
}
else
{
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
}
// analogWrite(enA, 128);
digitalWrite(enA, HIGH);
lastTime = millis();
break;
case 't':
Serial.print(dht.readTemperature());
Serial.print("/");
break;
case 'h':
Serial.print(dht.readHumidity());
Serial.print("\n");
break;
}
}
if(millis() > lastTime + 1000)
{
digitalWrite(enA, LOW);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment