parent
f50640faca
commit
8109013e0b
|
@ -0,0 +1,50 @@
|
||||||
|
#include <Wire.h> // I2C-Headerdatei
|
||||||
|
|
||||||
|
const int adcPin = A0; // ADC-Pin
|
||||||
|
//const int toggleDelay = 0.1; // Verzögerung zwischen dem Umschalten der Bits, in Mikrosekunden
|
||||||
|
const int bufferSize = 8 * sizeof(uint32_t);
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Wire.begin(8); // I2C-Verbindung initialisieren
|
||||||
|
analogReadResolution(12);
|
||||||
|
//Serial.begin(9600);
|
||||||
|
|
||||||
|
//Wire.onReceive(receiveData);
|
||||||
|
//Wire.onRequest(sendData);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*void sendData() {
|
||||||
|
Wire.write(0xFF);
|
||||||
|
Serial.write(0xFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
void receiveData(int count) {
|
||||||
|
Serial.write('r');
|
||||||
|
}*/
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
uint32_t buffer[8] = {0};
|
||||||
|
uint8_t bitCount = 0;
|
||||||
|
|
||||||
|
for (int i = 0; i < 8; i++) {
|
||||||
|
uint32_t randomValue = 0;
|
||||||
|
|
||||||
|
while (bitCount < 32) {
|
||||||
|
uint16_t adcValue = analogRead(adcPin);
|
||||||
|
uint32_t newBit = adcValue & 0x01;
|
||||||
|
randomValue = (randomValue << 1) | newBit;
|
||||||
|
bitCount++;
|
||||||
|
//delay(toggleDelay);
|
||||||
|
}
|
||||||
|
|
||||||
|
buffer[i] = randomValue;
|
||||||
|
bitCount = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Wire.beginTransmission(8); // I2C-Übertragung an Geräteadresse 8 starten
|
||||||
|
for (int i = 0; i < 8; i++) {
|
||||||
|
Wire.write((byte*)&buffer[i], sizeof(buffer[i])); // Daten über I2C-Bus senden
|
||||||
|
}
|
||||||
|
Wire.endTransmission(); // I2C-Übertragung beenden */
|
||||||
|
}
|
Loading…
Reference in New Issue