Byte2bool

Schwierigkeit des Projekts: leicht ()

Auf dem Arduino erhöht sich der Wert von einem Byte pro Zyklus. Wenn es sein Maximum erreicht, läuft es über und beginnt erneut zu zählen. Das Byte besteht aus Bits, und Änderungen in ihren Werten können angezeigt werden, indem sie auf das Breadboard geschaltet werden. Es hat acht LEDs mit acht Schutzwiderstände.

Die Funktion Serial.print verwendet die Pins 1 und 2 für die serielle Kommunikation, sodass Sie Signale von Pin 3 für das Programm verwenden können.

Pins müssen als digitaler Ausgangskanal deklariert werden. Das Projekt zeigt deutlich, dass sich das niedrigste lokale 0-Bit am schnellsten ändert. Der Programmlauf kann durch Ändern der "delay ()" Zeit geändert werden.

Arduino kids projekt: Byte2bool 1Arduino kids projekt: Byte2bool 2

Arduino UNO Board
Breadboard
Acht Drähte (möglicherweise gebündelt) Vater-Vater-Typ
+ein Draht Vater-Vater-Typ
8 LEDs
8 Schutzwiderstände (1-5 kΩ)

Die längeren (Kathode; +) Füsse der LEDs müssen jeweils an Pin2 .. Pin9 angeschlossen werden. Die Widerstände sind mit den Schutzwiderständen an die kürzeren Füsse der LEDs (Anoden; GND) anzuschließen. Die anderen Füsse der Widerstände müssen mit der gemeinsamen Masse (GND) verbunden sein.

Byte2bool Projektverdrahtung

// Auf dem Arduino erhöht sich der Wert von einem Byte pro Zyklus. 
// Wenn es sein Maximum erreicht, läuft es über und beginnt erneut zu zählen. 
// Das Byte besteht aus Bits, und Änderungen in ihren Werten können angezeigt werden, 
// indem sie auf das Breadboard geschaltet werden. Es hat acht LEDs mit acht Schutzwiderstände.
 
// ob121.com, Arduino Projekts, byte2bool
 
#define byteBit0 2  // pin 2: a byte 0. bit
#define byteBit1 3  // pin 3: a byte 1. bit
#define byteBit2 4  // pin 4: a byte 2. bit
#define byteBit3 5  // pin 5: a byte 3. bit
#define byteBit4 6  // pin 6: a byte 4. bit
#define byteBit5 7  // pin 7: a byte 5. bit
#define byteBit6 8  // pin 8: a byte 6. bit
#define byteBit7 9  // pin 9: a byte 7. bit
 
byte rechnen;        // "Rechner" Byte                 
 
void setup() {                   // Setup block, wird nur einmal ausgeführt
  Serial.begin(9600);            // serielle Kommunikationsgeschwindigkeit 
                                 // : Dies muss auch am Monitor eingestellt werden!
  rechnen = 0;                   // Das Byte beginnt bei 0
  pinMode(byteBit0, OUTPUT);     // Pins als Ausgang definieren,
  pinMode(byteBit1, OUTPUT);     
  pinMode(byteBit2, OUTPUT);
  pinMode(byteBit3, OUTPUT);  
  pinMode(byteBit4, OUTPUT);
  pinMode(byteBit5, OUTPUT);
  pinMode(byteBit6, OUTPUT);
  pinMode(byteBit7, OUTPUT);      
}
 
void loop() {                    // zyklische Ausführung
 
  rechnen++;                      // Inkrementieren des Inhalts des Bytes mit 1
 
  digitalWrite(byteBit0,(bitRead (rechnen, 0)));     // "druckt" ein Bit des Bytes
  digitalWrite(byteBit1,(bitRead (rechnen, 1)));     
  digitalWrite(byteBit2,(bitRead (rechnen, 2)));
  digitalWrite(byteBit3,(bitRead (rechnen, 3)));
  digitalWrite(byteBit4,(bitRead (rechnen, 4)));
  digitalWrite(byteBit5,(bitRead (rechnen, 5)));
  digitalWrite(byteBit6,(bitRead (rechnen, 6)));
  digitalWrite(byteBit7,(bitRead (rechnen, 7)));  
 
  Serial.print("\n");                               // "Neue Zeile" für den seriellen Monitor
  Serial.print(rechnen);                             // Drucken den Byte-Inhalt auf dem seriellen Monitor
  delay(100);                                       // Wartezeit (0.1 Sekunde)
}                                                   

>> Zurück zur Liste der Arduino-Projekte