RGB Не отображает красный цвет при использовании ЖК-дисплея

Я тестировал свой RGB (общий анод) самостоятельно, играя с цветами, и получил красный, зеленый, чтобы работать по желанию.

Однако, когда я подключил свою LCD-плату к своему Arduino Uno, а также к RGB (используя тот же самый код и те же выходные выводы, чтобы я знал, что код не является проблемой), RGB больше не отображается красным.

Я предполагаю, что это имеет какое-то отношение к флуктуирующему напряжению /току после того, как я положил его на ЖК-дисплей, но я не могу решить, как его решить. Когда он должен быть красным, это просто ничего, не загорается, зеленый все же работает.

#include <LiquidCrystal.h>
#define COMMON_ANODE
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
int SelectCounter = 0;
int hours = 0; // start hours
int minutes = 0; //start min
int seconds = 5; //start seconds
int redPin = A1;
int greenPin = 2;
int bluePin = 3;
int digitposition = 0;
int readkey;
int speaker = A5;
int buttonPin = A4;
int buttonPushCounter = 0;   // counter for the number of button presses
int buttonState = 0;         // current state of the button
int lastButtonState = 0; 

void setup() {
pinMode(speaker, OUTPUT);
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT); 
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}

void loop() {
noTone(speaker);
setColor(0, 0, 255); // red

....... }

void trigger() {
  lcd.clear(); // clears the screen and buffer
 lcd.setCursor(6,0);
 lcd.println("MUM:      ");
 lcd.setCursor(4, 1); // set timer position on lcd for end.
 lcd.println("WAKE UP!    ");
 tone(speaker, 10);
 setColor(0, 255, 0);  // green
 delay(500);
 digitalWrite(A1, HIGH);
 digitalWrite(2, HIGH);
 digitalWrite(3, HIGH);
 noTone(speaker);
 delay(500); 
 lcd.display();
 }

void setColor(int red, int green, int blue)
{
  #ifdef COMMON_ANODE
   red = 255 - red;
   green = 255 - green;
   blue = 255 - blue;
 #endif
  analogWrite(redPin, red);
  analogWrite(greenPin, green);
  analogWrite(bluePin, blue);  
}
1 голос | спросил Angus Ryan 15 MaramThu, 15 Mar 2018 10:43:37 +03002018-03-15T10:43:37+03:0010 2018, 10:43:37

1 ответ


1

Только контакты со ~ рядом с ним - штырьки PWM. Штырь, подключенный к красному светодиоду, штырь A1, не поддерживает PWM, поэтому analogWrite не будет иметь желаемого эффекта.

ответил Gerben 15 MarpmThu, 15 Mar 2018 18:52:21 +03002018-03-15T18:52:21+03:0006 2018, 18:52:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132