The ForceTronics blog provides tutorials on creating fun and unique electronic projects. The goal of each project will be to create a foundation or jumping off point for amateur, hobbyist, and professional engineers to build on and innovate. Please use the comments section for questions and go to forcetronics.com for information on forcetronics consulting services.
In this three part series we look at how to design a signal conditioning circuit to increase the accuracy and resolution of your ADC measurements. The signal conditioning circuit consists of a double pole active Sallen Key Low Pass Filter and a non-inverting op amp. The filter portion is meant to attenuate high frequency noise from your sensor signal to increase measurement accuracy. The amplifier portion scales the signal up to the full range of the ADC to ensure you are getting max resolution.
In this video we look at how you can access six additional digital pins from your Arduino Zero board. We also take a look at some flexible wired communication options you can take advantage of on the Arduino Zero.
Link to Adafruit tutorial referenced in the video: https://learn.adafruit.com/using-atsamd21-sercom-to-add-more-spi-i2c-serial-ports/creating-a-new-serial
Path on Windows to get to variants.cpp: C:\Users\yourname\AppData\Local\Arduino15\packages\arduino\hardware\samd\1.6.6
Zero pin out chart from video:
//**********************Arduino Code from the video*********************
//This code is free to use and modify at your own risk
bool tog = false; //used to toggle LEDs on and off
void setup() {
pinMode(38,OUTPUT); //This is the pin labeled "ATN"
pinMode(22,OUTPUT); //This is MISO pin on ICSP header
pinMode(20,OUTPUT); //This is SDA pin
SerialUSB.begin(57600); //this is the native USB port
Serial.begin(57600); //this is the programming port
Serial1.begin(57600); //this is for pins D0 and D1
}
void loop() {
if(tog) { //set each of the pins to high to turn LEDs on
digitalWrite(38,HIGH);
digitalWrite(22,HIGH);
digitalWrite(20,HIGH);
tog = false;
}
else { //set each pin to low to turn them off
digitalWrite(38,LOW);
digitalWrite(22,LOW);
digitalWrite(20,LOW);
tog = true;
}