Привет всем! Где-то 2 года назад я вечером я достал банку с компотом из холодильника. Пока пил компот заметил что на банке появляется конденсат и тут меня осенило что конденсат можно пустить в дело и сделать какойнибудь аппарат для получения воды. Проводил кучу всяких эксперементов. Тогда я еще не знал о элементах пельтье и для получения экзотермической реакции я использовал силитру амеачную. И вот через 3 месяца аппарат был готов. Аппарат был крайне не удобен в использование силита быстро раствогялась и разедала все что было железное. Вскоре я узнал о элементах пельтье и я опять взялся за дело. Набрасал небольшой код, но проверить пока не могу. Это стройво очень полезно в походах. Ёмкость пока около 1.5литров Вот скеч int thermocouple = 9; int thermocouplePin = 10; int redLed = 8; int greenLed = 7; int compressor = 6; int led = 13; int compressorled = 13; void setup() { pinMode(thermocouple , OUTPUT); pinMode(thermocouplePin , INPUT); pinMode(redLed, OUTPUT); pinMode(greenLed, OUTPUT); pinMode(compressor, OUTPUT); pinMode(led, OUTPUT); pinMode(compressorled, OUTPUT); //готовность устройсва digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); //включаем компрессор digitalWrite(compressorled, HIGH); digitalWrite(compressor, HIGH); delay(5000); digitalWrite(compressorled, LOW); digitalWrite(compressor, LOW); //выключаем компрессор } void loop(){ //вкючаем элемент пельтье на нангрев digitalWrite(thermocouple, HIGH); digitalWrite(thermocouplePin, LOW); digitalWrite(redLed, HIGH); delay(300000); digitalWrite(redLed, LOW); digitalWrite(thermocouple, LOW); digitalWrite(thermocouplePin, LOW); //выкючаем элемент пельтье //включаю элемент пельтье на охлождение digitalWrite(thermocouple, LOW); digitalWrite(thermocouplePin, HIGH); digitalWrite(redLed, HIGH); delay(300000); digitalWrite(redLed, LOW); digitalWrite(thermocouple, LOW); digitalWrite(thermocouplePin, LOW); //выкючаем элемент пельтье на нангрев }
Для выполнения одинаковых/однообразных действий лучше использовать циклы - это улучшает читаемость кода и экономит память. Вместо Код (C): /готовность устройсва digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); лучше написать так: Код (C): //готовность устройсва for(int i = 0; i < 4; i++) { digitalWrite(led, HIGH); delay(1000); digitalWrite(led, LOW); delay(1000); } или так: Код (C): //готовность устройсва for(int i = 0; i < 8; i++) { digitalWrite(led, (i & 0x1) != 0x1); delay(1000); }