На фото толком не видно что куда подключено. Вроде бы все куда нужно включено, но полностью не могу разглядеть. Попробуйте все отключить, проверить разводку питания и подключить все обратно по одному прибору за раз, проверяя работу после каждого подключения.
Греется только ардуина или макетки тоже? Попробуйте откатиться на шаг назад и проверить все датчики и ленту по отдельности. Если от ардуины отключить вообще все (кроме питания), она все равно греется? Если подключать устройства по одному, после подключения какого из них начинается нагрев?
мы нашли одну ошибку в коде-там red и blue были вставлены в один пин,поменяли пин и перебили в коде; но тут другая проблема,попытались понять почему не все цвета горят,стали перебивать их значеня в скетче,перезагрузили,в итоге оказалось так,будто программа не реагирует на изменения значения цвета(
Эта ошибка означает, что контроллер не отвечает при прошивке. Выставите правильный com-порт Сколько можно повторять одно и то же? Покажите же уже наконец код!
#include <OneWire.h> #define PIN_BUTTON_BLACK 0 #define PIN_BUTTON_GREEN 1 #define PIN_BUTTON_WHITE 2 #define PIN_PHOTOSENSOR A0 #define PIN_LED_RED 3 #define PIN_LED_GREEN 6 #define PIN_LED_BLUE 5 #define PIN_THERMAL_SENSOR 7 #define PIN_BUZZER 9 #define STATE_WAITING 0 #define STATE_COOLING_DOWN 1 #define STATE_WAITING_CAP 2 #define STATE_TIMER 3 #define TEMP_BLACK 90 #define TEMP_GREEN 70 #define TEMP_WHITE 65 #define MODE_NONE 0 #define MODE_BLACK 1 #define MODE_GREEN 2 #define MODE_WHITE 3 #define TIMER_BLACK_MIN 5 #define TIMER_GREEN_MIN 3 #define TIMER_WHITE_MIN 5 #define PHOTOSENSOR_THRESHOLD 300 OneWire ds(10); int state = STATE_WAITING; int temp_limit = TEMP_BLACK; int selected_mode = MODE_NONE; void ledColor(int r, int g, int b) { analogWrite(PIN_LED_RED, r); analogWrite(PIN_LED_GREEN, g); analogWrite(PIN_LED_BLUE, b); } void ledColor(int r, int g, int b, int a) { analogWrite(PIN_LED_RED, (r*a)/256); analogWrite(PIN_LED_GREEN, (g*a)/256); analogWrite(PIN_LED_BLUE, (b*a)/256); } bool buttonPressed(int pin) { bool result = !digitalRead(pin); if (result) delay(500); return result; } int getTemperature() { byte data[2]; ds.reset(); ds.write(0xCC); ds.write(0x44); delay(750); ds.reset(); ds.write(0xCC); ds.write(0xBE); data[0] = ds.read(); data[1] = ds.read(); int temp = (data[1]<<8)+data[0]; temp = temp>>4; return temp; } bool isCapOpen() { return (analogRead(PIN_PHOTOSENSOR)>PHOTOSENSOR_THRESHOLD); } void setup() { pinMode(PIN_LED_RED, OUTPUT); pinMode(PIN_LED_GREEN, OUTPUT); pinMode(PIN_LED_BLUE, OUTPUT); ledColor(255,255,255); } void loop() { switch (state) { default: case STATE_WAITING: { if (buttonPressed(PIN_BUTTON_BLACK)) { ledColor(255,0,255); temp_limit = TEMP_BLACK; selected_mode = MODE_BLACK; } else if (buttonPressed(PIN_BUTTON_GREEN)) { ledColor(0,255,0); temp_limit = TEMP_GREEN; selected_mode = MODE_GREEN; } else if (buttonPressed(PIN_BUTTON_WHITE)) { ledColor(255,255,0); temp_limit = TEMP_WHITE; selected_mode = MODE_WHITE; } if (MODE_NONE!=selected_mode) { state = STATE_COOLING_DOWN; } break; } case STATE_COOLING_DOWN: { int temp = getTemperature(); if (temp <= temp_limit) { tone(PIN_BUZZER, 4000, 500); delay(500); tone(PIN_BUZZER, 4000, 500); delay(500); tone(PIN_BUZZER, 4000, 500); state = STATE_WAITING_CAP; } break; } case STATE_WAITING_CAP: { if (!isCapOpen()) { state = STATE_TIMER; } break; } case STATE_TIMER: { switch (selected_mode) { case MODE_BLACK: { delay(60000*(long int)TIMER_BLACK_MIN); break; } case MODE_GREEN: { delay(60000*(long int)TIMER_GREEN_MIN); break; } case MODE_WHITE: { delay(60000*(long int)TIMER_WHITE_MIN); break; } } tone(PIN_BUZZER, 4000, 500); delay(500); tone(PIN_BUZZER, 4000, 500); delay(500); tone(PIN_BUZZER, 4000, 500); selected_mode = MODE_NONE; state = STATE_WAITING; ledColor(255,255,255); break; } } }
Это следует из того, что в правом нижнем углу Arduino IDE написано «Arduino Uno on COMX», или из того, что в меню «Сервис»→«Последовательный порт» выставлен правильный COM—порт? Правильный ответ: в меню «Сервис»→«Последовательный порт» выставлен правильный COM—порт http://wiki.amperka.ru/arduino-быстрый-старт:start
Отдельно красный если запустить, работает? У меня были сомнения по поводу одновременной работы tone и analogWrite на 3-м порту